From 651108603449b70b508f8ddfa4ce0ff468a29d5f Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Thu, 29 Jan 2015 17:22:28 +0300 Subject: [PATCH] Rename: PartialBodyResolveProvider -> StatementFilter --- .../di/InjectorForLazyResolveWithJava.java | 8 ++--- .../kotlin/di/InjectorForReplWithJava.java | 8 ++--- .../di/InjectorForTopDownAnalyzerForJvm.java | 8 ++--- .../kotlin/di/InjectorForBodyResolve.java | 10 +++--- .../kotlin/di/InjectorForLazyBodyResolve.java | 8 ++--- ...njectorForLazyLocalClassifierAnalyzer.java | 8 ++--- .../kotlin/di/InjectorForLazyResolve.java | 8 ++--- .../InjectorForLazyTopDownAnalyzerBasic.java | 8 ++--- .../kotlin/di/InjectorForMacros.java | 8 ++--- .../kotlin/resolve/AnnotationResolver.java | 2 +- ...yResolveProvider.kt => StatementFilter.kt} | 8 ++--- .../resolve/calls/ArgumentTypeResolver.java | 2 +- .../context/BasicCallResolutionContext.java | 16 ++++----- .../CallCandidateResolutionContext.java | 14 ++++---- .../calls/context/CallResolutionContext.java | 6 ++-- .../calls/context/ResolutionContext.java | 28 +++++++-------- .../context/SimpleResolutionContext.java | 14 ++++---- .../resolve/calls/tasks/ResolutionTask.java | 14 ++++---- .../expressions/ExpressionTypingContext.java | 18 +++++----- .../expressions/ExpressionTypingServices.java | 14 ++++---- .../jetbrains/kotlin/di/InjectorForTests.java | 8 ++--- .../generators/injectors/GenerateInjectors.kt | 2 +- .../kotlin/resolve/lazy/ElementResolver.java | 36 +++++++++---------- .../resolve/lazy/PartialBodyResolveFilter.kt | 4 +-- .../di/InjectorForTopDownAnalyzerForJs.java | 8 ++--- 25 files changed, 134 insertions(+), 134 deletions(-) rename compiler/frontend/src/org/jetbrains/kotlin/resolve/{PartialBodyResolveProvider.kt => StatementFilter.kt} (75%) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForLazyResolveWithJava.java b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForLazyResolveWithJava.java index e92d400f878..510318d44ac 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForLazyResolveWithJava.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForLazyResolveWithJava.java @@ -59,7 +59,7 @@ import org.jetbrains.kotlin.resolve.TypeResolver; import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver; import org.jetbrains.kotlin.types.reflect.ReflectionTypes; import org.jetbrains.kotlin.resolve.calls.CallExpressionResolver; -import org.jetbrains.kotlin.resolve.PartialBodyResolveProvider; +import org.jetbrains.kotlin.resolve.StatementFilter; import org.jetbrains.kotlin.resolve.calls.CallCompleter; import org.jetbrains.kotlin.resolve.calls.CandidateResolver; import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; @@ -124,7 +124,7 @@ public class InjectorForLazyResolveWithJava { private final QualifiedExpressionResolver qualifiedExpressionResolver; private final ReflectionTypes reflectionTypes; private final CallExpressionResolver callExpressionResolver; - private final PartialBodyResolveProvider partialBodyResolveProvider; + private final StatementFilter statementFilter; private final CallCompleter callCompleter; private final CandidateResolver candidateResolver; private final TaskPrioritizer taskPrioritizer; @@ -195,7 +195,7 @@ public class InjectorForLazyResolveWithJava { this.delegatedPropertyResolver = new DelegatedPropertyResolver(); this.reflectionTypes = new ReflectionTypes(module); this.callExpressionResolver = new CallExpressionResolver(); - this.partialBodyResolveProvider = new PartialBodyResolveProvider(); + this.statementFilter = new StatementFilter(); this.candidateResolver = new CandidateResolver(); this.callCompleter = new CallCompleter(argumentTypeResolver, candidateResolver); this.taskPrioritizer = new TaskPrioritizer(storageManager); @@ -259,8 +259,8 @@ public class InjectorForLazyResolveWithJava { expressionTypingServices.setCallExpressionResolver(callExpressionResolver); expressionTypingServices.setCallResolver(callResolver); expressionTypingServices.setDescriptorResolver(descriptorResolver); - expressionTypingServices.setPartialBodyResolveProvider(partialBodyResolveProvider); expressionTypingServices.setProject(project); + expressionTypingServices.setStatementFilter(statementFilter); expressionTypingServices.setTypeResolver(typeResolver); expressionTypingComponents.setAdditionalCheckerProvider(kotlinJvmCheckerProvider); diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForReplWithJava.java b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForReplWithJava.java index 8e9d1956c54..2042291e401 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForReplWithJava.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForReplWithJava.java @@ -63,7 +63,7 @@ import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver; import org.jetbrains.kotlin.context.LazinessToken; import org.jetbrains.kotlin.types.reflect.ReflectionTypes; import org.jetbrains.kotlin.resolve.calls.CallExpressionResolver; -import org.jetbrains.kotlin.resolve.PartialBodyResolveProvider; +import org.jetbrains.kotlin.resolve.StatementFilter; import org.jetbrains.kotlin.resolve.calls.CallCompleter; import org.jetbrains.kotlin.resolve.calls.CandidateResolver; import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; @@ -139,7 +139,7 @@ public class InjectorForReplWithJava { private final LazinessToken lazinessToken; private final ReflectionTypes reflectionTypes; private final CallExpressionResolver callExpressionResolver; - private final PartialBodyResolveProvider partialBodyResolveProvider; + private final StatementFilter statementFilter; private final CallCompleter callCompleter; private final CandidateResolver candidateResolver; private final TaskPrioritizer taskPrioritizer; @@ -223,7 +223,7 @@ public class InjectorForReplWithJava { this.delegatedPropertyResolver = new DelegatedPropertyResolver(); this.reflectionTypes = new ReflectionTypes(module); this.callExpressionResolver = new CallExpressionResolver(); - this.partialBodyResolveProvider = new PartialBodyResolveProvider(); + this.statementFilter = new StatementFilter(); this.candidateResolver = new CandidateResolver(); this.callCompleter = new CallCompleter(argumentTypeResolver, candidateResolver); this.taskPrioritizer = new TaskPrioritizer(storageManager); @@ -309,8 +309,8 @@ public class InjectorForReplWithJava { expressionTypingServices.setCallExpressionResolver(callExpressionResolver); expressionTypingServices.setCallResolver(callResolver); expressionTypingServices.setDescriptorResolver(descriptorResolver); - expressionTypingServices.setPartialBodyResolveProvider(partialBodyResolveProvider); expressionTypingServices.setProject(project); + expressionTypingServices.setStatementFilter(statementFilter); expressionTypingServices.setTypeResolver(typeResolver); expressionTypingComponents.setAdditionalCheckerProvider(kotlinJvmCheckerProvider); diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJvm.java b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJvm.java index a064c3af8c1..dff22a2b9dc 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJvm.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJvm.java @@ -62,7 +62,7 @@ import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver; import org.jetbrains.kotlin.context.LazinessToken; import org.jetbrains.kotlin.types.reflect.ReflectionTypes; import org.jetbrains.kotlin.resolve.calls.CallExpressionResolver; -import org.jetbrains.kotlin.resolve.PartialBodyResolveProvider; +import org.jetbrains.kotlin.resolve.StatementFilter; import org.jetbrains.kotlin.resolve.calls.CallCompleter; import org.jetbrains.kotlin.resolve.calls.CandidateResolver; import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; @@ -138,7 +138,7 @@ public class InjectorForTopDownAnalyzerForJvm { private final LazinessToken lazinessToken; private final ReflectionTypes reflectionTypes; private final CallExpressionResolver callExpressionResolver; - private final PartialBodyResolveProvider partialBodyResolveProvider; + private final StatementFilter statementFilter; private final CallCompleter callCompleter; private final CandidateResolver candidateResolver; private final TaskPrioritizer taskPrioritizer; @@ -221,7 +221,7 @@ public class InjectorForTopDownAnalyzerForJvm { this.delegatedPropertyResolver = new DelegatedPropertyResolver(); this.reflectionTypes = new ReflectionTypes(module); this.callExpressionResolver = new CallExpressionResolver(); - this.partialBodyResolveProvider = new PartialBodyResolveProvider(); + this.statementFilter = new StatementFilter(); this.candidateResolver = new CandidateResolver(); this.callCompleter = new CallCompleter(argumentTypeResolver, candidateResolver); this.taskPrioritizer = new TaskPrioritizer(storageManager); @@ -308,8 +308,8 @@ public class InjectorForTopDownAnalyzerForJvm { expressionTypingServices.setCallExpressionResolver(callExpressionResolver); expressionTypingServices.setCallResolver(callResolver); expressionTypingServices.setDescriptorResolver(descriptorResolver); - expressionTypingServices.setPartialBodyResolveProvider(partialBodyResolveProvider); expressionTypingServices.setProject(project); + expressionTypingServices.setStatementFilter(statementFilter); expressionTypingServices.setTypeResolver(typeResolver); expressionTypingComponents.setAdditionalCheckerProvider(kotlinJvmCheckerProvider); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForBodyResolve.java b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForBodyResolve.java index aa9b0c583a2..8f170709a5e 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForBodyResolve.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForBodyResolve.java @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor; import org.jetbrains.kotlin.builtins.KotlinBuiltIns; import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap; import org.jetbrains.kotlin.resolve.AdditionalCheckerProvider; -import org.jetbrains.kotlin.resolve.PartialBodyResolveProvider; +import org.jetbrains.kotlin.resolve.StatementFilter; import org.jetbrains.kotlin.resolve.BodyResolver; import org.jetbrains.kotlin.resolve.AnnotationResolver; import org.jetbrains.kotlin.resolve.calls.CallResolver; @@ -67,7 +67,7 @@ public class InjectorForBodyResolve { private final KotlinBuiltIns kotlinBuiltIns; private final PlatformToKotlinClassMap platformToKotlinClassMap; private final AdditionalCheckerProvider additionalCheckerProvider; - private final PartialBodyResolveProvider partialBodyResolveProvider; + private final StatementFilter statementFilter; private final BodyResolver bodyResolver; private final AnnotationResolver annotationResolver; private final CallResolver callResolver; @@ -102,7 +102,7 @@ public class InjectorForBodyResolve { @NotNull BindingTrace bindingTrace, @NotNull ModuleDescriptor moduleDescriptor, @NotNull AdditionalCheckerProvider additionalCheckerProvider, - @NotNull PartialBodyResolveProvider partialBodyResolveProvider + @NotNull StatementFilter statementFilter ) { this.project = project; this.globalContext = globalContext; @@ -112,7 +112,7 @@ public class InjectorForBodyResolve { this.kotlinBuiltIns = moduleDescriptor.getBuiltIns(); this.platformToKotlinClassMap = moduleDescriptor.getPlatformToKotlinClassMap(); this.additionalCheckerProvider = additionalCheckerProvider; - this.partialBodyResolveProvider = partialBodyResolveProvider; + this.statementFilter = statementFilter; this.bodyResolver = new BodyResolver(); this.annotationResolver = new AnnotationResolver(); this.callResolver = new CallResolver(); @@ -171,8 +171,8 @@ public class InjectorForBodyResolve { expressionTypingServices.setCallExpressionResolver(callExpressionResolver); expressionTypingServices.setCallResolver(callResolver); expressionTypingServices.setDescriptorResolver(descriptorResolver); - expressionTypingServices.setPartialBodyResolveProvider(partialBodyResolveProvider); expressionTypingServices.setProject(project); + expressionTypingServices.setStatementFilter(statementFilter); expressionTypingServices.setTypeResolver(typeResolver); expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyBodyResolve.java b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyBodyResolve.java index cc7e0e84df3..45ea667df9c 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyBodyResolve.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyBodyResolve.java @@ -50,7 +50,7 @@ import org.jetbrains.kotlin.resolve.TypeResolver.FlexibleTypeCapabilitiesProvide import org.jetbrains.kotlin.context.LazinessToken; import org.jetbrains.kotlin.types.reflect.ReflectionTypes; import org.jetbrains.kotlin.resolve.calls.CallExpressionResolver; -import org.jetbrains.kotlin.resolve.PartialBodyResolveProvider; +import org.jetbrains.kotlin.resolve.StatementFilter; import org.jetbrains.kotlin.resolve.calls.CallCompleter; import org.jetbrains.kotlin.resolve.calls.CandidateResolver; import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; @@ -104,7 +104,7 @@ public class InjectorForLazyBodyResolve { private final LazinessToken lazinessToken; private final ReflectionTypes reflectionTypes; private final CallExpressionResolver callExpressionResolver; - private final PartialBodyResolveProvider partialBodyResolveProvider; + private final StatementFilter statementFilter; private final CallCompleter callCompleter; private final CandidateResolver candidateResolver; private final TaskPrioritizer taskPrioritizer; @@ -160,7 +160,7 @@ public class InjectorForLazyBodyResolve { this.delegatedPropertyResolver = new DelegatedPropertyResolver(); this.reflectionTypes = new ReflectionTypes(moduleDescriptor); this.callExpressionResolver = new CallExpressionResolver(); - this.partialBodyResolveProvider = new PartialBodyResolveProvider(); + this.statementFilter = new StatementFilter(); this.candidateResolver = new CandidateResolver(); this.callCompleter = new CallCompleter(argumentTypeResolver, candidateResolver); this.taskPrioritizer = new TaskPrioritizer(storageManager); @@ -224,8 +224,8 @@ public class InjectorForLazyBodyResolve { expressionTypingServices.setCallExpressionResolver(callExpressionResolver); expressionTypingServices.setCallResolver(callResolver); expressionTypingServices.setDescriptorResolver(descriptorResolver); - expressionTypingServices.setPartialBodyResolveProvider(partialBodyResolveProvider); expressionTypingServices.setProject(project); + expressionTypingServices.setStatementFilter(statementFilter); expressionTypingServices.setTypeResolver(typeResolver); expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyLocalClassifierAnalyzer.java b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyLocalClassifierAnalyzer.java index b19ed42b6b9..0fc6d155bca 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyLocalClassifierAnalyzer.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyLocalClassifierAnalyzer.java @@ -49,7 +49,7 @@ import org.jetbrains.kotlin.resolve.TypeResolver.FlexibleTypeCapabilitiesProvide import org.jetbrains.kotlin.context.LazinessToken; import org.jetbrains.kotlin.types.reflect.ReflectionTypes; import org.jetbrains.kotlin.resolve.calls.CallExpressionResolver; -import org.jetbrains.kotlin.resolve.PartialBodyResolveProvider; +import org.jetbrains.kotlin.resolve.StatementFilter; import org.jetbrains.kotlin.resolve.calls.CallCompleter; import org.jetbrains.kotlin.resolve.calls.CandidateResolver; import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; @@ -102,7 +102,7 @@ public class InjectorForLazyLocalClassifierAnalyzer { private final LazinessToken lazinessToken; private final ReflectionTypes reflectionTypes; private final CallExpressionResolver callExpressionResolver; - private final PartialBodyResolveProvider partialBodyResolveProvider; + private final StatementFilter statementFilter; private final CallCompleter callCompleter; private final CandidateResolver candidateResolver; private final TaskPrioritizer taskPrioritizer; @@ -158,7 +158,7 @@ public class InjectorForLazyLocalClassifierAnalyzer { this.delegatedPropertyResolver = new DelegatedPropertyResolver(); this.reflectionTypes = new ReflectionTypes(module); this.callExpressionResolver = new CallExpressionResolver(); - this.partialBodyResolveProvider = new PartialBodyResolveProvider(); + this.statementFilter = new StatementFilter(); this.candidateResolver = new CandidateResolver(); this.callCompleter = new CallCompleter(argumentTypeResolver, candidateResolver); this.taskPrioritizer = new TaskPrioritizer(storageManager); @@ -219,8 +219,8 @@ public class InjectorForLazyLocalClassifierAnalyzer { expressionTypingServices.setCallExpressionResolver(callExpressionResolver); expressionTypingServices.setCallResolver(callResolver); expressionTypingServices.setDescriptorResolver(descriptorResolver); - expressionTypingServices.setPartialBodyResolveProvider(partialBodyResolveProvider); expressionTypingServices.setProject(project); + expressionTypingServices.setStatementFilter(statementFilter); expressionTypingServices.setTypeResolver(typeResolver); expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyResolve.java b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyResolve.java index 7815f578591..9c4b6feccbe 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyResolve.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyResolve.java @@ -45,7 +45,7 @@ import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver; import org.jetbrains.kotlin.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider; import org.jetbrains.kotlin.types.reflect.ReflectionTypes; import org.jetbrains.kotlin.resolve.calls.CallExpressionResolver; -import org.jetbrains.kotlin.resolve.PartialBodyResolveProvider; +import org.jetbrains.kotlin.resolve.StatementFilter; import org.jetbrains.kotlin.resolve.calls.CallCompleter; import org.jetbrains.kotlin.resolve.calls.CandidateResolver; import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; @@ -90,7 +90,7 @@ public class InjectorForLazyResolve { private final FlexibleTypeCapabilitiesProvider flexibleTypeCapabilitiesProvider; private final ReflectionTypes reflectionTypes; private final CallExpressionResolver callExpressionResolver; - private final PartialBodyResolveProvider partialBodyResolveProvider; + private final StatementFilter statementFilter; private final CallCompleter callCompleter; private final CandidateResolver candidateResolver; private final TaskPrioritizer taskPrioritizer; @@ -138,7 +138,7 @@ public class InjectorForLazyResolve { this.delegatedPropertyResolver = new DelegatedPropertyResolver(); this.reflectionTypes = new ReflectionTypes(moduleDescriptor); this.callExpressionResolver = new CallExpressionResolver(); - this.partialBodyResolveProvider = new PartialBodyResolveProvider(); + this.statementFilter = new StatementFilter(); this.candidateResolver = new CandidateResolver(); this.callCompleter = new CallCompleter(argumentTypeResolver, candidateResolver); this.taskPrioritizer = new TaskPrioritizer(storageManager); @@ -180,8 +180,8 @@ public class InjectorForLazyResolve { expressionTypingServices.setCallExpressionResolver(callExpressionResolver); expressionTypingServices.setCallResolver(callResolver); expressionTypingServices.setDescriptorResolver(descriptorResolver); - expressionTypingServices.setPartialBodyResolveProvider(partialBodyResolveProvider); expressionTypingServices.setProject(project); + expressionTypingServices.setStatementFilter(statementFilter); expressionTypingServices.setTypeResolver(typeResolver); expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyTopDownAnalyzerBasic.java b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyTopDownAnalyzerBasic.java index ea6c837ebc3..2f29800e24b 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyTopDownAnalyzerBasic.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyTopDownAnalyzerBasic.java @@ -46,7 +46,7 @@ import org.jetbrains.kotlin.resolve.TypeResolver.FlexibleTypeCapabilitiesProvide import org.jetbrains.kotlin.context.LazinessToken; import org.jetbrains.kotlin.types.reflect.ReflectionTypes; import org.jetbrains.kotlin.resolve.calls.CallExpressionResolver; -import org.jetbrains.kotlin.resolve.PartialBodyResolveProvider; +import org.jetbrains.kotlin.resolve.StatementFilter; import org.jetbrains.kotlin.resolve.calls.CallCompleter; import org.jetbrains.kotlin.resolve.calls.CandidateResolver; import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; @@ -102,7 +102,7 @@ public class InjectorForLazyTopDownAnalyzerBasic { private final LazinessToken lazinessToken; private final ReflectionTypes reflectionTypes; private final CallExpressionResolver callExpressionResolver; - private final PartialBodyResolveProvider partialBodyResolveProvider; + private final StatementFilter statementFilter; private final CallCompleter callCompleter; private final CandidateResolver candidateResolver; private final TaskPrioritizer taskPrioritizer; @@ -159,7 +159,7 @@ public class InjectorForLazyTopDownAnalyzerBasic { this.delegatedPropertyResolver = new DelegatedPropertyResolver(); this.reflectionTypes = new ReflectionTypes(module); this.callExpressionResolver = new CallExpressionResolver(); - this.partialBodyResolveProvider = new PartialBodyResolveProvider(); + this.statementFilter = new StatementFilter(); this.candidateResolver = new CandidateResolver(); this.callCompleter = new CallCompleter(argumentTypeResolver, candidateResolver); this.taskPrioritizer = new TaskPrioritizer(storageManager); @@ -214,8 +214,8 @@ public class InjectorForLazyTopDownAnalyzerBasic { expressionTypingServices.setCallExpressionResolver(callExpressionResolver); expressionTypingServices.setCallResolver(callResolver); expressionTypingServices.setDescriptorResolver(descriptorResolver); - expressionTypingServices.setPartialBodyResolveProvider(partialBodyResolveProvider); expressionTypingServices.setProject(project); + expressionTypingServices.setStatementFilter(statementFilter); expressionTypingServices.setTypeResolver(typeResolver); expressionTypingComponents.setAdditionalCheckerProvider(defaultProvider); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForMacros.java b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForMacros.java index aa1b0352970..c4409732e8a 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForMacros.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForMacros.java @@ -35,7 +35,7 @@ import org.jetbrains.kotlin.types.DynamicTypesSettings; import org.jetbrains.kotlin.resolve.calls.CallExpressionResolver; import org.jetbrains.kotlin.resolve.DescriptorResolver; import org.jetbrains.kotlin.resolve.DelegatedPropertyResolver; -import org.jetbrains.kotlin.resolve.PartialBodyResolveProvider; +import org.jetbrains.kotlin.resolve.StatementFilter; import org.jetbrains.kotlin.types.expressions.ControlStructureTypingUtils; import org.jetbrains.kotlin.types.expressions.ExpressionTypingUtils; import org.jetbrains.kotlin.types.expressions.ForLoopConventionsChecker; @@ -71,7 +71,7 @@ public class InjectorForMacros { private final CallExpressionResolver callExpressionResolver; private final DescriptorResolver descriptorResolver; private final DelegatedPropertyResolver delegatedPropertyResolver; - private final PartialBodyResolveProvider partialBodyResolveProvider; + private final StatementFilter statementFilter; private final ControlStructureTypingUtils controlStructureTypingUtils; private final ExpressionTypingUtils expressionTypingUtils; private final ForLoopConventionsChecker forLoopConventionsChecker; @@ -105,7 +105,7 @@ public class InjectorForMacros { this.callExpressionResolver = new CallExpressionResolver(); this.descriptorResolver = new DescriptorResolver(); this.delegatedPropertyResolver = new DelegatedPropertyResolver(); - this.partialBodyResolveProvider = new PartialBodyResolveProvider(); + this.statementFilter = new StatementFilter(); this.controlStructureTypingUtils = new ControlStructureTypingUtils(getExpressionTypingServices()); this.expressionTypingUtils = new ExpressionTypingUtils(getExpressionTypingServices(), getCallResolver(), kotlinBuiltIns); this.forLoopConventionsChecker = new ForLoopConventionsChecker(); @@ -121,8 +121,8 @@ public class InjectorForMacros { this.expressionTypingServices.setCallExpressionResolver(callExpressionResolver); this.expressionTypingServices.setCallResolver(callResolver); this.expressionTypingServices.setDescriptorResolver(descriptorResolver); - this.expressionTypingServices.setPartialBodyResolveProvider(partialBodyResolveProvider); this.expressionTypingServices.setProject(project); + this.expressionTypingServices.setStatementFilter(statementFilter); this.expressionTypingServices.setTypeResolver(typeResolver); this.expressionTypingComponents.setAdditionalCheckerProvider(defaultProvider); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnnotationResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnnotationResolver.java index cdd65a8b111..69bed6ac94a 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnnotationResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnnotationResolver.java @@ -353,7 +353,7 @@ public class AnnotationResolver { SimpleResolutionContext context = new SimpleResolutionContext(trace, JetScope.Empty.INSTANCE$, NO_EXPECTED_TYPE, DataFlowInfo.EMPTY, ContextDependency.INDEPENDENT, - new CompositeChecker(Lists.newArrayList()), PartialBodyResolveProvider.NONE); + new CompositeChecker(Lists.newArrayList()), StatementFilter.NONE); ArgumentTypeResolver.updateNumberType(defaultType, argumentExpression, context); } if (constant != null) { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/PartialBodyResolveProvider.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/StatementFilter.kt similarity index 75% rename from compiler/frontend/src/org/jetbrains/kotlin/resolve/PartialBodyResolveProvider.kt rename to compiler/frontend/src/org/jetbrains/kotlin/resolve/StatementFilter.kt index 8dac01c5402..bef31c129d3 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/PartialBodyResolveProvider.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/StatementFilter.kt @@ -20,19 +20,19 @@ import org.jetbrains.kotlin.psi.JetElement import org.jetbrains.kotlin.psi.JetBlockExpression import org.jetbrains.kotlin.psi.JetPsiUtil -public open class PartialBodyResolveProvider { +public open class StatementFilter { public open val filter: ((JetElement) -> Boolean)? get() = null class object { - public val NONE: PartialBodyResolveProvider = PartialBodyResolveProvider() + public val NONE: StatementFilter = StatementFilter() } } -fun PartialBodyResolveProvider.filterStatements(block: JetBlockExpression): List { +fun StatementFilter.filterStatements(block: JetBlockExpression): List { if (filter == null || block is JetPsiUtil.JetExpressionWrapper) return block.getStatements() return block.getStatements().filter { filter!!(it) } } -fun PartialBodyResolveProvider.getLastStatementInABlock(block: JetBlockExpression) = filterStatements(block).lastOrNull() \ No newline at end of file +fun StatementFilter.getLastStatementInABlock(block: JetBlockExpression) = filterStatements(block).lastOrNull() \ No newline at end of file diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/ArgumentTypeResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/ArgumentTypeResolver.java index 4e6d4e03e5d..172103410e8 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/ArgumentTypeResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/ArgumentTypeResolver.java @@ -167,7 +167,7 @@ public class ArgumentTypeResolver { // This case is a temporary hack for 'if' branches. // The right way to implement this logic is to interpret 'if' branches as function literals with explicitly-typed signatures // (no arguments and no receiver) and therefore analyze them straight away (not in the 'complete' phase). - JetElement lastStatementInABlock = ResolvePackage.getLastStatementInABlock(context.partialBodyResolveProvider, blockExpression); + JetElement lastStatementInABlock = ResolvePackage.getLastStatementInABlock(context.statementFilter, blockExpression); if (lastStatementInABlock instanceof JetExpression) { return getLastElementDeparenthesized((JetExpression) lastStatementInABlock, context); } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/context/BasicCallResolutionContext.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/context/BasicCallResolutionContext.java index b703557a252..7e6027a8e66 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/context/BasicCallResolutionContext.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/context/BasicCallResolutionContext.java @@ -20,7 +20,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.psi.Call; import org.jetbrains.kotlin.resolve.BindingTrace; -import org.jetbrains.kotlin.resolve.PartialBodyResolveProvider; +import org.jetbrains.kotlin.resolve.StatementFilter; import org.jetbrains.kotlin.resolve.calls.checkers.CallChecker; import org.jetbrains.kotlin.resolve.calls.model.MutableDataFlowInfoForArguments; import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo; @@ -39,12 +39,12 @@ public class BasicCallResolutionContext extends CallResolutionContext @NotNull ResolutionResultsCache resolutionResultsCache, @Nullable MutableDataFlowInfoForArguments dataFlowInfoForArguments, @NotNull CallChecker callChecker, - @NotNull PartialBodyResolveProvider partialBodyResolveProvider, + @NotNull StatementFilter statementFilter, @NotNull ReceiverValue explicitExtensionReceiverForInvoke, boolean isAnnotationContext, boolean collectAllCandidates ) { super(trace, scope, call, expectedType, dataFlowInfo, contextDependency, checkArguments, resolutionResultsCache, - dataFlowInfoForArguments, callChecker, partialBodyResolveProvider, isAnnotationContext, collectAllCandidates); + dataFlowInfoForArguments, callChecker, statementFilter, isAnnotationContext, collectAllCandidates); this.candidateCall = candidateCall; this.tracing = tracing; this.explicitExtensionReceiverForInvoke = explicitExtensionReceiverForInvoke; @@ -73,7 +73,7 @@ public final class CallCandidateResolutionContext candidateCall, tracing, trace, context.scope, call, context.expectedType, context.dataFlowInfo, context.contextDependency, context.checkArguments, context.resolutionResultsCache, context.dataFlowInfoForArguments, - context.callChecker, context.partialBodyResolveProvider, explicitExtensionReceiverForInvoke, + context.callChecker, context.statementFilter, explicitExtensionReceiverForInvoke, context.isAnnotationContext, context.collectAllCandidates); } @@ -97,7 +97,7 @@ public final class CallCandidateResolutionContext return new CallCandidateResolutionContext( candidateCall, tracing, context.trace, context.scope, context.call, context.expectedType, context.dataFlowInfo, context.contextDependency, context.checkArguments, context.resolutionResultsCache, - context.dataFlowInfoForArguments, context.callChecker, context.partialBodyResolveProvider, ReceiverValue.NO_RECEIVER, + context.dataFlowInfoForArguments, context.callChecker, context.statementFilter, ReceiverValue.NO_RECEIVER, context.isAnnotationContext, context.collectAllCandidates); } @@ -109,12 +109,12 @@ public final class CallCandidateResolutionContext @NotNull JetType expectedType, @NotNull ContextDependency contextDependency, @NotNull ResolutionResultsCache resolutionResultsCache, - @NotNull PartialBodyResolveProvider partialBodyResolveProvider, + @NotNull StatementFilter statementFilter, boolean collectAllCandidates ) { return new CallCandidateResolutionContext( candidateCall, tracing, trace, scope, call, expectedType, dataFlowInfo, contextDependency, checkArguments, - resolutionResultsCache, dataFlowInfoForArguments, callChecker, partialBodyResolveProvider, + resolutionResultsCache, dataFlowInfoForArguments, callChecker, statementFilter, explicitExtensionReceiverForInvoke, isAnnotationContext, collectAllCandidates); } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/context/CallResolutionContext.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/context/CallResolutionContext.java index 9e353848e69..e832772496b 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/context/CallResolutionContext.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/context/CallResolutionContext.java @@ -20,7 +20,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.psi.Call; import org.jetbrains.kotlin.resolve.BindingTrace; -import org.jetbrains.kotlin.resolve.PartialBodyResolveProvider; +import org.jetbrains.kotlin.resolve.StatementFilter; import org.jetbrains.kotlin.resolve.calls.checkers.CallChecker; import org.jetbrains.kotlin.resolve.calls.model.DataFlowInfoForArgumentsImpl; import org.jetbrains.kotlin.resolve.calls.model.MutableDataFlowInfoForArguments; @@ -48,12 +48,12 @@ public abstract class CallResolutionContext extends C @NotNull ResolutionResultsCache resolutionResultsCache, @Nullable MutableDataFlowInfoForArguments dataFlowInfoForArguments, @NotNull CallChecker callChecker, - @NotNull PartialBodyResolveProvider partialBodyResolveProvider, + @NotNull StatementFilter statementFilter, @NotNull Collection> resolvedCalls, boolean isAnnotationContext, boolean collectAllCandidates ) { super(trace, scope, call, expectedType, dataFlowInfo, contextDependency, checkArguments, resolutionResultsCache, - dataFlowInfoForArguments, callChecker, partialBodyResolveProvider, isAnnotationContext, collectAllCandidates); + dataFlowInfoForArguments, callChecker, statementFilter, isAnnotationContext, collectAllCandidates); this.lazyCandidates = lazyCandidates; this.resolvedCalls = resolvedCalls; this.tracing = tracing; @@ -77,7 +77,7 @@ public class ResolutionTask extends C context.trace, context.scope, context.call, context.expectedType, context.dataFlowInfo, context.contextDependency, context.checkArguments, context.resolutionResultsCache, context.dataFlowInfoForArguments, - context.callChecker, context.partialBodyResolveProvider, Lists.>newArrayList(), + context.callChecker, context.statementFilter, Lists.>newArrayList(), context.isAnnotationContext, context.collectAllCandidates); } @@ -116,12 +116,12 @@ public class ResolutionTask extends C @NotNull JetType expectedType, @NotNull ContextDependency contextDependency, @NotNull ResolutionResultsCache resolutionResultsCache, - @NotNull PartialBodyResolveProvider partialBodyResolveProvider, + @NotNull StatementFilter statementFilter, boolean collectAllCandidates ) { return new ResolutionTask( lazyCandidates, tracing, trace, scope, call, expectedType, dataFlowInfo, contextDependency, checkArguments, - resolutionResultsCache, dataFlowInfoForArguments, callChecker, partialBodyResolveProvider, resolvedCalls, + resolutionResultsCache, dataFlowInfoForArguments, callChecker, statementFilter, resolvedCalls, isAnnotationContext, collectAllCandidates); } @@ -132,7 +132,7 @@ public class ResolutionTask extends C public ResolutionTask replaceCall(@NotNull Call newCall) { return new ResolutionTask( lazyCandidates, tracing, trace, scope, newCall, expectedType, dataFlowInfo, contextDependency, checkArguments, - resolutionResultsCache, dataFlowInfoForArguments, callChecker, partialBodyResolveProvider, resolvedCalls, + resolutionResultsCache, dataFlowInfoForArguments, callChecker, statementFilter, resolvedCalls, isAnnotationContext, collectAllCandidates); } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingContext.java b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingContext.java index 5df4595ecb5..6bb83660f03 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingContext.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingContext.java @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.types.expressions; import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.resolve.BindingTrace; -import org.jetbrains.kotlin.resolve.PartialBodyResolveProvider; +import org.jetbrains.kotlin.resolve.StatementFilter; import org.jetbrains.kotlin.resolve.calls.context.ContextDependency; import org.jetbrains.kotlin.resolve.calls.context.ResolutionContext; import org.jetbrains.kotlin.resolve.calls.context.ResolutionResultsCache; @@ -41,14 +41,14 @@ public class ExpressionTypingContext extends ResolutionContext block = ResolvePackage.filterStatements(getPartialBodyResolveProvider(), expression); + List block = ResolvePackage.filterStatements(getStatementFilter(), expression); // SCRIPT: get code descriptor for script declaration DeclarationDescriptor containingDescriptor = context.scope.getContainingDeclaration(); @@ -229,7 +229,7 @@ public class ExpressionTypingServices { } else { r = getBlockReturnedTypeWithWritableScope(scope, block, coercionStrategyForLastExpression, - context.replacePartialBodyResolveProvider(getPartialBodyResolveProvider())); + context.replacestatementFilter(getStatementFilter())); } scope.changeLockLevel(WritableScope.LockLevel.READING); diff --git a/compiler/tests/org/jetbrains/kotlin/di/InjectorForTests.java b/compiler/tests/org/jetbrains/kotlin/di/InjectorForTests.java index 785eeff1164..7817e368411 100644 --- a/compiler/tests/org/jetbrains/kotlin/di/InjectorForTests.java +++ b/compiler/tests/org/jetbrains/kotlin/di/InjectorForTests.java @@ -41,7 +41,7 @@ import org.jetbrains.kotlin.types.expressions.ForLoopConventionsChecker; import org.jetbrains.kotlin.types.expressions.LocalClassifierAnalyzer; import org.jetbrains.kotlin.types.reflect.ReflectionTypes; import org.jetbrains.kotlin.resolve.calls.CallExpressionResolver; -import org.jetbrains.kotlin.resolve.PartialBodyResolveProvider; +import org.jetbrains.kotlin.resolve.StatementFilter; import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver; import org.jetbrains.kotlin.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider; import org.jetbrains.kotlin.context.LazinessToken; @@ -77,7 +77,7 @@ public class InjectorForTests { private final LocalClassifierAnalyzer localClassifierAnalyzer; private final ReflectionTypes reflectionTypes; private final CallExpressionResolver callExpressionResolver; - private final PartialBodyResolveProvider partialBodyResolveProvider; + private final StatementFilter statementFilter; private final QualifiedExpressionResolver qualifiedExpressionResolver; private final FlexibleTypeCapabilitiesProvider flexibleTypeCapabilitiesProvider; private final LazinessToken lazinessToken; @@ -114,7 +114,7 @@ public class InjectorForTests { this.localClassifierAnalyzer = new LocalClassifierAnalyzer(getDescriptorResolver(), getTypeResolver(), annotationResolver); this.reflectionTypes = new ReflectionTypes(moduleDescriptor); this.callExpressionResolver = new CallExpressionResolver(); - this.partialBodyResolveProvider = new PartialBodyResolveProvider(); + this.statementFilter = new StatementFilter(); this.descriptorResolver.setAnnotationResolver(annotationResolver); this.descriptorResolver.setBuiltIns(kotlinBuiltIns); @@ -128,8 +128,8 @@ public class InjectorForTests { this.expressionTypingServices.setCallExpressionResolver(callExpressionResolver); this.expressionTypingServices.setCallResolver(callResolver); this.expressionTypingServices.setDescriptorResolver(descriptorResolver); - this.expressionTypingServices.setPartialBodyResolveProvider(partialBodyResolveProvider); this.expressionTypingServices.setProject(project); + this.expressionTypingServices.setStatementFilter(statementFilter); this.expressionTypingServices.setTypeResolver(typeResolver); annotationResolver.setCallResolver(callResolver); diff --git a/generators/src/org/jetbrains/kotlin/generators/injectors/GenerateInjectors.kt b/generators/src/org/jetbrains/kotlin/generators/injectors/GenerateInjectors.kt index c31db7b36d9..f1f0443849a 100644 --- a/generators/src/org/jetbrains/kotlin/generators/injectors/GenerateInjectors.kt +++ b/generators/src/org/jetbrains/kotlin/generators/injectors/GenerateInjectors.kt @@ -252,7 +252,7 @@ private fun generatorForBodyResolve() = parameter() parameter(useAsContext = true) parameter() - parameter() + parameter() publicField() } diff --git a/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/ElementResolver.java b/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/ElementResolver.java index 0cac42c393b..3944c5416c9 100644 --- a/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/ElementResolver.java +++ b/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/ElementResolver.java @@ -134,26 +134,26 @@ public abstract class ElementResolver { JetFile file = resolveElement.getContainingJetFile(); - PartialBodyResolveProvider partialResolveProvider; + StatementFilter statementFilter; if (bodyResolveMode != BodyResolveMode.FULL && resolveElement instanceof JetDeclaration) { - partialResolveProvider = new PartialBodyResolveFilter( + statementFilter = new PartialBodyResolveFilter( contextElement, (JetDeclaration) resolveElement, probablyNothingCallableNames(), bodyResolveMode == BodyResolveMode.PARTIAL_FOR_COMPLETION); } else { - partialResolveProvider = PartialBodyResolveProvider.NONE; + statementFilter = StatementFilter.NONE; } if (resolveElement instanceof JetNamedFunction) { - functionAdditionalResolve(resolveSession, (JetNamedFunction) resolveElement, trace, file, partialResolveProvider); + functionAdditionalResolve(resolveSession, (JetNamedFunction) resolveElement, trace, file, statementFilter); } else if (resolveElement instanceof JetClassInitializer) { - initializerAdditionalResolve(resolveSession, (JetClassInitializer) resolveElement, trace, file, partialResolveProvider); + initializerAdditionalResolve(resolveSession, (JetClassInitializer) resolveElement, trace, file, statementFilter); } else if (resolveElement instanceof JetProperty) { - propertyAdditionalResolve(resolveSession, (JetProperty) resolveElement, trace, file, partialResolveProvider); + propertyAdditionalResolve(resolveSession, (JetProperty) resolveElement, trace, file, statementFilter); } else if (resolveElement instanceof JetDelegationSpecifierList) { delegationSpecifierAdditionalResolve(resolveSession, (JetDelegationSpecifierList) resolveElement, trace, file); @@ -167,7 +167,7 @@ public abstract class ElementResolver { annotationAdditionalResolve(resolveSession, (JetAnnotationEntry) resolveElement); } else if (resolveElement instanceof JetClass) { - constructorAdditionalResolve(resolveSession, (JetClass) resolveElement, trace, file, partialResolveProvider); + constructorAdditionalResolve(resolveSession, (JetClass) resolveElement, trace, file, statementFilter); } else if (resolveElement instanceof JetTypeParameter) { typeParameterAdditionalResolve(resolveSession, (JetTypeParameter) resolveElement); @@ -345,7 +345,7 @@ public abstract class ElementResolver { // Activate resolving of supertypes ForceResolveUtil.forceResolveAllContents(descriptor.getTypeConstructor().getSupertypes()); - BodyResolver bodyResolver = createBodyResolver(resolveSession, trace, file, PartialBodyResolveProvider.NONE); + BodyResolver bodyResolver = createBodyResolver(resolveSession, trace, file, StatementFilter.NONE); bodyResolver.resolveDelegationSpecifierList(createEmptyContext(resolveSession), classOrObject, descriptor, descriptor.getUnsubstitutedPrimaryConstructor(), descriptor.getScopeForClassHeaderResolution(), @@ -357,7 +357,7 @@ public abstract class ElementResolver { final JetProperty jetProperty, BindingTrace trace, JetFile file, - @NotNull PartialBodyResolveProvider partialResolveProvider + @NotNull StatementFilter statementFilter ) { JetScope propertyResolutionScope = resolveSession.getScopeProvider().getResolutionScopeForDeclaration(jetProperty); @@ -371,7 +371,7 @@ public abstract class ElementResolver { return resolveSession.getScopeProvider().getResolutionScopeForDeclaration(declaration); } }); - BodyResolver bodyResolver = createBodyResolver(resolveSession, trace, file, partialResolveProvider); + BodyResolver bodyResolver = createBodyResolver(resolveSession, trace, file, statementFilter); PropertyDescriptor descriptor = (PropertyDescriptor) resolveSession.resolveToDescriptor(jetProperty); ForceResolveUtil.forceResolveAllContents(descriptor); @@ -397,13 +397,13 @@ public abstract class ElementResolver { JetNamedFunction namedFunction, BindingTrace trace, JetFile file, - @NotNull PartialBodyResolveProvider partialResolveProvider + @NotNull StatementFilter statementFilter ) { JetScope scope = resolveSession.getScopeProvider().getResolutionScopeForDeclaration(namedFunction); FunctionDescriptor functionDescriptor = (FunctionDescriptor) resolveSession.resolveToDescriptor(namedFunction); ForceResolveUtil.forceResolveAllContents(functionDescriptor); - BodyResolver bodyResolver = createBodyResolver(resolveSession, trace, file, partialResolveProvider); + BodyResolver bodyResolver = createBodyResolver(resolveSession, trace, file, statementFilter); bodyResolver.resolveFunctionBody(createEmptyContext(resolveSession), trace, namedFunction, functionDescriptor, scope); } @@ -412,7 +412,7 @@ public abstract class ElementResolver { JetClass klass, BindingTrace trace, JetFile file, - @NotNull PartialBodyResolveProvider partialResolveProvider + @NotNull StatementFilter statementFilter ) { JetScope scope = resolveSession.getScopeProvider().getResolutionScopeForDeclaration(klass); @@ -423,7 +423,7 @@ public abstract class ElementResolver { classDescriptor, JetPsiUtil.getElementTextWithContext(klass)); - BodyResolver bodyResolver = createBodyResolver(resolveSession, trace, file, partialResolveProvider); + BodyResolver bodyResolver = createBodyResolver(resolveSession, trace, file, statementFilter); bodyResolver.resolveConstructorParameterDefaultValuesAndAnnotations(createEmptyContext(resolveSession), trace, klass, constructorDescriptor, scope); } @@ -433,23 +433,23 @@ public abstract class ElementResolver { JetClassInitializer classInitializer, BindingTrace trace, JetFile file, - @NotNull PartialBodyResolveProvider partialResolveProvider + @NotNull StatementFilter statementFilter ) { JetClassOrObject classOrObject = PsiTreeUtil.getParentOfType(classInitializer, JetClassOrObject.class); LazyClassDescriptor classOrObjectDescriptor = (LazyClassDescriptor) resolveSession.resolveToDescriptor(classOrObject); - BodyResolver bodyResolver = createBodyResolver(resolveSession, trace, file, partialResolveProvider); + BodyResolver bodyResolver = createBodyResolver(resolveSession, trace, file, statementFilter); bodyResolver.resolveAnonymousInitializer(createEmptyContext(resolveSession), classInitializer, classOrObjectDescriptor); } - private BodyResolver createBodyResolver(ResolveSession resolveSession, BindingTrace trace, JetFile file, @NotNull PartialBodyResolveProvider partialResolveProvider) { + private BodyResolver createBodyResolver(ResolveSession resolveSession, BindingTrace trace, JetFile file, @NotNull StatementFilter statementFilter) { InjectorForBodyResolve bodyResolve = new InjectorForBodyResolve( file.getProject(), createParameters(resolveSession), trace, resolveSession.getModuleDescriptor(), getAdditionalCheckerProvider(file), - partialResolveProvider + statementFilter ); return bodyResolve.getBodyResolver(); } diff --git a/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/PartialBodyResolveFilter.kt b/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/PartialBodyResolveFilter.kt index 1d17c2680e7..265bce74cbe 100644 --- a/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/PartialBodyResolveFilter.kt +++ b/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/PartialBodyResolveFilter.kt @@ -27,7 +27,7 @@ import com.intellij.psi.PsiElement import org.jetbrains.kotlin.JetNodeTypes import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull import org.jetbrains.kotlin.psi.psiUtil.isAncestor -import org.jetbrains.kotlin.resolve.PartialBodyResolveProvider +import org.jetbrains.kotlin.resolve.StatementFilter import org.jetbrains.kotlin.psi.psiUtil.isProbablyNothing //TODO: do resolve anonymous object's body @@ -37,7 +37,7 @@ class PartialBodyResolveFilter( private val declaration: JetDeclaration, probablyNothingCallableNames: ProbablyNothingCallableNames, forCompletion: Boolean -) : PartialBodyResolveProvider() { +) : StatementFilter() { private val statementMarks = StatementMarks() diff --git a/js/js.frontend/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJs.java b/js/js.frontend/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJs.java index c30f28e16d3..8eed7526f33 100644 --- a/js/js.frontend/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJs.java +++ b/js/js.frontend/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJs.java @@ -46,7 +46,7 @@ import org.jetbrains.kotlin.resolve.TypeResolver.FlexibleTypeCapabilitiesProvide import org.jetbrains.kotlin.context.LazinessToken; import org.jetbrains.kotlin.types.reflect.ReflectionTypes; import org.jetbrains.kotlin.resolve.calls.CallExpressionResolver; -import org.jetbrains.kotlin.resolve.PartialBodyResolveProvider; +import org.jetbrains.kotlin.resolve.StatementFilter; import org.jetbrains.kotlin.resolve.calls.CallCompleter; import org.jetbrains.kotlin.resolve.calls.CandidateResolver; import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer; @@ -102,7 +102,7 @@ public class InjectorForTopDownAnalyzerForJs { private final LazinessToken lazinessToken; private final ReflectionTypes reflectionTypes; private final CallExpressionResolver callExpressionResolver; - private final PartialBodyResolveProvider partialBodyResolveProvider; + private final StatementFilter statementFilter; private final CallCompleter callCompleter; private final CandidateResolver candidateResolver; private final TaskPrioritizer taskPrioritizer; @@ -159,7 +159,7 @@ public class InjectorForTopDownAnalyzerForJs { this.delegatedPropertyResolver = new DelegatedPropertyResolver(); this.reflectionTypes = new ReflectionTypes(module); this.callExpressionResolver = new CallExpressionResolver(); - this.partialBodyResolveProvider = new PartialBodyResolveProvider(); + this.statementFilter = new StatementFilter(); this.candidateResolver = new CandidateResolver(); this.callCompleter = new CallCompleter(argumentTypeResolver, candidateResolver); this.taskPrioritizer = new TaskPrioritizer(storageManager); @@ -214,8 +214,8 @@ public class InjectorForTopDownAnalyzerForJs { expressionTypingServices.setCallExpressionResolver(callExpressionResolver); expressionTypingServices.setCallResolver(callResolver); expressionTypingServices.setDescriptorResolver(descriptorResolver); - expressionTypingServices.setPartialBodyResolveProvider(partialBodyResolveProvider); expressionTypingServices.setProject(project); + expressionTypingServices.setStatementFilter(statementFilter); expressionTypingServices.setTypeResolver(typeResolver); expressionTypingComponents.setAdditionalCheckerProvider(kotlinJsCheckerProvider);