diff --git a/.idea/inspectionProfiles/idea_default.xml b/.idea/inspectionProfiles/idea_default.xml
index 23bae163cd7..6c2f8ad45ac 100644
--- a/.idea/inspectionProfiles/idea_default.xml
+++ b/.idea/inspectionProfiles/idea_default.xml
@@ -410,6 +410,9 @@
+
diff --git a/.idea/runConfigurations/Js_backend_tests.xml b/.idea/runConfigurations/Js_backend_tests.xml
index f743bf7dde6..95f27eae686 100644
--- a/.idea/runConfigurations/Js_backend_tests.xml
+++ b/.idea/runConfigurations/Js_backend_tests.xml
@@ -26,8 +26,6 @@
-
-
-
+
\ No newline at end of file
diff --git a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java
index 5f98e0cdbbe..fa918fa82e8 100644
--- a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java
+++ b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java
@@ -17,16 +17,42 @@
package org.jetbrains.jet.di;
+import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
+import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
+import org.jetbrains.jet.lang.resolve.BodyResolver;
+import org.jetbrains.jet.lang.resolve.ControlFlowAnalyzer;
+import org.jetbrains.jet.lang.resolve.DeclarationsChecker;
+import org.jetbrains.jet.lang.resolve.DescriptorResolver;
import com.intellij.openapi.project.Project;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory;
+import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
+import org.jetbrains.jet.lang.resolve.ObservableBindingTrace;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
-import org.jetbrains.jet.lang.resolve.*;
+import org.jetbrains.jet.lang.resolve.java.CompilerDependencies;
+import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
+import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration;
+import org.jetbrains.jet.lang.resolve.java.PsiClassFinderForJvm;
+import org.jetbrains.jet.lang.resolve.DeclarationResolver;
+import org.jetbrains.jet.lang.resolve.AnnotationResolver;
import org.jetbrains.jet.lang.resolve.calls.CallResolver;
-import org.jetbrains.jet.lang.resolve.calls.OverloadingConflictResolver;
-import org.jetbrains.jet.lang.resolve.java.*;
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
-
+import org.jetbrains.jet.lang.resolve.TypeResolver;
+import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
+import org.jetbrains.jet.lang.resolve.calls.OverloadingConflictResolver;
+import org.jetbrains.jet.lang.resolve.ImportsResolver;
+import org.jetbrains.jet.lang.resolve.DelegationResolver;
+import org.jetbrains.jet.lang.resolve.NamespaceFactoryImpl;
+import org.jetbrains.jet.lang.resolve.OverloadResolver;
+import org.jetbrains.jet.lang.resolve.OverrideResolver;
+import org.jetbrains.jet.lang.resolve.TypeHierarchyResolver;
+import org.jetbrains.jet.lang.resolve.java.JavaSemanticServices;
+import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
+import org.jetbrains.jet.lang.resolve.java.JavaTypeTransformer;
+import com.intellij.openapi.project.Project;
+import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
+import org.jetbrains.jet.lang.resolve.ObservableBindingTrace;
+import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
+import org.jetbrains.jet.lang.resolve.java.CompilerDependencies;
+import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.di.AllInjectorsGenerator. DO NOT EDIT! */
@@ -42,7 +68,6 @@ public class InjectorForTopDownAnalyzerForJvm {
private final TopDownAnalysisParameters topDownAnalysisParameters;
private final ObservableBindingTrace observableBindingTrace;
private final ModuleDescriptor moduleDescriptor;
- private final JetControlFlowDataTraceFactory jetControlFlowDataTraceFactory;
private final CompilerDependencies compilerDependencies;
private CompilerSpecialMode compilerSpecialMode;
private JavaBridgeConfiguration javaBridgeConfiguration;
@@ -69,7 +94,6 @@ public class InjectorForTopDownAnalyzerForJvm {
@NotNull TopDownAnalysisParameters topDownAnalysisParameters,
@NotNull ObservableBindingTrace observableBindingTrace,
@NotNull ModuleDescriptor moduleDescriptor,
- JetControlFlowDataTraceFactory jetControlFlowDataTraceFactory,
@NotNull CompilerDependencies compilerDependencies
) {
this.topDownAnalyzer = new TopDownAnalyzer();
@@ -82,7 +106,6 @@ public class InjectorForTopDownAnalyzerForJvm {
this.topDownAnalysisParameters = topDownAnalysisParameters;
this.observableBindingTrace = observableBindingTrace;
this.moduleDescriptor = moduleDescriptor;
- this.jetControlFlowDataTraceFactory = jetControlFlowDataTraceFactory;
this.compilerDependencies = compilerDependencies;
this.compilerSpecialMode = compilerDependencies.getCompilerSpecialMode();
this.javaBridgeConfiguration = new JavaBridgeConfiguration();
@@ -126,7 +149,6 @@ public class InjectorForTopDownAnalyzerForJvm {
this.bodyResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
this.bodyResolver.setTrace(observableBindingTrace);
- this.controlFlowAnalyzer.setFlowDataTraceFactory(jetControlFlowDataTraceFactory);
this.controlFlowAnalyzer.setTopDownAnalysisParameters(topDownAnalysisParameters);
this.controlFlowAnalyzer.setTrace(observableBindingTrace);
diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AnalyzerFacadeForJVM.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AnalyzerFacadeForJVM.java
index 75e2cf1db01..5b14ec0e973 100644
--- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AnalyzerFacadeForJVM.java
+++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AnalyzerFacadeForJVM.java
@@ -24,7 +24,6 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
import org.jetbrains.jet.analyzer.AnalyzerFacade;
import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm;
-import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.*;
@@ -50,9 +49,8 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
@NotNull
public AnalyzeExhaust analyzeFiles(@NotNull Project project,
@NotNull Collection files,
- @NotNull Predicate filesToAnalyzeCompletely,
- @NotNull JetControlFlowDataTraceFactory flowDataTraceFactory) {
- return analyzeFilesWithJavaIntegration(project, files, filesToAnalyzeCompletely, flowDataTraceFactory,
+ @NotNull Predicate filesToAnalyzeCompletely) {
+ return analyzeFilesWithJavaIntegration(project, files, filesToAnalyzeCompletely,
compilerDependenciesForProduction(CompilerSpecialMode.REGULAR), true);
}
@@ -60,22 +58,19 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
@Override
public AnalyzeExhaust analyzeBodiesInFiles(@NotNull Project project,
@NotNull Predicate filesForBodiesResolve,
- @NotNull JetControlFlowDataTraceFactory flowDataTraceFactory,
@NotNull BindingTrace headersTraceContext,
@NotNull BodiesResolveContext bodiesResolveContext
) {
return analyzeBodiesInFilesWithJavaIntegration(
- project, filesForBodiesResolve, flowDataTraceFactory,
- compilerDependenciesForProduction(CompilerSpecialMode.REGULAR),
+ project, filesForBodiesResolve, compilerDependenciesForProduction(CompilerSpecialMode.REGULAR),
headersTraceContext, bodiesResolveContext);
}
public static AnalyzeExhaust analyzeOneFileWithJavaIntegrationAndCheckForErrors(
- JetFile file, JetControlFlowDataTraceFactory flowDataTraceFactory,
- @NotNull CompilerDependencies compilerDependencies) {
+ JetFile file, @NotNull CompilerDependencies compilerDependencies) {
AnalyzingUtils.checkForSyntacticErrors(file);
- AnalyzeExhaust analyzeExhaust = analyzeOneFileWithJavaIntegration(file, flowDataTraceFactory, compilerDependencies);
+ AnalyzeExhaust analyzeExhaust = analyzeOneFileWithJavaIntegration(file, compilerDependencies);
AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext());
@@ -83,24 +78,20 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
}
public static AnalyzeExhaust analyzeOneFileWithJavaIntegration(
- JetFile file, JetControlFlowDataTraceFactory flowDataTraceFactory,
- @NotNull CompilerDependencies compilerDependencies) {
+ JetFile file, @NotNull CompilerDependencies compilerDependencies) {
return analyzeFilesWithJavaIntegration(file.getProject(), Collections.singleton(file),
- Predicates.alwaysTrue(), flowDataTraceFactory, compilerDependencies);
+ Predicates.alwaysTrue(), compilerDependencies);
}
public static AnalyzeExhaust analyzeFilesWithJavaIntegration(
Project project, Collection files, Predicate filesToAnalyzeCompletely,
- JetControlFlowDataTraceFactory flowDataTraceFactory,
@NotNull CompilerDependencies compilerDependencies) {
return analyzeFilesWithJavaIntegration(
- project, files, filesToAnalyzeCompletely,
- flowDataTraceFactory, compilerDependencies, false);
+ project, files, filesToAnalyzeCompletely, compilerDependencies, false);
}
public static AnalyzeExhaust analyzeFilesWithJavaIntegration(
Project project, Collection files, Predicate filesToAnalyzeCompletely,
- JetControlFlowDataTraceFactory flowDataTraceFactory,
@NotNull CompilerDependencies compilerDependencies,
boolean storeContextForBodiesResolve) {
BindingTraceContext bindingTraceContext = new BindingTraceContext();
@@ -112,8 +103,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
InjectorForTopDownAnalyzerForJvm injector = new InjectorForTopDownAnalyzerForJvm(
project, topDownAnalysisParameters,
- new ObservableBindingTrace(bindingTraceContext), owner, flowDataTraceFactory,
- compilerDependencies);
+ new ObservableBindingTrace(bindingTraceContext), owner, compilerDependencies);
try {
injector.getTopDownAnalyzer().analyzeFiles(files);
BodiesResolveContext bodiesResolveContext = storeContextForBodiesResolve ?
@@ -127,7 +117,6 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
public static AnalyzeExhaust analyzeBodiesInFilesWithJavaIntegration(
Project project, Predicate filesToAnalyzeCompletely,
- JetControlFlowDataTraceFactory flowDataTraceFactory,
@NotNull CompilerDependencies compilerDependencies,
@NotNull BindingTrace traceContext,
@NotNull BodiesResolveContext bodiesResolveContext) {
@@ -140,8 +129,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
InjectorForTopDownAnalyzerForJvm injector = new InjectorForTopDownAnalyzerForJvm(
project, topDownAnalysisParameters,
- new ObservableBindingTrace(traceContext), owner, flowDataTraceFactory,
- compilerDependencies);
+ new ObservableBindingTrace(traceContext), owner, compilerDependencies);
try {
injector.getTopDownAnalyzer().doProcessForBodies(bodiesResolveContext);
@@ -157,7 +145,6 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
Project project = files.iterator().next().getProject();
- return analyzeFilesWithJavaIntegration(project, files, Predicates.alwaysFalse(),
- JetControlFlowDataTraceFactory.EMPTY, compilerDependencies);
+ return analyzeFilesWithJavaIntegration(project, files, Predicates.alwaysFalse(), compilerDependencies);
}
}
diff --git a/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerFacade.java b/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerFacade.java
index a80a65f787f..b5fd8f9768a 100644
--- a/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerFacade.java
+++ b/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerFacade.java
@@ -20,7 +20,6 @@ import com.google.common.base.Predicate;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
-import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.BindingTrace;
import org.jetbrains.jet.lang.resolve.BodiesResolveContext;
@@ -35,13 +34,11 @@ public interface AnalyzerFacade {
@NotNull
AnalyzeExhaust analyzeFiles(@NotNull Project project,
@NotNull Collection files,
- @NotNull Predicate filesToAnalyzeCompletely,
- @NotNull JetControlFlowDataTraceFactory flowDataTraceFactory);
+ @NotNull Predicate filesToAnalyzeCompletely);
@NotNull
AnalyzeExhaust analyzeBodiesInFiles(@NotNull Project project,
@NotNull Predicate filesForBodiesResolve,
- @NotNull JetControlFlowDataTraceFactory flowDataTraceFactory,
@NotNull BindingTrace traceContext,
@NotNull BodiesResolveContext bodiesResolveContext);
}
diff --git a/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java b/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java
index 843ec10293a..6dda0b5f2e6 100644
--- a/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java
+++ b/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java
@@ -17,16 +17,36 @@
package org.jetbrains.jet.di;
+import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
+import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
+import org.jetbrains.jet.lang.resolve.BodyResolver;
+import org.jetbrains.jet.lang.resolve.ControlFlowAnalyzer;
+import org.jetbrains.jet.lang.resolve.DeclarationsChecker;
+import org.jetbrains.jet.lang.resolve.DescriptorResolver;
import com.intellij.openapi.project.Project;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.jet.lang.ModuleConfiguration;
-import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory;
+import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
+import org.jetbrains.jet.lang.resolve.ObservableBindingTrace;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
-import org.jetbrains.jet.lang.resolve.*;
+import org.jetbrains.jet.lang.ModuleConfiguration;
+import org.jetbrains.jet.lang.resolve.DeclarationResolver;
+import org.jetbrains.jet.lang.resolve.AnnotationResolver;
import org.jetbrains.jet.lang.resolve.calls.CallResolver;
-import org.jetbrains.jet.lang.resolve.calls.OverloadingConflictResolver;
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
-
+import org.jetbrains.jet.lang.resolve.TypeResolver;
+import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
+import org.jetbrains.jet.lang.resolve.calls.OverloadingConflictResolver;
+import org.jetbrains.jet.lang.resolve.ImportsResolver;
+import org.jetbrains.jet.lang.resolve.DelegationResolver;
+import org.jetbrains.jet.lang.resolve.NamespaceFactoryImpl;
+import org.jetbrains.jet.lang.resolve.OverloadResolver;
+import org.jetbrains.jet.lang.resolve.OverrideResolver;
+import org.jetbrains.jet.lang.resolve.TypeHierarchyResolver;
+import com.intellij.openapi.project.Project;
+import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
+import org.jetbrains.jet.lang.resolve.ObservableBindingTrace;
+import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
+import org.jetbrains.jet.lang.ModuleConfiguration;
+import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.di.AllInjectorsGenerator. DO NOT EDIT! */
@@ -42,7 +62,6 @@ public class InjectorForTopDownAnalyzerBasic {
private final TopDownAnalysisParameters topDownAnalysisParameters;
private final ObservableBindingTrace observableBindingTrace;
private final ModuleDescriptor moduleDescriptor;
- private final JetControlFlowDataTraceFactory jetControlFlowDataTraceFactory;
private final ModuleConfiguration moduleConfiguration;
private DeclarationResolver declarationResolver;
private AnnotationResolver annotationResolver;
@@ -63,7 +82,6 @@ public class InjectorForTopDownAnalyzerBasic {
@NotNull TopDownAnalysisParameters topDownAnalysisParameters,
@NotNull ObservableBindingTrace observableBindingTrace,
@NotNull ModuleDescriptor moduleDescriptor,
- JetControlFlowDataTraceFactory jetControlFlowDataTraceFactory,
@NotNull ModuleConfiguration moduleConfiguration
) {
this.topDownAnalyzer = new TopDownAnalyzer();
@@ -76,7 +94,6 @@ public class InjectorForTopDownAnalyzerBasic {
this.topDownAnalysisParameters = topDownAnalysisParameters;
this.observableBindingTrace = observableBindingTrace;
this.moduleDescriptor = moduleDescriptor;
- this.jetControlFlowDataTraceFactory = jetControlFlowDataTraceFactory;
this.moduleConfiguration = moduleConfiguration;
this.declarationResolver = new DeclarationResolver();
this.annotationResolver = new AnnotationResolver();
@@ -114,7 +131,6 @@ public class InjectorForTopDownAnalyzerBasic {
this.bodyResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
this.bodyResolver.setTrace(observableBindingTrace);
- this.controlFlowAnalyzer.setFlowDataTraceFactory(jetControlFlowDataTraceFactory);
this.controlFlowAnalyzer.setTopDownAnalysisParameters(topDownAnalysisParameters);
this.controlFlowAnalyzer.setTrace(observableBindingTrace);
diff --git a/idea/src/org/jetbrains/jet/plugin/project/AnalyzerFacadeWithCache.java b/idea/src/org/jetbrains/jet/plugin/project/AnalyzerFacadeWithCache.java
index dcd3b4bf4d1..4530622e00b 100644
--- a/idea/src/org/jetbrains/jet/plugin/project/AnalyzerFacadeWithCache.java
+++ b/idea/src/org/jetbrains/jet/plugin/project/AnalyzerFacadeWithCache.java
@@ -28,7 +28,6 @@ import com.intellij.psi.util.PsiModificationTracker;
import com.intellij.util.Function;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
-import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory;
import org.jetbrains.jet.lang.diagnostics.DiagnosticUtils;
import org.jetbrains.jet.lang.diagnostics.Errors;
import org.jetbrains.jet.lang.psi.JetFile;
@@ -94,7 +93,6 @@ public final class AnalyzerFacadeWithCache {
AnalyzeExhaust exhaust = AnalyzerFacadeProvider.getAnalyzerFacadeForFile(file).analyzeBodiesInFiles(
file.getProject(),
Predicates.equalTo(file),
- JetControlFlowDataTraceFactory.EMPTY,
new DelegatingBindingTrace(analyzeExhaustHeaders.getBindingContext()),
context);
@@ -137,8 +135,7 @@ public final class AnalyzerFacadeWithCache {
AnalyzeExhaust exhaust = AnalyzerFacadeProvider.getAnalyzerFacadeForFile(fileToCache)
.analyzeFiles(fileToCache.getProject(),
headerFiles,
- Predicates.alwaysFalse(),
- JetControlFlowDataTraceFactory.EMPTY);
+ Predicates.alwaysFalse());
return new Result(exhaust, PsiModificationTracker.OUT_OF_CODE_BLOCK_MODIFICATION_COUNT);
}
diff --git a/idea/src/org/jetbrains/jet/plugin/project/JSAnalyzerFacadeForIDEA.java b/idea/src/org/jetbrains/jet/plugin/project/JSAnalyzerFacadeForIDEA.java
index 78f8a8495df..72807df5609 100644
--- a/idea/src/org/jetbrains/jet/plugin/project/JSAnalyzerFacadeForIDEA.java
+++ b/idea/src/org/jetbrains/jet/plugin/project/JSAnalyzerFacadeForIDEA.java
@@ -22,7 +22,6 @@ import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
import org.jetbrains.jet.analyzer.AnalyzerFacade;
-import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.BindingTrace;
import org.jetbrains.jet.lang.resolve.BodiesResolveContext;
@@ -44,8 +43,7 @@ public enum JSAnalyzerFacadeForIDEA implements AnalyzerFacade {
@Override
public AnalyzeExhaust analyzeFiles(@NotNull Project project,
@NotNull Collection files,
- @NotNull Predicate filesToAnalyzeCompletely,
- @NotNull JetControlFlowDataTraceFactory flowDataTraceFactory) {
+ @NotNull Predicate filesToAnalyzeCompletely) {
return AnalyzerFacadeForJS.analyzeFiles(files, filesToAnalyzeCompletely, new IDEAConfig(project), true);
}
@@ -53,7 +51,6 @@ public enum JSAnalyzerFacadeForIDEA implements AnalyzerFacade {
@Override
public AnalyzeExhaust analyzeBodiesInFiles(@NotNull Project project,
@NotNull Predicate filesForBodiesResolve,
- @NotNull JetControlFlowDataTraceFactory flowDataTraceFactory,
@NotNull BindingTrace traceContext,
@NotNull BodiesResolveContext bodiesResolveContext) {
return AnalyzerFacadeForJS.analyzeBodiesInFiles(filesForBodiesResolve, new IDEAConfig(project), traceContext, bodiesResolveContext);
diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/introduceVariable/JetIntroduceVariableHandler.java b/idea/src/org/jetbrains/jet/plugin/refactoring/introduceVariable/JetIntroduceVariableHandler.java
index 73868932c9d..f3f9779a27e 100644
--- a/idea/src/org/jetbrains/jet/plugin/refactoring/introduceVariable/JetIntroduceVariableHandler.java
+++ b/idea/src/org/jetbrains/jet/plugin/refactoring/introduceVariable/JetIntroduceVariableHandler.java
@@ -37,7 +37,6 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.di.InjectorForMacros;
import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm;
-import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory;
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
import org.jetbrains.jet.lang.psi.*;
diff --git a/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java b/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java
index 61bd7e28bc6..7986b6c610f 100644
--- a/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java
+++ b/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java
@@ -17,16 +17,36 @@
package org.jetbrains.jet.di;
+import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
+import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
+import org.jetbrains.jet.lang.resolve.BodyResolver;
+import org.jetbrains.jet.lang.resolve.ControlFlowAnalyzer;
+import org.jetbrains.jet.lang.resolve.DeclarationsChecker;
+import org.jetbrains.jet.lang.resolve.DescriptorResolver;
import com.intellij.openapi.project.Project;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.jet.lang.ModuleConfiguration;
-import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory;
+import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
+import org.jetbrains.jet.lang.resolve.ObservableBindingTrace;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
-import org.jetbrains.jet.lang.resolve.*;
+import org.jetbrains.jet.lang.ModuleConfiguration;
+import org.jetbrains.jet.lang.resolve.DeclarationResolver;
+import org.jetbrains.jet.lang.resolve.AnnotationResolver;
import org.jetbrains.jet.lang.resolve.calls.CallResolver;
-import org.jetbrains.jet.lang.resolve.calls.OverloadingConflictResolver;
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
-
+import org.jetbrains.jet.lang.resolve.TypeResolver;
+import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
+import org.jetbrains.jet.lang.resolve.calls.OverloadingConflictResolver;
+import org.jetbrains.jet.lang.resolve.ImportsResolver;
+import org.jetbrains.jet.lang.resolve.DelegationResolver;
+import org.jetbrains.jet.lang.resolve.NamespaceFactoryImpl;
+import org.jetbrains.jet.lang.resolve.OverloadResolver;
+import org.jetbrains.jet.lang.resolve.OverrideResolver;
+import org.jetbrains.jet.lang.resolve.TypeHierarchyResolver;
+import com.intellij.openapi.project.Project;
+import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
+import org.jetbrains.jet.lang.resolve.ObservableBindingTrace;
+import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
+import org.jetbrains.jet.lang.ModuleConfiguration;
+import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy;
/* This file is generated by org.jetbrains.jet.di.AllInjectorsGenerator. DO NOT EDIT! */
@@ -42,7 +62,6 @@ public class InjectorForTopDownAnalyzerForJs {
private final TopDownAnalysisParameters topDownAnalysisParameters;
private final ObservableBindingTrace observableBindingTrace;
private final ModuleDescriptor moduleDescriptor;
- private final JetControlFlowDataTraceFactory jetControlFlowDataTraceFactory;
private final ModuleConfiguration moduleConfiguration;
private DeclarationResolver declarationResolver;
private AnnotationResolver annotationResolver;
@@ -63,7 +82,6 @@ public class InjectorForTopDownAnalyzerForJs {
@NotNull TopDownAnalysisParameters topDownAnalysisParameters,
@NotNull ObservableBindingTrace observableBindingTrace,
@NotNull ModuleDescriptor moduleDescriptor,
- JetControlFlowDataTraceFactory jetControlFlowDataTraceFactory,
@NotNull ModuleConfiguration moduleConfiguration
) {
this.topDownAnalyzer = new TopDownAnalyzer();
@@ -76,7 +94,6 @@ public class InjectorForTopDownAnalyzerForJs {
this.topDownAnalysisParameters = topDownAnalysisParameters;
this.observableBindingTrace = observableBindingTrace;
this.moduleDescriptor = moduleDescriptor;
- this.jetControlFlowDataTraceFactory = jetControlFlowDataTraceFactory;
this.moduleConfiguration = moduleConfiguration;
this.declarationResolver = new DeclarationResolver();
this.annotationResolver = new AnnotationResolver();
@@ -114,7 +131,6 @@ public class InjectorForTopDownAnalyzerForJs {
this.bodyResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
this.bodyResolver.setTrace(observableBindingTrace);
- this.controlFlowAnalyzer.setFlowDataTraceFactory(jetControlFlowDataTraceFactory);
this.controlFlowAnalyzer.setTopDownAnalysisParameters(topDownAnalysisParameters);
this.controlFlowAnalyzer.setTrace(observableBindingTrace);
diff --git a/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacadeForJS.java b/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacadeForJS.java
index 1c644c96496..f3927a837a3 100644
--- a/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacadeForJS.java
+++ b/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacadeForJS.java
@@ -28,7 +28,6 @@ import org.jetbrains.jet.analyzer.AnalyzeExhaust;
import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJs;
import org.jetbrains.jet.lang.DefaultModuleConfiguration;
import org.jetbrains.jet.lang.ModuleConfiguration;
-import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
import org.jetbrains.jet.lang.psi.JetFile;
@@ -91,8 +90,7 @@ public final class AnalyzerFacadeForJS {
TopDownAnalysisParameters topDownAnalysisParameters = new TopDownAnalysisParameters(completely, false, false);
InjectorForTopDownAnalyzerForJs injector = new InjectorForTopDownAnalyzerForJs(
- project, topDownAnalysisParameters, new ObservableBindingTrace(bindingTraceContext), owner,
- JetControlFlowDataTraceFactory.EMPTY, JsConfiguration.jsLibConfiguration(project));
+ project, topDownAnalysisParameters, new ObservableBindingTrace(bindingTraceContext), owner, JsConfiguration.jsLibConfiguration(project));
try {
injector.getTopDownAnalyzer().analyzeFiles(withJsLibAdded(files, config));
BodiesResolveContext bodiesResolveContext = storeContextForBodiesResolve ?
@@ -117,8 +115,7 @@ public final class AnalyzerFacadeForJS {
TopDownAnalysisParameters topDownAnalysisParameters = new TopDownAnalysisParameters(completely, false, false);
InjectorForTopDownAnalyzerForJs injector = new InjectorForTopDownAnalyzerForJs(
- project, topDownAnalysisParameters, new ObservableBindingTrace(traceContext), owner,
- JetControlFlowDataTraceFactory.EMPTY, JsConfiguration.jsLibConfiguration(project));
+ project, topDownAnalysisParameters, new ObservableBindingTrace(traceContext), owner, JsConfiguration.jsLibConfiguration(project));
try {
bodiesResolveContext.setTopDownAnalysisParameters(topDownAnalysisParameters);