JS frontend: added checkers for nativeInvoke, nativeGetter, nativeSetter.

This commit is contained in:
Zalim Bashorov
2014-11-25 16:33:48 +03:00
parent fdfbae05e4
commit c06d70d190
18 changed files with 228 additions and 24 deletions
@@ -18,8 +18,6 @@ package org.jetbrains.jet.plugin.caches.resolve
import org.jetbrains.jet.lang.resolve.lazy.ResolveSession
import org.jetbrains.jet.analyzer.ResolverForModule
import org.jetbrains.jet.lang.psi.JetFile
import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.jet.analyzer.PlatformAnalysisParameters
import org.jetbrains.jet.analyzer.AnalyzerFacade
import com.intellij.openapi.project.Project
@@ -33,7 +31,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
import org.jetbrains.k2js.resolve.KotlinJsDeclarationCheckerProvider
public class JsResolverForModule(
override val lazyResolveSession: ResolveSession
@@ -55,7 +53,7 @@ public object JsAnalyzerFacade : AnalyzerFacade<JsResolverForModule, PlatformAna
project, globalContext.storageManager, syntheticFiles, moduleContentScope
)
val injector = InjectorForLazyResolve(project, globalContext, moduleDescriptor, declarationProviderFactory, BindingTraceContext(), AdditionalCheckerProvider.Empty)
val injector = InjectorForLazyResolve(project, globalContext, moduleDescriptor, declarationProviderFactory, BindingTraceContext(), KotlinJsDeclarationCheckerProvider)
val resolveSession = injector.getResolveSession()!!
moduleDescriptor.initialize(resolveSession.getPackageFragmentProvider())
return JsResolverForModule(resolveSession)
@@ -19,11 +19,12 @@ package org.jetbrains.jet.plugin.project;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.resolve.AdditionalCheckerProvider;
import org.jetbrains.jet.lang.resolve.kotlin.JavaDeclarationCheckerProvider;
import org.jetbrains.k2js.resolve.KotlinJsDeclarationCheckerProvider;
public interface TargetPlatform {
@NotNull
AdditionalCheckerProvider getAdditionalCheckerProvider();
TargetPlatform JVM = new TargetPlatformImpl("JVM", JavaDeclarationCheckerProvider.INSTANCE$);
TargetPlatform JS = new TargetPlatformImpl("JS");
TargetPlatform JS = new TargetPlatformImpl("JS", KotlinJsDeclarationCheckerProvider.INSTANCE$);
}