Do not inject TopDownAnalysisContext into ScriptBodyResolver

This commit is contained in:
Andrey Breslav
2014-02-23 11:08:09 +04:00
parent 5976a91998
commit e3744cff7c
6 changed files with 4 additions and 15 deletions
@@ -263,7 +263,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
functionAnalyzerExtension.setTrace(bindingTrace);
scriptBodyResolver.setContext(topDownAnalysisContext);
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
scriptBodyResolver.setTrace(bindingTrace);
@@ -44,7 +44,6 @@ import org.jetbrains.jet.lang.resolve.ControlFlowAnalyzer;
import org.jetbrains.jet.lang.resolve.DeclarationsChecker;
import org.jetbrains.jet.lang.resolve.FunctionAnalyzerExtension;
import org.jetbrains.jet.lang.resolve.ScriptBodyResolver;
import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy;
@@ -80,7 +79,6 @@ public class InjectorForBodyResolve {
private final DeclarationsChecker declarationsChecker;
private final FunctionAnalyzerExtension functionAnalyzerExtension;
private final ScriptBodyResolver scriptBodyResolver;
private final TopDownAnalysisContext topDownAnalysisContext;
public InjectorForBodyResolve(
@NotNull Project project,
@@ -116,7 +114,6 @@ public class InjectorForBodyResolve {
this.declarationsChecker = new DeclarationsChecker();
this.functionAnalyzerExtension = new FunctionAnalyzerExtension();
this.scriptBodyResolver = new ScriptBodyResolver();
this.topDownAnalysisContext = new TopDownAnalysisContext(topDownAnalysisParameters);
this.bodyResolver.setAnnotationResolver(annotationResolver);
this.bodyResolver.setCallResolver(callResolver);
@@ -184,7 +181,6 @@ public class InjectorForBodyResolve {
functionAnalyzerExtension.setTrace(bindingTrace);
scriptBodyResolver.setContext(topDownAnalysisContext);
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
scriptBodyResolver.setTrace(bindingTrace);
@@ -218,7 +218,6 @@ public class InjectorForTopDownAnalyzerBasic {
functionAnalyzerExtension.setTrace(bindingTrace);
scriptBodyResolver.setContext(topDownAnalysisContext);
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
scriptBodyResolver.setTrace(bindingTrace);
@@ -134,7 +134,7 @@ public class BodyResolver {
resolveFunctionBodies(c);
scriptBodyResolverResolver.resolveScriptBodies();
scriptBodyResolverResolver.resolveScriptBodies(c);
if (!topDownAnalysisParameters.isDeclaredLocally()) {
computeDeferredTypes();
@@ -42,16 +42,12 @@ import static org.jetbrains.jet.lang.types.TypeUtils.NO_EXPECTED_TYPE;
public class ScriptBodyResolver {
@NotNull
private TopDownAnalysisContext context;
@NotNull
private ExpressionTypingServices expressionTypingServices;
@NotNull
private BindingTrace trace;
@Inject
public void setContext(@NotNull TopDownAnalysisContext context) {
this.context = context;
}
@Inject
@@ -66,11 +62,11 @@ public class ScriptBodyResolver {
public void resolveScriptBodies() {
for (Map.Entry<JetScript, ScriptDescriptor> e : context.getScripts().entrySet()) {
public void resolveScriptBodies(@NotNull BodiesResolveContext c) {
for (Map.Entry<JetScript, ScriptDescriptor> e : c.getScripts().entrySet()) {
JetScript declaration = e.getKey();
ScriptDescriptor descriptor = e.getValue();
WritableScope scope = context.getScriptScopes().get(declaration);
WritableScope scope = c.getScriptScopes().get(declaration);
// TODO: lock in resolveScriptDeclarations
scope.changeLockLevel(WritableScope.LockLevel.READING);
@@ -218,7 +218,6 @@ public class InjectorForTopDownAnalyzerForJs {
functionAnalyzerExtension.setTrace(bindingTrace);
scriptBodyResolver.setContext(topDownAnalysisContext);
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
scriptBodyResolver.setTrace(bindingTrace);