Added platform static checker with provider implementation
This commit is contained in:
@@ -33,6 +33,7 @@ import org.jetbrains.jet.di.InjectorForLazyResolve
|
||||
import org.jetbrains.jet.lang.descriptors.impl.ModuleDescriptorImpl
|
||||
import org.jetbrains.jet.analyzer.ModuleInfo
|
||||
import org.jetbrains.jet.analyzer.ModuleContent
|
||||
import org.jetbrains.jet.lang.resolve.AdditionalCheckerProvider
|
||||
|
||||
public class JsResolverForModule(
|
||||
override val lazyResolveSession: ResolveSession
|
||||
@@ -54,7 +55,7 @@ public object JsAnalyzerFacade : AnalyzerFacade<JsResolverForModule, PlatformAna
|
||||
project, globalContext.storageManager, syntheticFiles, moduleContentScope
|
||||
)
|
||||
|
||||
val injector = InjectorForLazyResolve(project, globalContext, moduleDescriptor, declarationProviderFactory, BindingTraceContext())
|
||||
val injector = InjectorForLazyResolve(project, globalContext, moduleDescriptor, declarationProviderFactory, BindingTraceContext(), AdditionalCheckerProvider.Empty)
|
||||
val resolveSession = injector.getResolveSession()!!
|
||||
moduleDescriptor.initialize(resolveSession.getPackageFragmentProvider())
|
||||
return JsResolverForModule(resolveSession)
|
||||
|
||||
+3
-1
@@ -46,6 +46,7 @@ import org.jetbrains.jet.lang.descriptors.CallableDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.impl.ModuleDescriptorImpl;
|
||||
import org.jetbrains.jet.lang.psi.*;
|
||||
import org.jetbrains.jet.lang.resolve.AdditionalCheckerProvider;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTraceContext;
|
||||
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
||||
import org.jetbrains.jet.lang.resolve.java.TopDownAnalyzerFacadeForJVM;
|
||||
@@ -257,7 +258,8 @@ public class JetSourceNavigationHelper {
|
||||
globalContext,
|
||||
moduleDescriptor,
|
||||
providerFactory,
|
||||
new BindingTraceContext()).getResolveSession();
|
||||
new BindingTraceContext(),
|
||||
AdditionalCheckerProvider.Empty.INSTANCE$).getResolveSession();
|
||||
|
||||
moduleDescriptor.initialize(resolveSession.getPackageFragmentProvider());
|
||||
return resolveSession;
|
||||
|
||||
@@ -25,7 +25,10 @@ import kotlin.Function1;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.psi.JetElement;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.resolve.AdditionalCheckerProvider;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.JavaDeclarationCheckerProvider;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.ElementResolver;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.ResolveSession;
|
||||
import org.jetbrains.jet.storage.LazyResolveStorageManager;
|
||||
@@ -66,4 +69,14 @@ public class ResolveElementCache extends ElementResolver {
|
||||
public BindingContext getElementAdditionalResolve(@NotNull JetElement jetElement) {
|
||||
return additionalResolveCache.getValue().invoke(jetElement);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public AdditionalCheckerProvider getAdditionalCheckerProvider(@NotNull JetFile jetFile) {
|
||||
TargetPlatform platform = TargetPlatformDetector.getPlatform(jetFile);
|
||||
if (platform == TargetPlatform.JS) {
|
||||
return AdditionalCheckerProvider.Empty.INSTANCE$;
|
||||
}
|
||||
return JavaDeclarationCheckerProvider.INSTANCE$;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -107,7 +107,7 @@ public class BuiltInsReferenceResolver extends AbstractProjectComponent {
|
||||
module.seal();
|
||||
BindingTraceContext trace = new BindingTraceContext();
|
||||
InjectorForTopDownAnalyzerBasic injector = new InjectorForTopDownAnalyzerBasic(
|
||||
myProject, topDownAnalysisParameters, trace, module);
|
||||
myProject, topDownAnalysisParameters, trace, module, AdditionalCheckerProvider.Empty.INSTANCE$);
|
||||
|
||||
TopDownAnalyzer analyzer = injector.getTopDownAnalyzer();
|
||||
analyzer.analyzeFiles(topDownAnalysisParameters, jetBuiltInsFiles);
|
||||
|
||||
Reference in New Issue
Block a user