Fix for UNSUPPORTED diagnostic for dynamic types in local classes
This commit is contained in:
@@ -47,6 +47,7 @@ import org.jetbrains.jet.lang.resolve.calls.ArgumentTypeResolver;
|
|||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
||||||
|
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
||||||
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
||||||
@@ -55,7 +56,6 @@ import org.jetbrains.jet.lang.resolve.DescriptorResolver;
|
|||||||
import org.jetbrains.jet.lang.resolve.DelegatedPropertyResolver;
|
import org.jetbrains.jet.lang.resolve.DelegatedPropertyResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.TypeResolver;
|
import org.jetbrains.jet.lang.resolve.TypeResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
||||||
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
||||||
@@ -109,6 +109,7 @@ public class InjectorForLazyResolveWithJava {
|
|||||||
private final ExpressionTypingServices expressionTypingServices;
|
private final ExpressionTypingServices expressionTypingServices;
|
||||||
private final ExpressionTypingComponents expressionTypingComponents;
|
private final ExpressionTypingComponents expressionTypingComponents;
|
||||||
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
||||||
|
private final DynamicTypesSettings dynamicTypesSettings;
|
||||||
private final ExpressionTypingUtils expressionTypingUtils;
|
private final ExpressionTypingUtils expressionTypingUtils;
|
||||||
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
||||||
private final ReflectionTypes reflectionTypes;
|
private final ReflectionTypes reflectionTypes;
|
||||||
@@ -117,7 +118,6 @@ public class InjectorForLazyResolveWithJava {
|
|||||||
private final DelegatedPropertyResolver delegatedPropertyResolver;
|
private final DelegatedPropertyResolver delegatedPropertyResolver;
|
||||||
private final TypeResolver typeResolver;
|
private final TypeResolver typeResolver;
|
||||||
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
||||||
private final DynamicTypesSettings dynamicTypesSettings;
|
|
||||||
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
||||||
private final PartialBodyResolveProvider partialBodyResolveProvider;
|
private final PartialBodyResolveProvider partialBodyResolveProvider;
|
||||||
private final CallCompleter callCompleter;
|
private final CallCompleter callCompleter;
|
||||||
@@ -177,6 +177,7 @@ public class InjectorForLazyResolveWithJava {
|
|||||||
this.expressionTypingComponents = new ExpressionTypingComponents();
|
this.expressionTypingComponents = new ExpressionTypingComponents();
|
||||||
this.expressionTypingServices = new ExpressionTypingServices(expressionTypingComponents);
|
this.expressionTypingServices = new ExpressionTypingServices(expressionTypingComponents);
|
||||||
this.controlStructureTypingUtils = new ControlStructureTypingUtils(expressionTypingServices);
|
this.controlStructureTypingUtils = new ControlStructureTypingUtils(expressionTypingServices);
|
||||||
|
this.dynamicTypesSettings = new DynamicTypesSettings();
|
||||||
this.expressionTypingUtils = new ExpressionTypingUtils(expressionTypingServices, callResolver);
|
this.expressionTypingUtils = new ExpressionTypingUtils(expressionTypingServices, callResolver);
|
||||||
this.forLoopConventionsChecker = new ForLoopConventionsChecker();
|
this.forLoopConventionsChecker = new ForLoopConventionsChecker();
|
||||||
this.reflectionTypes = new ReflectionTypes(module);
|
this.reflectionTypes = new ReflectionTypes(module);
|
||||||
@@ -184,7 +185,6 @@ public class InjectorForLazyResolveWithJava {
|
|||||||
this.descriptorResolver = new DescriptorResolver();
|
this.descriptorResolver = new DescriptorResolver();
|
||||||
this.delegatedPropertyResolver = new DelegatedPropertyResolver();
|
this.delegatedPropertyResolver = new DelegatedPropertyResolver();
|
||||||
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
||||||
this.dynamicTypesSettings = new DynamicTypesSettings();
|
|
||||||
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, module, javaFlexibleTypeCapabilitiesProvider, storageManager, lazyResolveToken, dynamicTypesSettings);
|
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, module, javaFlexibleTypeCapabilitiesProvider, storageManager, lazyResolveToken, dynamicTypesSettings);
|
||||||
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
||||||
this.partialBodyResolveProvider = new PartialBodyResolveProvider();
|
this.partialBodyResolveProvider = new PartialBodyResolveProvider();
|
||||||
@@ -252,6 +252,7 @@ public class InjectorForLazyResolveWithJava {
|
|||||||
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
||||||
expressionTypingComponents.setCallResolver(callResolver);
|
expressionTypingComponents.setCallResolver(callResolver);
|
||||||
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
||||||
|
expressionTypingComponents.setDynamicTypesSettings(dynamicTypesSettings);
|
||||||
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
||||||
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
||||||
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ import org.jetbrains.jet.lang.resolve.calls.ArgumentTypeResolver;
|
|||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
||||||
|
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
||||||
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
||||||
@@ -59,7 +60,6 @@ import org.jetbrains.jet.lang.resolve.DelegatedPropertyResolver;
|
|||||||
import org.jetbrains.jet.lang.resolve.TypeResolver;
|
import org.jetbrains.jet.lang.resolve.TypeResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
||||||
import org.jetbrains.jet.context.LazinessToken;
|
import org.jetbrains.jet.context.LazinessToken;
|
||||||
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
||||||
@@ -126,6 +126,7 @@ public class InjectorForReplWithJava {
|
|||||||
private final ExpressionTypingServices expressionTypingServices;
|
private final ExpressionTypingServices expressionTypingServices;
|
||||||
private final ExpressionTypingComponents expressionTypingComponents;
|
private final ExpressionTypingComponents expressionTypingComponents;
|
||||||
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
||||||
|
private final DynamicTypesSettings dynamicTypesSettings;
|
||||||
private final ExpressionTypingUtils expressionTypingUtils;
|
private final ExpressionTypingUtils expressionTypingUtils;
|
||||||
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
||||||
private final ReflectionTypes reflectionTypes;
|
private final ReflectionTypes reflectionTypes;
|
||||||
@@ -135,7 +136,6 @@ public class InjectorForReplWithJava {
|
|||||||
private final TypeResolver typeResolver;
|
private final TypeResolver typeResolver;
|
||||||
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
||||||
private final LazinessToken lazinessToken;
|
private final LazinessToken lazinessToken;
|
||||||
private final DynamicTypesSettings dynamicTypesSettings;
|
|
||||||
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
||||||
private final PartialBodyResolveProvider partialBodyResolveProvider;
|
private final PartialBodyResolveProvider partialBodyResolveProvider;
|
||||||
private final CallCompleter callCompleter;
|
private final CallCompleter callCompleter;
|
||||||
@@ -210,6 +210,7 @@ public class InjectorForReplWithJava {
|
|||||||
this.expressionTypingComponents = new ExpressionTypingComponents();
|
this.expressionTypingComponents = new ExpressionTypingComponents();
|
||||||
this.expressionTypingServices = new ExpressionTypingServices(expressionTypingComponents);
|
this.expressionTypingServices = new ExpressionTypingServices(expressionTypingComponents);
|
||||||
this.controlStructureTypingUtils = new ControlStructureTypingUtils(expressionTypingServices);
|
this.controlStructureTypingUtils = new ControlStructureTypingUtils(expressionTypingServices);
|
||||||
|
this.dynamicTypesSettings = new DynamicTypesSettings();
|
||||||
this.expressionTypingUtils = new ExpressionTypingUtils(expressionTypingServices, callResolver);
|
this.expressionTypingUtils = new ExpressionTypingUtils(expressionTypingServices, callResolver);
|
||||||
this.forLoopConventionsChecker = new ForLoopConventionsChecker();
|
this.forLoopConventionsChecker = new ForLoopConventionsChecker();
|
||||||
this.reflectionTypes = new ReflectionTypes(module);
|
this.reflectionTypes = new ReflectionTypes(module);
|
||||||
@@ -218,7 +219,6 @@ public class InjectorForReplWithJava {
|
|||||||
this.delegatedPropertyResolver = new DelegatedPropertyResolver();
|
this.delegatedPropertyResolver = new DelegatedPropertyResolver();
|
||||||
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
||||||
this.lazinessToken = new LazinessToken();
|
this.lazinessToken = new LazinessToken();
|
||||||
this.dynamicTypesSettings = new DynamicTypesSettings();
|
|
||||||
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, module, javaFlexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings);
|
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, module, javaFlexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings);
|
||||||
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
||||||
this.partialBodyResolveProvider = new PartialBodyResolveProvider();
|
this.partialBodyResolveProvider = new PartialBodyResolveProvider();
|
||||||
@@ -305,6 +305,7 @@ public class InjectorForReplWithJava {
|
|||||||
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
||||||
expressionTypingComponents.setCallResolver(callResolver);
|
expressionTypingComponents.setCallResolver(callResolver);
|
||||||
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
||||||
|
expressionTypingComponents.setDynamicTypesSettings(dynamicTypesSettings);
|
||||||
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
||||||
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
||||||
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
||||||
|
|||||||
+4
-3
@@ -49,6 +49,7 @@ import org.jetbrains.jet.lang.resolve.calls.ArgumentTypeResolver;
|
|||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
||||||
|
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
||||||
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
||||||
@@ -58,7 +59,6 @@ import org.jetbrains.jet.lang.resolve.DelegatedPropertyResolver;
|
|||||||
import org.jetbrains.jet.lang.resolve.TypeResolver;
|
import org.jetbrains.jet.lang.resolve.TypeResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
||||||
import org.jetbrains.jet.context.LazinessToken;
|
import org.jetbrains.jet.context.LazinessToken;
|
||||||
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
||||||
@@ -125,6 +125,7 @@ public class InjectorForTopDownAnalyzerForJvm {
|
|||||||
private final ExpressionTypingServices expressionTypingServices;
|
private final ExpressionTypingServices expressionTypingServices;
|
||||||
private final ExpressionTypingComponents expressionTypingComponents;
|
private final ExpressionTypingComponents expressionTypingComponents;
|
||||||
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
||||||
|
private final DynamicTypesSettings dynamicTypesSettings;
|
||||||
private final ExpressionTypingUtils expressionTypingUtils;
|
private final ExpressionTypingUtils expressionTypingUtils;
|
||||||
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
||||||
private final ReflectionTypes reflectionTypes;
|
private final ReflectionTypes reflectionTypes;
|
||||||
@@ -134,7 +135,6 @@ public class InjectorForTopDownAnalyzerForJvm {
|
|||||||
private final TypeResolver typeResolver;
|
private final TypeResolver typeResolver;
|
||||||
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
||||||
private final LazinessToken lazinessToken;
|
private final LazinessToken lazinessToken;
|
||||||
private final DynamicTypesSettings dynamicTypesSettings;
|
|
||||||
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
||||||
private final PartialBodyResolveProvider partialBodyResolveProvider;
|
private final PartialBodyResolveProvider partialBodyResolveProvider;
|
||||||
private final CallCompleter callCompleter;
|
private final CallCompleter callCompleter;
|
||||||
@@ -208,6 +208,7 @@ public class InjectorForTopDownAnalyzerForJvm {
|
|||||||
this.expressionTypingComponents = new ExpressionTypingComponents();
|
this.expressionTypingComponents = new ExpressionTypingComponents();
|
||||||
this.expressionTypingServices = new ExpressionTypingServices(expressionTypingComponents);
|
this.expressionTypingServices = new ExpressionTypingServices(expressionTypingComponents);
|
||||||
this.controlStructureTypingUtils = new ControlStructureTypingUtils(expressionTypingServices);
|
this.controlStructureTypingUtils = new ControlStructureTypingUtils(expressionTypingServices);
|
||||||
|
this.dynamicTypesSettings = new DynamicTypesSettings();
|
||||||
this.expressionTypingUtils = new ExpressionTypingUtils(expressionTypingServices, callResolver);
|
this.expressionTypingUtils = new ExpressionTypingUtils(expressionTypingServices, callResolver);
|
||||||
this.forLoopConventionsChecker = new ForLoopConventionsChecker();
|
this.forLoopConventionsChecker = new ForLoopConventionsChecker();
|
||||||
this.reflectionTypes = new ReflectionTypes(module);
|
this.reflectionTypes = new ReflectionTypes(module);
|
||||||
@@ -216,7 +217,6 @@ public class InjectorForTopDownAnalyzerForJvm {
|
|||||||
this.delegatedPropertyResolver = new DelegatedPropertyResolver();
|
this.delegatedPropertyResolver = new DelegatedPropertyResolver();
|
||||||
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
||||||
this.lazinessToken = new LazinessToken();
|
this.lazinessToken = new LazinessToken();
|
||||||
this.dynamicTypesSettings = new DynamicTypesSettings();
|
|
||||||
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, module, javaFlexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings);
|
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, module, javaFlexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings);
|
||||||
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
||||||
this.partialBodyResolveProvider = new PartialBodyResolveProvider();
|
this.partialBodyResolveProvider = new PartialBodyResolveProvider();
|
||||||
@@ -304,6 +304,7 @@ public class InjectorForTopDownAnalyzerForJvm {
|
|||||||
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
||||||
expressionTypingComponents.setCallResolver(callResolver);
|
expressionTypingComponents.setCallResolver(callResolver);
|
||||||
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
||||||
|
expressionTypingComponents.setDynamicTypesSettings(dynamicTypesSettings);
|
||||||
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
||||||
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
||||||
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import org.jetbrains.jet.lang.resolve.calls.ArgumentTypeResolver;
|
|||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
||||||
|
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
||||||
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
||||||
@@ -41,7 +42,6 @@ import org.jetbrains.jet.lang.resolve.TypeResolver;
|
|||||||
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider;
|
import org.jetbrains.jet.lang.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider;
|
||||||
import org.jetbrains.jet.context.LazinessToken;
|
import org.jetbrains.jet.context.LazinessToken;
|
||||||
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CandidateResolver;
|
import org.jetbrains.jet.lang.resolve.calls.CandidateResolver;
|
||||||
@@ -73,6 +73,7 @@ public class InjectorForBodyResolve {
|
|||||||
private final ExpressionTypingServices expressionTypingServices;
|
private final ExpressionTypingServices expressionTypingServices;
|
||||||
private final ExpressionTypingComponents expressionTypingComponents;
|
private final ExpressionTypingComponents expressionTypingComponents;
|
||||||
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
||||||
|
private final DynamicTypesSettings dynamicTypesSettings;
|
||||||
private final ExpressionTypingUtils expressionTypingUtils;
|
private final ExpressionTypingUtils expressionTypingUtils;
|
||||||
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
||||||
private final ReflectionTypes reflectionTypes;
|
private final ReflectionTypes reflectionTypes;
|
||||||
@@ -83,7 +84,6 @@ public class InjectorForBodyResolve {
|
|||||||
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
||||||
private final FlexibleTypeCapabilitiesProvider flexibleTypeCapabilitiesProvider;
|
private final FlexibleTypeCapabilitiesProvider flexibleTypeCapabilitiesProvider;
|
||||||
private final LazinessToken lazinessToken;
|
private final LazinessToken lazinessToken;
|
||||||
private final DynamicTypesSettings dynamicTypesSettings;
|
|
||||||
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
||||||
private final CallCompleter callCompleter;
|
private final CallCompleter callCompleter;
|
||||||
private final CandidateResolver candidateResolver;
|
private final CandidateResolver candidateResolver;
|
||||||
@@ -117,6 +117,7 @@ public class InjectorForBodyResolve {
|
|||||||
this.expressionTypingComponents = new ExpressionTypingComponents();
|
this.expressionTypingComponents = new ExpressionTypingComponents();
|
||||||
this.expressionTypingServices = new ExpressionTypingServices(expressionTypingComponents);
|
this.expressionTypingServices = new ExpressionTypingServices(expressionTypingComponents);
|
||||||
this.controlStructureTypingUtils = new ControlStructureTypingUtils(expressionTypingServices);
|
this.controlStructureTypingUtils = new ControlStructureTypingUtils(expressionTypingServices);
|
||||||
|
this.dynamicTypesSettings = new DynamicTypesSettings();
|
||||||
this.expressionTypingUtils = new ExpressionTypingUtils(expressionTypingServices, callResolver);
|
this.expressionTypingUtils = new ExpressionTypingUtils(expressionTypingServices, callResolver);
|
||||||
this.forLoopConventionsChecker = new ForLoopConventionsChecker();
|
this.forLoopConventionsChecker = new ForLoopConventionsChecker();
|
||||||
this.reflectionTypes = new ReflectionTypes(moduleDescriptor);
|
this.reflectionTypes = new ReflectionTypes(moduleDescriptor);
|
||||||
@@ -126,7 +127,6 @@ public class InjectorForBodyResolve {
|
|||||||
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
||||||
this.flexibleTypeCapabilitiesProvider = new FlexibleTypeCapabilitiesProvider();
|
this.flexibleTypeCapabilitiesProvider = new FlexibleTypeCapabilitiesProvider();
|
||||||
this.lazinessToken = new LazinessToken();
|
this.lazinessToken = new LazinessToken();
|
||||||
this.dynamicTypesSettings = new DynamicTypesSettings();
|
|
||||||
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, moduleDescriptor, flexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings);
|
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, moduleDescriptor, flexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings);
|
||||||
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
||||||
this.candidateResolver = new CandidateResolver();
|
this.candidateResolver = new CandidateResolver();
|
||||||
@@ -174,6 +174,7 @@ public class InjectorForBodyResolve {
|
|||||||
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
||||||
expressionTypingComponents.setCallResolver(callResolver);
|
expressionTypingComponents.setCallResolver(callResolver);
|
||||||
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
||||||
|
expressionTypingComponents.setDynamicTypesSettings(dynamicTypesSettings);
|
||||||
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
||||||
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
||||||
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import org.jetbrains.jet.lang.resolve.calls.ArgumentTypeResolver;
|
|||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
||||||
|
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
||||||
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
||||||
@@ -42,7 +43,6 @@ import org.jetbrains.jet.lang.resolve.TypeResolver;
|
|||||||
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider;
|
import org.jetbrains.jet.lang.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider;
|
||||||
import org.jetbrains.jet.context.LazinessToken;
|
import org.jetbrains.jet.context.LazinessToken;
|
||||||
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
||||||
@@ -85,6 +85,7 @@ public class InjectorForLazyBodyResolve {
|
|||||||
private final ExpressionTypingServices expressionTypingServices;
|
private final ExpressionTypingServices expressionTypingServices;
|
||||||
private final ExpressionTypingComponents expressionTypingComponents;
|
private final ExpressionTypingComponents expressionTypingComponents;
|
||||||
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
||||||
|
private final DynamicTypesSettings dynamicTypesSettings;
|
||||||
private final ExpressionTypingUtils expressionTypingUtils;
|
private final ExpressionTypingUtils expressionTypingUtils;
|
||||||
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
||||||
private final ReflectionTypes reflectionTypes;
|
private final ReflectionTypes reflectionTypes;
|
||||||
@@ -95,7 +96,6 @@ public class InjectorForLazyBodyResolve {
|
|||||||
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
||||||
private final FlexibleTypeCapabilitiesProvider flexibleTypeCapabilitiesProvider;
|
private final FlexibleTypeCapabilitiesProvider flexibleTypeCapabilitiesProvider;
|
||||||
private final LazinessToken lazinessToken;
|
private final LazinessToken lazinessToken;
|
||||||
private final DynamicTypesSettings dynamicTypesSettings;
|
|
||||||
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
||||||
private final PartialBodyResolveProvider partialBodyResolveProvider;
|
private final PartialBodyResolveProvider partialBodyResolveProvider;
|
||||||
private final CallCompleter callCompleter;
|
private final CallCompleter callCompleter;
|
||||||
@@ -139,6 +139,7 @@ public class InjectorForLazyBodyResolve {
|
|||||||
this.expressionTypingComponents = new ExpressionTypingComponents();
|
this.expressionTypingComponents = new ExpressionTypingComponents();
|
||||||
this.expressionTypingServices = new ExpressionTypingServices(expressionTypingComponents);
|
this.expressionTypingServices = new ExpressionTypingServices(expressionTypingComponents);
|
||||||
this.controlStructureTypingUtils = new ControlStructureTypingUtils(expressionTypingServices);
|
this.controlStructureTypingUtils = new ControlStructureTypingUtils(expressionTypingServices);
|
||||||
|
this.dynamicTypesSettings = new DynamicTypesSettings();
|
||||||
this.expressionTypingUtils = new ExpressionTypingUtils(expressionTypingServices, callResolver);
|
this.expressionTypingUtils = new ExpressionTypingUtils(expressionTypingServices, callResolver);
|
||||||
this.forLoopConventionsChecker = new ForLoopConventionsChecker();
|
this.forLoopConventionsChecker = new ForLoopConventionsChecker();
|
||||||
this.reflectionTypes = new ReflectionTypes(moduleDescriptor);
|
this.reflectionTypes = new ReflectionTypes(moduleDescriptor);
|
||||||
@@ -148,7 +149,6 @@ public class InjectorForLazyBodyResolve {
|
|||||||
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
||||||
this.flexibleTypeCapabilitiesProvider = new FlexibleTypeCapabilitiesProvider();
|
this.flexibleTypeCapabilitiesProvider = new FlexibleTypeCapabilitiesProvider();
|
||||||
this.lazinessToken = new LazinessToken();
|
this.lazinessToken = new LazinessToken();
|
||||||
this.dynamicTypesSettings = new DynamicTypesSettings();
|
|
||||||
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, moduleDescriptor, flexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings);
|
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, moduleDescriptor, flexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings);
|
||||||
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
||||||
this.partialBodyResolveProvider = new PartialBodyResolveProvider();
|
this.partialBodyResolveProvider = new PartialBodyResolveProvider();
|
||||||
@@ -215,6 +215,7 @@ public class InjectorForLazyBodyResolve {
|
|||||||
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
||||||
expressionTypingComponents.setCallResolver(callResolver);
|
expressionTypingComponents.setCallResolver(callResolver);
|
||||||
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
||||||
|
expressionTypingComponents.setDynamicTypesSettings(dynamicTypesSettings);
|
||||||
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
||||||
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
||||||
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import org.jetbrains.jet.lang.resolve.calls.ArgumentTypeResolver;
|
|||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
||||||
|
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
||||||
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
||||||
@@ -41,7 +42,6 @@ import org.jetbrains.jet.lang.resolve.DelegatedPropertyResolver;
|
|||||||
import org.jetbrains.jet.lang.resolve.TypeResolver;
|
import org.jetbrains.jet.lang.resolve.TypeResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider;
|
import org.jetbrains.jet.lang.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider;
|
||||||
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
||||||
@@ -74,6 +74,7 @@ public class InjectorForLazyResolve {
|
|||||||
private final ExpressionTypingServices expressionTypingServices;
|
private final ExpressionTypingServices expressionTypingServices;
|
||||||
private final ExpressionTypingComponents expressionTypingComponents;
|
private final ExpressionTypingComponents expressionTypingComponents;
|
||||||
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
||||||
|
private final DynamicTypesSettings dynamicTypesSettings;
|
||||||
private final ExpressionTypingUtils expressionTypingUtils;
|
private final ExpressionTypingUtils expressionTypingUtils;
|
||||||
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
||||||
private final ReflectionTypes reflectionTypes;
|
private final ReflectionTypes reflectionTypes;
|
||||||
@@ -83,7 +84,6 @@ public class InjectorForLazyResolve {
|
|||||||
private final TypeResolver typeResolver;
|
private final TypeResolver typeResolver;
|
||||||
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
||||||
private final FlexibleTypeCapabilitiesProvider flexibleTypeCapabilitiesProvider;
|
private final FlexibleTypeCapabilitiesProvider flexibleTypeCapabilitiesProvider;
|
||||||
private final DynamicTypesSettings dynamicTypesSettings;
|
|
||||||
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
||||||
private final PartialBodyResolveProvider partialBodyResolveProvider;
|
private final PartialBodyResolveProvider partialBodyResolveProvider;
|
||||||
private final CallCompleter callCompleter;
|
private final CallCompleter callCompleter;
|
||||||
@@ -118,6 +118,7 @@ public class InjectorForLazyResolve {
|
|||||||
this.expressionTypingComponents = new ExpressionTypingComponents();
|
this.expressionTypingComponents = new ExpressionTypingComponents();
|
||||||
this.expressionTypingServices = new ExpressionTypingServices(expressionTypingComponents);
|
this.expressionTypingServices = new ExpressionTypingServices(expressionTypingComponents);
|
||||||
this.controlStructureTypingUtils = new ControlStructureTypingUtils(expressionTypingServices);
|
this.controlStructureTypingUtils = new ControlStructureTypingUtils(expressionTypingServices);
|
||||||
|
this.dynamicTypesSettings = new DynamicTypesSettings();
|
||||||
this.expressionTypingUtils = new ExpressionTypingUtils(expressionTypingServices, callResolver);
|
this.expressionTypingUtils = new ExpressionTypingUtils(expressionTypingServices, callResolver);
|
||||||
this.forLoopConventionsChecker = new ForLoopConventionsChecker();
|
this.forLoopConventionsChecker = new ForLoopConventionsChecker();
|
||||||
this.reflectionTypes = new ReflectionTypes(moduleDescriptor);
|
this.reflectionTypes = new ReflectionTypes(moduleDescriptor);
|
||||||
@@ -126,7 +127,6 @@ public class InjectorForLazyResolve {
|
|||||||
this.delegatedPropertyResolver = new DelegatedPropertyResolver();
|
this.delegatedPropertyResolver = new DelegatedPropertyResolver();
|
||||||
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
||||||
this.flexibleTypeCapabilitiesProvider = new FlexibleTypeCapabilitiesProvider();
|
this.flexibleTypeCapabilitiesProvider = new FlexibleTypeCapabilitiesProvider();
|
||||||
this.dynamicTypesSettings = new DynamicTypesSettings();
|
|
||||||
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, moduleDescriptor, flexibleTypeCapabilitiesProvider, storageManager, lazyResolveToken, dynamicTypesSettings);
|
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, moduleDescriptor, flexibleTypeCapabilitiesProvider, storageManager, lazyResolveToken, dynamicTypesSettings);
|
||||||
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
||||||
this.partialBodyResolveProvider = new PartialBodyResolveProvider();
|
this.partialBodyResolveProvider = new PartialBodyResolveProvider();
|
||||||
@@ -172,6 +172,7 @@ public class InjectorForLazyResolve {
|
|||||||
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
||||||
expressionTypingComponents.setCallResolver(callResolver);
|
expressionTypingComponents.setCallResolver(callResolver);
|
||||||
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
||||||
|
expressionTypingComponents.setDynamicTypesSettings(dynamicTypesSettings);
|
||||||
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
||||||
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
||||||
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import org.jetbrains.jet.lang.resolve.calls.ArgumentTypeResolver;
|
|||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
||||||
|
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
||||||
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
||||||
@@ -42,7 +43,6 @@ import org.jetbrains.jet.lang.resolve.TypeResolver;
|
|||||||
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider;
|
import org.jetbrains.jet.lang.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider;
|
||||||
import org.jetbrains.jet.context.LazinessToken;
|
import org.jetbrains.jet.context.LazinessToken;
|
||||||
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
||||||
@@ -88,6 +88,7 @@ public class InjectorForLazyTopDownAnalyzerBasic {
|
|||||||
private final ExpressionTypingServices expressionTypingServices;
|
private final ExpressionTypingServices expressionTypingServices;
|
||||||
private final ExpressionTypingComponents expressionTypingComponents;
|
private final ExpressionTypingComponents expressionTypingComponents;
|
||||||
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
||||||
|
private final DynamicTypesSettings dynamicTypesSettings;
|
||||||
private final ExpressionTypingUtils expressionTypingUtils;
|
private final ExpressionTypingUtils expressionTypingUtils;
|
||||||
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
||||||
private final ReflectionTypes reflectionTypes;
|
private final ReflectionTypes reflectionTypes;
|
||||||
@@ -98,7 +99,6 @@ public class InjectorForLazyTopDownAnalyzerBasic {
|
|||||||
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
||||||
private final FlexibleTypeCapabilitiesProvider flexibleTypeCapabilitiesProvider;
|
private final FlexibleTypeCapabilitiesProvider flexibleTypeCapabilitiesProvider;
|
||||||
private final LazinessToken lazinessToken;
|
private final LazinessToken lazinessToken;
|
||||||
private final DynamicTypesSettings dynamicTypesSettings;
|
|
||||||
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
||||||
private final PartialBodyResolveProvider partialBodyResolveProvider;
|
private final PartialBodyResolveProvider partialBodyResolveProvider;
|
||||||
private final CallCompleter callCompleter;
|
private final CallCompleter callCompleter;
|
||||||
@@ -145,6 +145,7 @@ public class InjectorForLazyTopDownAnalyzerBasic {
|
|||||||
this.expressionTypingComponents = new ExpressionTypingComponents();
|
this.expressionTypingComponents = new ExpressionTypingComponents();
|
||||||
this.expressionTypingServices = new ExpressionTypingServices(expressionTypingComponents);
|
this.expressionTypingServices = new ExpressionTypingServices(expressionTypingComponents);
|
||||||
this.controlStructureTypingUtils = new ControlStructureTypingUtils(expressionTypingServices);
|
this.controlStructureTypingUtils = new ControlStructureTypingUtils(expressionTypingServices);
|
||||||
|
this.dynamicTypesSettings = new DynamicTypesSettings();
|
||||||
this.expressionTypingUtils = new ExpressionTypingUtils(expressionTypingServices, callResolver);
|
this.expressionTypingUtils = new ExpressionTypingUtils(expressionTypingServices, callResolver);
|
||||||
this.forLoopConventionsChecker = new ForLoopConventionsChecker();
|
this.forLoopConventionsChecker = new ForLoopConventionsChecker();
|
||||||
this.reflectionTypes = new ReflectionTypes(module);
|
this.reflectionTypes = new ReflectionTypes(module);
|
||||||
@@ -154,7 +155,6 @@ public class InjectorForLazyTopDownAnalyzerBasic {
|
|||||||
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
||||||
this.flexibleTypeCapabilitiesProvider = new FlexibleTypeCapabilitiesProvider();
|
this.flexibleTypeCapabilitiesProvider = new FlexibleTypeCapabilitiesProvider();
|
||||||
this.lazinessToken = new LazinessToken();
|
this.lazinessToken = new LazinessToken();
|
||||||
this.dynamicTypesSettings = new DynamicTypesSettings();
|
|
||||||
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, module, flexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings);
|
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, module, flexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings);
|
||||||
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
||||||
this.partialBodyResolveProvider = new PartialBodyResolveProvider();
|
this.partialBodyResolveProvider = new PartialBodyResolveProvider();
|
||||||
@@ -222,6 +222,7 @@ public class InjectorForLazyTopDownAnalyzerBasic {
|
|||||||
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
||||||
expressionTypingComponents.setCallResolver(callResolver);
|
expressionTypingComponents.setCallResolver(callResolver);
|
||||||
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
||||||
|
expressionTypingComponents.setDynamicTypesSettings(dynamicTypesSettings);
|
||||||
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
||||||
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
||||||
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
||||||
|
|||||||
@@ -125,6 +125,7 @@ public class InjectorForMacros {
|
|||||||
this.expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
this.expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
||||||
this.expressionTypingComponents.setCallResolver(callResolver);
|
this.expressionTypingComponents.setCallResolver(callResolver);
|
||||||
this.expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
this.expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
||||||
|
this.expressionTypingComponents.setDynamicTypesSettings(dynamicTypesSettings);
|
||||||
this.expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
this.expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
||||||
this.expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
this.expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
||||||
this.expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
this.expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
|||||||
import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
|
import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
|
||||||
import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider;
|
import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.AdditionalCheckerProvider;
|
import org.jetbrains.jet.lang.resolve.AdditionalCheckerProvider;
|
||||||
|
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
||||||
import org.jetbrains.jet.lang.resolve.BodyResolver;
|
import org.jetbrains.jet.lang.resolve.BodyResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.AnnotationResolver;
|
import org.jetbrains.jet.lang.resolve.AnnotationResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallResolver;
|
import org.jetbrains.jet.lang.resolve.calls.CallResolver;
|
||||||
@@ -42,7 +43,6 @@ import org.jetbrains.jet.lang.resolve.TypeResolver;
|
|||||||
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider;
|
import org.jetbrains.jet.lang.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider;
|
||||||
import org.jetbrains.jet.context.LazinessToken;
|
import org.jetbrains.jet.context.LazinessToken;
|
||||||
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
import org.jetbrains.jet.lang.resolve.calls.CallCompleter;
|
||||||
@@ -76,6 +76,7 @@ public class InjectorForTopDownAnalyzerBasic {
|
|||||||
private final TopDownAnalyzer topDownAnalyzer;
|
private final TopDownAnalyzer topDownAnalyzer;
|
||||||
private final MutablePackageFragmentProvider mutablePackageFragmentProvider;
|
private final MutablePackageFragmentProvider mutablePackageFragmentProvider;
|
||||||
private final AdditionalCheckerProvider additionalCheckerProvider;
|
private final AdditionalCheckerProvider additionalCheckerProvider;
|
||||||
|
private final DynamicTypesSettings dynamicTypesSettings;
|
||||||
private final BodyResolver bodyResolver;
|
private final BodyResolver bodyResolver;
|
||||||
private final AnnotationResolver annotationResolver;
|
private final AnnotationResolver annotationResolver;
|
||||||
private final CallResolver callResolver;
|
private final CallResolver callResolver;
|
||||||
@@ -93,7 +94,6 @@ public class InjectorForTopDownAnalyzerBasic {
|
|||||||
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
||||||
private final FlexibleTypeCapabilitiesProvider flexibleTypeCapabilitiesProvider;
|
private final FlexibleTypeCapabilitiesProvider flexibleTypeCapabilitiesProvider;
|
||||||
private final LazinessToken lazinessToken;
|
private final LazinessToken lazinessToken;
|
||||||
private final DynamicTypesSettings dynamicTypesSettings;
|
|
||||||
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
private final CallResolverExtensionProvider callResolverExtensionProvider;
|
||||||
private final PartialBodyResolveProvider partialBodyResolveProvider;
|
private final PartialBodyResolveProvider partialBodyResolveProvider;
|
||||||
private final CallCompleter callCompleter;
|
private final CallCompleter callCompleter;
|
||||||
@@ -117,7 +117,8 @@ public class InjectorForTopDownAnalyzerBasic {
|
|||||||
@NotNull GlobalContext globalContext,
|
@NotNull GlobalContext globalContext,
|
||||||
@NotNull BindingTrace bindingTrace,
|
@NotNull BindingTrace bindingTrace,
|
||||||
@NotNull ModuleDescriptor moduleDescriptor,
|
@NotNull ModuleDescriptor moduleDescriptor,
|
||||||
@NotNull AdditionalCheckerProvider additionalCheckerProvider
|
@NotNull AdditionalCheckerProvider additionalCheckerProvider,
|
||||||
|
@NotNull DynamicTypesSettings dynamicTypesSettings
|
||||||
) {
|
) {
|
||||||
this.project = project;
|
this.project = project;
|
||||||
this.globalContext = globalContext;
|
this.globalContext = globalContext;
|
||||||
@@ -128,6 +129,7 @@ public class InjectorForTopDownAnalyzerBasic {
|
|||||||
this.topDownAnalyzer = new TopDownAnalyzer();
|
this.topDownAnalyzer = new TopDownAnalyzer();
|
||||||
this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor());
|
this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor());
|
||||||
this.additionalCheckerProvider = additionalCheckerProvider;
|
this.additionalCheckerProvider = additionalCheckerProvider;
|
||||||
|
this.dynamicTypesSettings = dynamicTypesSettings;
|
||||||
this.bodyResolver = new BodyResolver();
|
this.bodyResolver = new BodyResolver();
|
||||||
this.annotationResolver = new AnnotationResolver();
|
this.annotationResolver = new AnnotationResolver();
|
||||||
this.callResolver = new CallResolver();
|
this.callResolver = new CallResolver();
|
||||||
@@ -144,7 +146,6 @@ public class InjectorForTopDownAnalyzerBasic {
|
|||||||
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
this.qualifiedExpressionResolver = new QualifiedExpressionResolver();
|
||||||
this.flexibleTypeCapabilitiesProvider = new FlexibleTypeCapabilitiesProvider();
|
this.flexibleTypeCapabilitiesProvider = new FlexibleTypeCapabilitiesProvider();
|
||||||
this.lazinessToken = new LazinessToken();
|
this.lazinessToken = new LazinessToken();
|
||||||
this.dynamicTypesSettings = new DynamicTypesSettings();
|
|
||||||
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, getModuleDescriptor(), flexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings);
|
this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, getModuleDescriptor(), flexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings);
|
||||||
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
this.callResolverExtensionProvider = new CallResolverExtensionProvider();
|
||||||
this.partialBodyResolveProvider = new PartialBodyResolveProvider();
|
this.partialBodyResolveProvider = new PartialBodyResolveProvider();
|
||||||
@@ -208,6 +209,7 @@ public class InjectorForTopDownAnalyzerBasic {
|
|||||||
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
||||||
expressionTypingComponents.setCallResolver(callResolver);
|
expressionTypingComponents.setCallResolver(callResolver);
|
||||||
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
||||||
|
expressionTypingComponents.setDynamicTypesSettings(dynamicTypesSettings);
|
||||||
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
||||||
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
||||||
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
||||||
|
|||||||
+2
-1
@@ -91,7 +91,8 @@ public class ClosureExpressionsTypingVisitor extends ExpressionTypingVisitor {
|
|||||||
context.replaceBindingTrace(traceAdapter).replaceContextDependency(INDEPENDENT),
|
context.replaceBindingTrace(traceAdapter).replaceContextDependency(INDEPENDENT),
|
||||||
context.scope.getContainingDeclaration(),
|
context.scope.getContainingDeclaration(),
|
||||||
expression.getObjectDeclaration(),
|
expression.getObjectDeclaration(),
|
||||||
components.additionalCheckerProvider);
|
components.additionalCheckerProvider,
|
||||||
|
components.dynamicTypesSettings);
|
||||||
|
|
||||||
DelegatingBindingTrace cloneDelta = new DelegatingBindingTrace(
|
DelegatingBindingTrace cloneDelta = new DelegatingBindingTrace(
|
||||||
new BindingTraceContext().getBindingContext(), "cached delta trace for object literal expression resolve", expression);
|
new BindingTraceContext().getBindingContext(), "cached delta trace for object literal expression resolve", expression);
|
||||||
|
|||||||
+7
@@ -22,6 +22,7 @@ import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
|||||||
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
||||||
import org.jetbrains.jet.lang.resolve.AdditionalCheckerProvider;
|
import org.jetbrains.jet.lang.resolve.AdditionalCheckerProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallResolver;
|
import org.jetbrains.jet.lang.resolve.calls.CallResolver;
|
||||||
|
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
@@ -35,6 +36,7 @@ public class ExpressionTypingComponents {
|
|||||||
/*package*/ ForLoopConventionsChecker forLoopConventionsChecker;
|
/*package*/ ForLoopConventionsChecker forLoopConventionsChecker;
|
||||||
/*package*/ ReflectionTypes reflectionTypes;
|
/*package*/ ReflectionTypes reflectionTypes;
|
||||||
/*package*/ AdditionalCheckerProvider additionalCheckerProvider;
|
/*package*/ AdditionalCheckerProvider additionalCheckerProvider;
|
||||||
|
/*package*/ DynamicTypesSettings dynamicTypesSettings;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public void setGlobalContext(@NotNull GlobalContext globalContext) {
|
public void setGlobalContext(@NotNull GlobalContext globalContext) {
|
||||||
@@ -81,6 +83,11 @@ public class ExpressionTypingComponents {
|
|||||||
this.additionalCheckerProvider = additionalCheckerProvider;
|
this.additionalCheckerProvider = additionalCheckerProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public void setDynamicTypesSettings(@NotNull DynamicTypesSettings dynamicTypesSettings) {
|
||||||
|
this.dynamicTypesSettings = dynamicTypesSettings;
|
||||||
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public ForLoopConventionsChecker getForLoopConventionsChecker() {
|
public ForLoopConventionsChecker getForLoopConventionsChecker() {
|
||||||
return forLoopConventionsChecker;
|
return forLoopConventionsChecker;
|
||||||
|
|||||||
+4
-2
@@ -88,7 +88,8 @@ public class ExpressionTypingVisitorForStatements extends ExpressionTypingVisito
|
|||||||
LocalClassifierAnalyzer.processClassOrObject(
|
LocalClassifierAnalyzer.processClassOrObject(
|
||||||
components.globalContext,
|
components.globalContext,
|
||||||
scope, context.replaceScope(scope).replaceContextDependency(INDEPENDENT), scope.getContainingDeclaration(), declaration,
|
scope, context.replaceScope(scope).replaceContextDependency(INDEPENDENT), scope.getContainingDeclaration(), declaration,
|
||||||
components.additionalCheckerProvider);
|
components.additionalCheckerProvider,
|
||||||
|
components.dynamicTypesSettings);
|
||||||
return DataFlowUtils.checkStatementType(declaration, context, context.dataFlowInfo);
|
return DataFlowUtils.checkStatementType(declaration, context, context.dataFlowInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -185,7 +186,8 @@ public class ExpressionTypingVisitorForStatements extends ExpressionTypingVisito
|
|||||||
LocalClassifierAnalyzer.processClassOrObject(
|
LocalClassifierAnalyzer.processClassOrObject(
|
||||||
components.globalContext,
|
components.globalContext,
|
||||||
scope, context.replaceScope(scope).replaceContextDependency(INDEPENDENT), scope.getContainingDeclaration(), klass,
|
scope, context.replaceScope(scope).replaceContextDependency(INDEPENDENT), scope.getContainingDeclaration(), klass,
|
||||||
components.additionalCheckerProvider);
|
components.additionalCheckerProvider,
|
||||||
|
components.dynamicTypesSettings);
|
||||||
return DataFlowUtils.checkStatementType(klass, context, context.dataFlowInfo);
|
return DataFlowUtils.checkStatementType(klass, context, context.dataFlowInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+5
-2
@@ -33,6 +33,7 @@ import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
|||||||
import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
|
import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
|
||||||
import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
|
import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
|
||||||
import org.jetbrains.jet.lang.resolve.scopes.WritableScope;
|
import org.jetbrains.jet.lang.resolve.scopes.WritableScope;
|
||||||
|
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
@@ -43,7 +44,8 @@ import java.util.Collections;
|
|||||||
@NotNull ExpressionTypingContext context,
|
@NotNull ExpressionTypingContext context,
|
||||||
@NotNull final DeclarationDescriptor containingDeclaration,
|
@NotNull final DeclarationDescriptor containingDeclaration,
|
||||||
@NotNull JetClassOrObject object,
|
@NotNull JetClassOrObject object,
|
||||||
@NotNull AdditionalCheckerProvider additionalCheckerProvider
|
@NotNull AdditionalCheckerProvider additionalCheckerProvider,
|
||||||
|
@NotNull DynamicTypesSettings dynamicTypesSettings
|
||||||
) {
|
) {
|
||||||
TopDownAnalysisParameters topDownAnalysisParameters =
|
TopDownAnalysisParameters topDownAnalysisParameters =
|
||||||
TopDownAnalysisParameters.createForLocalDeclarations(
|
TopDownAnalysisParameters.createForLocalDeclarations(
|
||||||
@@ -57,7 +59,8 @@ import java.util.Collections;
|
|||||||
topDownAnalysisParameters,
|
topDownAnalysisParameters,
|
||||||
context.trace,
|
context.trace,
|
||||||
DescriptorUtils.getContainingModule(containingDeclaration),
|
DescriptorUtils.getContainingModule(containingDeclaration),
|
||||||
additionalCheckerProvider
|
additionalCheckerProvider,
|
||||||
|
dynamicTypesSettings
|
||||||
);
|
);
|
||||||
|
|
||||||
TopDownAnalysisContext c = new TopDownAnalysisContext(topDownAnalysisParameters);
|
TopDownAnalysisContext c = new TopDownAnalysisContext(topDownAnalysisParameters);
|
||||||
|
|||||||
@@ -1 +1,21 @@
|
|||||||
val foo: <!UNSUPPORTED!>dynamic<!> = 1
|
// MODULE[jvm]: m1
|
||||||
|
// FILE: k.kt
|
||||||
|
|
||||||
|
val foo: <!UNSUPPORTED!>dynamic<!> = 1
|
||||||
|
|
||||||
|
fun foo() {
|
||||||
|
class C {
|
||||||
|
val foo: <!UNSUPPORTED!>dynamic<!> = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// MODULE[js]: m2
|
||||||
|
// FILE: k.kt
|
||||||
|
|
||||||
|
val foo: dynamic = 1
|
||||||
|
|
||||||
|
fun foo() {
|
||||||
|
class C {
|
||||||
|
val foo: dynamic = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,3 +1,14 @@
|
|||||||
|
// -- Module: <m1> --
|
||||||
package
|
package
|
||||||
|
|
||||||
internal val foo: dynamic = 1
|
internal val foo: dynamic = 1
|
||||||
|
internal fun foo(): kotlin.Unit
|
||||||
|
|
||||||
|
|
||||||
|
// -- Module: <m2> --
|
||||||
|
package
|
||||||
|
|
||||||
|
internal val foo: dynamic = 1
|
||||||
|
internal fun foo(): kotlin.Unit
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import org.jetbrains.jet.lang.resolve.calls.tasks.TaskPrioritizer;
|
|||||||
import org.jetbrains.jet.lang.resolve.DelegatedPropertyResolver;
|
import org.jetbrains.jet.lang.resolve.DelegatedPropertyResolver;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ControlStructureTypingUtils;
|
||||||
|
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
import org.jetbrains.jet.lang.types.expressions.ForLoopConventionsChecker;
|
||||||
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
import org.jetbrains.jet.lang.reflect.ReflectionTypes;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallExpressionResolver;
|
import org.jetbrains.jet.lang.resolve.calls.CallExpressionResolver;
|
||||||
@@ -43,7 +44,6 @@ import org.jetbrains.jet.lang.resolve.PartialBodyResolveProvider;
|
|||||||
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider;
|
import org.jetbrains.jet.lang.resolve.TypeResolver.FlexibleTypeCapabilitiesProvider;
|
||||||
import org.jetbrains.jet.context.LazinessToken;
|
import org.jetbrains.jet.context.LazinessToken;
|
||||||
import org.jetbrains.jet.lang.types.DynamicTypesSettings;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import javax.annotation.PreDestroy;
|
import javax.annotation.PreDestroy;
|
||||||
|
|
||||||
@@ -70,6 +70,7 @@ public class InjectorForTests {
|
|||||||
private final DelegatedPropertyResolver delegatedPropertyResolver;
|
private final DelegatedPropertyResolver delegatedPropertyResolver;
|
||||||
private final ExpressionTypingComponents expressionTypingComponents;
|
private final ExpressionTypingComponents expressionTypingComponents;
|
||||||
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
private final ControlStructureTypingUtils controlStructureTypingUtils;
|
||||||
|
private final DynamicTypesSettings dynamicTypesSettings;
|
||||||
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
private final ForLoopConventionsChecker forLoopConventionsChecker;
|
||||||
private final ReflectionTypes reflectionTypes;
|
private final ReflectionTypes reflectionTypes;
|
||||||
private final CallExpressionResolver callExpressionResolver;
|
private final CallExpressionResolver callExpressionResolver;
|
||||||
@@ -78,7 +79,6 @@ public class InjectorForTests {
|
|||||||
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
private final QualifiedExpressionResolver qualifiedExpressionResolver;
|
||||||
private final FlexibleTypeCapabilitiesProvider flexibleTypeCapabilitiesProvider;
|
private final FlexibleTypeCapabilitiesProvider flexibleTypeCapabilitiesProvider;
|
||||||
private final LazinessToken lazinessToken;
|
private final LazinessToken lazinessToken;
|
||||||
private final DynamicTypesSettings dynamicTypesSettings;
|
|
||||||
|
|
||||||
public InjectorForTests(
|
public InjectorForTests(
|
||||||
@NotNull Project project,
|
@NotNull Project project,
|
||||||
@@ -150,6 +150,7 @@ public class InjectorForTests {
|
|||||||
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
||||||
expressionTypingComponents.setCallResolver(callResolver);
|
expressionTypingComponents.setCallResolver(callResolver);
|
||||||
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
||||||
|
expressionTypingComponents.setDynamicTypesSettings(dynamicTypesSettings);
|
||||||
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
||||||
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
||||||
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolverPostConstruct
|
|||||||
import org.jetbrains.jet.lang.resolve.lazy.ScopeProvider
|
import org.jetbrains.jet.lang.resolve.lazy.ScopeProvider
|
||||||
import org.jetbrains.k2js.resolve.KotlinJsDeclarationCheckerProvider
|
import org.jetbrains.k2js.resolve.KotlinJsDeclarationCheckerProvider
|
||||||
import org.jetbrains.jet.lang.types.DynamicTypesAllowed
|
import org.jetbrains.jet.lang.types.DynamicTypesAllowed
|
||||||
|
import org.jetbrains.jet.lang.types.DynamicTypesSettings
|
||||||
|
|
||||||
// NOTE: After making changes, you need to re-generate the injectors.
|
// NOTE: After making changes, you need to re-generate the injectors.
|
||||||
// To do that, you can run main in this file.
|
// To do that, you can run main in this file.
|
||||||
@@ -95,6 +96,7 @@ private fun generatorForTopDownAnalyzerBasic() =
|
|||||||
field(javaClass<MutablePackageFragmentProvider>())
|
field(javaClass<MutablePackageFragmentProvider>())
|
||||||
|
|
||||||
parameter(javaClass<AdditionalCheckerProvider>())
|
parameter(javaClass<AdditionalCheckerProvider>())
|
||||||
|
parameter(javaClass<DynamicTypesSettings>())
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun generatorForLazyTopDownAnalyzerBasic() =
|
private fun generatorForLazyTopDownAnalyzerBasic() =
|
||||||
|
|||||||
@@ -222,6 +222,7 @@ public class InjectorForTopDownAnalyzerForJs {
|
|||||||
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
expressionTypingComponents.setAdditionalCheckerProvider(additionalCheckerProvider);
|
||||||
expressionTypingComponents.setCallResolver(callResolver);
|
expressionTypingComponents.setCallResolver(callResolver);
|
||||||
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
expressionTypingComponents.setControlStructureTypingUtils(controlStructureTypingUtils);
|
||||||
|
expressionTypingComponents.setDynamicTypesSettings(dynamicTypesAllowed);
|
||||||
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
expressionTypingComponents.setExpressionTypingServices(expressionTypingServices);
|
||||||
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
expressionTypingComponents.setExpressionTypingUtils(expressionTypingUtils);
|
||||||
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
expressionTypingComponents.setForLoopConventionsChecker(forLoopConventionsChecker);
|
||||||
|
|||||||
Reference in New Issue
Block a user