Do not inject TopDownAnalysisContext into ScriptBodyResolver
This commit is contained in:
@@ -263,7 +263,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
|||||||
|
|
||||||
functionAnalyzerExtension.setTrace(bindingTrace);
|
functionAnalyzerExtension.setTrace(bindingTrace);
|
||||||
|
|
||||||
scriptBodyResolver.setContext(topDownAnalysisContext);
|
|
||||||
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
|
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
|
||||||
scriptBodyResolver.setTrace(bindingTrace);
|
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.DeclarationsChecker;
|
||||||
import org.jetbrains.jet.lang.resolve.FunctionAnalyzerExtension;
|
import org.jetbrains.jet.lang.resolve.FunctionAnalyzerExtension;
|
||||||
import org.jetbrains.jet.lang.resolve.ScriptBodyResolver;
|
import org.jetbrains.jet.lang.resolve.ScriptBodyResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import javax.annotation.PreDestroy;
|
import javax.annotation.PreDestroy;
|
||||||
|
|
||||||
@@ -80,7 +79,6 @@ public class InjectorForBodyResolve {
|
|||||||
private final DeclarationsChecker declarationsChecker;
|
private final DeclarationsChecker declarationsChecker;
|
||||||
private final FunctionAnalyzerExtension functionAnalyzerExtension;
|
private final FunctionAnalyzerExtension functionAnalyzerExtension;
|
||||||
private final ScriptBodyResolver scriptBodyResolver;
|
private final ScriptBodyResolver scriptBodyResolver;
|
||||||
private final TopDownAnalysisContext topDownAnalysisContext;
|
|
||||||
|
|
||||||
public InjectorForBodyResolve(
|
public InjectorForBodyResolve(
|
||||||
@NotNull Project project,
|
@NotNull Project project,
|
||||||
@@ -116,7 +114,6 @@ public class InjectorForBodyResolve {
|
|||||||
this.declarationsChecker = new DeclarationsChecker();
|
this.declarationsChecker = new DeclarationsChecker();
|
||||||
this.functionAnalyzerExtension = new FunctionAnalyzerExtension();
|
this.functionAnalyzerExtension = new FunctionAnalyzerExtension();
|
||||||
this.scriptBodyResolver = new ScriptBodyResolver();
|
this.scriptBodyResolver = new ScriptBodyResolver();
|
||||||
this.topDownAnalysisContext = new TopDownAnalysisContext(topDownAnalysisParameters);
|
|
||||||
|
|
||||||
this.bodyResolver.setAnnotationResolver(annotationResolver);
|
this.bodyResolver.setAnnotationResolver(annotationResolver);
|
||||||
this.bodyResolver.setCallResolver(callResolver);
|
this.bodyResolver.setCallResolver(callResolver);
|
||||||
@@ -184,7 +181,6 @@ public class InjectorForBodyResolve {
|
|||||||
|
|
||||||
functionAnalyzerExtension.setTrace(bindingTrace);
|
functionAnalyzerExtension.setTrace(bindingTrace);
|
||||||
|
|
||||||
scriptBodyResolver.setContext(topDownAnalysisContext);
|
|
||||||
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
|
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
|
||||||
scriptBodyResolver.setTrace(bindingTrace);
|
scriptBodyResolver.setTrace(bindingTrace);
|
||||||
|
|
||||||
|
|||||||
@@ -218,7 +218,6 @@ public class InjectorForTopDownAnalyzerBasic {
|
|||||||
|
|
||||||
functionAnalyzerExtension.setTrace(bindingTrace);
|
functionAnalyzerExtension.setTrace(bindingTrace);
|
||||||
|
|
||||||
scriptBodyResolver.setContext(topDownAnalysisContext);
|
|
||||||
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
|
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
|
||||||
scriptBodyResolver.setTrace(bindingTrace);
|
scriptBodyResolver.setTrace(bindingTrace);
|
||||||
|
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ public class BodyResolver {
|
|||||||
|
|
||||||
resolveFunctionBodies(c);
|
resolveFunctionBodies(c);
|
||||||
|
|
||||||
scriptBodyResolverResolver.resolveScriptBodies();
|
scriptBodyResolverResolver.resolveScriptBodies(c);
|
||||||
|
|
||||||
if (!topDownAnalysisParameters.isDeclaredLocally()) {
|
if (!topDownAnalysisParameters.isDeclaredLocally()) {
|
||||||
computeDeferredTypes();
|
computeDeferredTypes();
|
||||||
|
|||||||
@@ -42,16 +42,12 @@ import static org.jetbrains.jet.lang.types.TypeUtils.NO_EXPECTED_TYPE;
|
|||||||
|
|
||||||
public class ScriptBodyResolver {
|
public class ScriptBodyResolver {
|
||||||
|
|
||||||
@NotNull
|
|
||||||
private TopDownAnalysisContext context;
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private ExpressionTypingServices expressionTypingServices;
|
private ExpressionTypingServices expressionTypingServices;
|
||||||
@NotNull
|
@NotNull
|
||||||
private BindingTrace trace;
|
private BindingTrace trace;
|
||||||
|
|
||||||
@Inject
|
|
||||||
public void setContext(@NotNull TopDownAnalysisContext context) {
|
public void setContext(@NotNull TopDownAnalysisContext context) {
|
||||||
this.context = context;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@@ -66,11 +62,11 @@ public class ScriptBodyResolver {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void resolveScriptBodies() {
|
public void resolveScriptBodies(@NotNull BodiesResolveContext c) {
|
||||||
for (Map.Entry<JetScript, ScriptDescriptor> e : context.getScripts().entrySet()) {
|
for (Map.Entry<JetScript, ScriptDescriptor> e : c.getScripts().entrySet()) {
|
||||||
JetScript declaration = e.getKey();
|
JetScript declaration = e.getKey();
|
||||||
ScriptDescriptor descriptor = e.getValue();
|
ScriptDescriptor descriptor = e.getValue();
|
||||||
WritableScope scope = context.getScriptScopes().get(declaration);
|
WritableScope scope = c.getScriptScopes().get(declaration);
|
||||||
|
|
||||||
// TODO: lock in resolveScriptDeclarations
|
// TODO: lock in resolveScriptDeclarations
|
||||||
scope.changeLockLevel(WritableScope.LockLevel.READING);
|
scope.changeLockLevel(WritableScope.LockLevel.READING);
|
||||||
|
|||||||
@@ -218,7 +218,6 @@ public class InjectorForTopDownAnalyzerForJs {
|
|||||||
|
|
||||||
functionAnalyzerExtension.setTrace(bindingTrace);
|
functionAnalyzerExtension.setTrace(bindingTrace);
|
||||||
|
|
||||||
scriptBodyResolver.setContext(topDownAnalysisContext);
|
|
||||||
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
|
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
|
||||||
scriptBodyResolver.setTrace(bindingTrace);
|
scriptBodyResolver.setTrace(bindingTrace);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user