ModuleDescriptor stores a ModuleConfiguration
This commit is contained in:
@@ -95,6 +95,7 @@ public class ReplInterpreter {
|
|||||||
true,
|
true,
|
||||||
Collections.<AnalyzerScriptParameter>emptyList());
|
Collections.<AnalyzerScriptParameter>emptyList());
|
||||||
injector = new InjectorForTopDownAnalyzerForJvm(project, topDownAnalysisParameters, trace, module);
|
injector = new InjectorForTopDownAnalyzerForJvm(project, topDownAnalysisParameters, trace, module);
|
||||||
|
module.setModuleConfiguration(injector.getModuleConfiguration());
|
||||||
|
|
||||||
List<URL> classpath = Lists.newArrayList();
|
List<URL> classpath = Lists.newArrayList();
|
||||||
|
|
||||||
|
|||||||
+5
-1
@@ -92,7 +92,7 @@ public class InjectorForJavaDescriptorResolver {
|
|||||||
this.javaInnerClassResolver = new JavaInnerClassResolver();
|
this.javaInnerClassResolver = new JavaInnerClassResolver();
|
||||||
this.javaPropertyResolver = new JavaPropertyResolver();
|
this.javaPropertyResolver = new JavaPropertyResolver();
|
||||||
|
|
||||||
javaBridgeConfiguration.setJavaSemanticServices(javaSemanticServices);
|
this.javaBridgeConfiguration.setJavaSemanticServices(javaSemanticServices);
|
||||||
|
|
||||||
this.javaSemanticServices.setDescriptorResolver(javaDescriptorResolver);
|
this.javaSemanticServices.setDescriptorResolver(javaDescriptorResolver);
|
||||||
this.javaSemanticServices.setPsiClassFinder(psiClassFinder);
|
this.javaSemanticServices.setPsiClassFinder(psiClassFinder);
|
||||||
@@ -183,6 +183,10 @@ public class InjectorForJavaDescriptorResolver {
|
|||||||
return this.moduleDescriptor;
|
return this.moduleDescriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public JavaBridgeConfiguration getJavaBridgeConfiguration() {
|
||||||
|
return this.javaBridgeConfiguration;
|
||||||
|
}
|
||||||
|
|
||||||
public JavaSemanticServices getJavaSemanticServices() {
|
public JavaSemanticServices getJavaSemanticServices() {
|
||||||
return this.javaSemanticServices;
|
return this.javaSemanticServices;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -107,6 +107,8 @@ public class InjectorForJavaSemanticServices {
|
|||||||
|
|
||||||
this.psiClassFinder.setProject(project);
|
this.psiClassFinder.setProject(project);
|
||||||
|
|
||||||
|
moduleDescriptor.setModuleConfiguration(javaBridgeConfiguration);
|
||||||
|
|
||||||
javaTypeTransformer.setJavaSemanticServices(javaSemanticServices);
|
javaTypeTransformer.setJavaSemanticServices(javaSemanticServices);
|
||||||
javaTypeTransformer.setResolver(javaDescriptorResolver);
|
javaTypeTransformer.setResolver(javaDescriptorResolver);
|
||||||
|
|
||||||
|
|||||||
+5
-3
@@ -31,14 +31,13 @@ import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm;
|
|||||||
import org.jetbrains.jet.lang.DefaultModuleConfiguration;
|
import org.jetbrains.jet.lang.DefaultModuleConfiguration;
|
||||||
import org.jetbrains.jet.lang.ModuleConfiguration;
|
import org.jetbrains.jet.lang.ModuleConfiguration;
|
||||||
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
||||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
|
||||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
||||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.resolve.*;
|
import org.jetbrains.jet.lang.resolve.*;
|
||||||
|
import org.jetbrains.jet.lang.resolve.lazy.ResolveSession;
|
||||||
import org.jetbrains.jet.lang.resolve.lazy.declarations.FileBasedDeclarationProviderFactory;
|
import org.jetbrains.jet.lang.resolve.lazy.declarations.FileBasedDeclarationProviderFactory;
|
||||||
import org.jetbrains.jet.lang.resolve.lazy.storage.LockBasedStorageManager;
|
import org.jetbrains.jet.lang.resolve.lazy.storage.LockBasedStorageManager;
|
||||||
import org.jetbrains.jet.lang.resolve.lazy.ResolveSession;
|
|
||||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||||
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
||||||
@@ -83,7 +82,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
|||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public ResolveSession getLazyResolveSession(@NotNull Project fileProject, @NotNull Collection<JetFile> files) {
|
public ResolveSession getLazyResolveSession(@NotNull Project fileProject, @NotNull Collection<JetFile> files) {
|
||||||
ModuleDescriptor javaModule = new ModuleDescriptorImpl(Name.special("<java module>"));
|
ModuleDescriptorImpl javaModule = new ModuleDescriptorImpl(Name.special("<java module>"));
|
||||||
|
|
||||||
BindingTraceContext javaResolverTrace = new BindingTraceContext();
|
BindingTraceContext javaResolverTrace = new BindingTraceContext();
|
||||||
InjectorForJavaDescriptorResolver injector = new InjectorForJavaDescriptorResolver(fileProject, javaResolverTrace, javaModule);
|
InjectorForJavaDescriptorResolver injector = new InjectorForJavaDescriptorResolver(fileProject, javaResolverTrace, javaModule);
|
||||||
@@ -132,8 +131,10 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
|||||||
return JavaToKotlinClassMap.getInstance();
|
return JavaToKotlinClassMap.getInstance();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
javaModule.setModuleConfiguration(moduleConfiguration);
|
||||||
|
|
||||||
ModuleDescriptorImpl lazyModule = new ModuleDescriptorImpl(Name.special("<lazy module>"));
|
ModuleDescriptorImpl lazyModule = new ModuleDescriptorImpl(Name.special("<lazy module>"));
|
||||||
|
lazyModule.setModuleConfiguration(moduleConfiguration);
|
||||||
|
|
||||||
return new ResolveSession(fileProject, storageManager, lazyModule, moduleConfiguration, declarationProviderFactory, javaResolverTrace);
|
return new ResolveSession(fileProject, storageManager, lazyModule, moduleConfiguration, declarationProviderFactory, javaResolverTrace);
|
||||||
}
|
}
|
||||||
@@ -208,6 +209,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
|||||||
InjectorForTopDownAnalyzerForJvm injector = new InjectorForTopDownAnalyzerForJvm(
|
InjectorForTopDownAnalyzerForJvm injector = new InjectorForTopDownAnalyzerForJvm(
|
||||||
project, topDownAnalysisParameters,
|
project, topDownAnalysisParameters,
|
||||||
new ObservableBindingTrace(trace), owner);
|
new ObservableBindingTrace(trace), owner);
|
||||||
|
owner.setModuleConfiguration(injector.getModuleConfiguration());
|
||||||
try {
|
try {
|
||||||
injector.getTopDownAnalyzer().analyzeFiles(files, scriptParameters);
|
injector.getTopDownAnalyzer().analyzeFiles(files, scriptParameters);
|
||||||
BodiesResolveContext bodiesResolveContext = storeContextForBodiesResolve ?
|
BodiesResolveContext bodiesResolveContext = storeContextForBodiesResolve ?
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ package org.jetbrains.jet.lang.descriptors;
|
|||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.jet.lang.ModuleConfiguration;
|
||||||
import org.jetbrains.jet.lang.descriptors.impl.NamespaceDescriptorParent;
|
import org.jetbrains.jet.lang.descriptors.impl.NamespaceDescriptorParent;
|
||||||
import org.jetbrains.jet.lang.types.TypeSubstitutor;
|
import org.jetbrains.jet.lang.types.TypeSubstitutor;
|
||||||
|
|
||||||
@@ -28,6 +29,9 @@ public interface ModuleDescriptor extends DeclarationDescriptor, NamespaceDescri
|
|||||||
|
|
||||||
NamespaceDescriptor getRootNamespace();
|
NamespaceDescriptor getRootNamespace();
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
ModuleConfiguration getModuleConfiguration();
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
ModuleDescriptor substitute(@NotNull TypeSubstitutor substitutor);
|
ModuleDescriptor substitute(@NotNull TypeSubstitutor substitutor);
|
||||||
|
|||||||
@@ -18,16 +18,19 @@ package org.jetbrains.jet.lang.descriptors;
|
|||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.jet.lang.ModuleConfiguration;
|
||||||
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.impl.DeclarationDescriptorImpl;
|
import org.jetbrains.jet.lang.descriptors.impl.DeclarationDescriptorImpl;
|
||||||
import org.jetbrains.jet.lang.descriptors.impl.NamespaceDescriptorImpl;
|
import org.jetbrains.jet.lang.descriptors.impl.NamespaceDescriptorImpl;
|
||||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||||
import org.jetbrains.jet.lang.types.TypeSubstitutor;
|
import org.jetbrains.jet.lang.types.TypeSubstitutor;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
public class ModuleDescriptorImpl extends DeclarationDescriptorImpl implements ClassOrNamespaceDescriptor, ModuleDescriptor {
|
public class ModuleDescriptorImpl extends DeclarationDescriptorImpl implements ClassOrNamespaceDescriptor, ModuleDescriptor {
|
||||||
private NamespaceDescriptor rootNamepsace;
|
private NamespaceDescriptor rootNamepsace;
|
||||||
|
private ModuleConfiguration moduleConfiguration;
|
||||||
|
|
||||||
public ModuleDescriptorImpl(@NotNull Name name) {
|
public ModuleDescriptorImpl(@NotNull Name name) {
|
||||||
super(Collections.<AnnotationDescriptor>emptyList(), name);
|
super(Collections.<AnnotationDescriptor>emptyList(), name);
|
||||||
@@ -54,6 +57,18 @@ public class ModuleDescriptorImpl extends DeclarationDescriptorImpl implements C
|
|||||||
return rootNamepsace;
|
return rootNamepsace;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public ModuleConfiguration getModuleConfiguration() {
|
||||||
|
return moduleConfiguration;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public ModuleDescriptorImpl setModuleConfiguration(@NotNull ModuleConfiguration moduleConfiguration) {
|
||||||
|
this.moduleConfiguration = moduleConfiguration;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public NamespaceDescriptorImpl getRootNamespaceDescriptorImpl() {
|
public NamespaceDescriptorImpl getRootNamespaceDescriptorImpl() {
|
||||||
return (NamespaceDescriptorImpl) rootNamepsace;
|
return (NamespaceDescriptorImpl) rootNamepsace;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -187,6 +187,7 @@ public class TopDownAnalyzer {
|
|||||||
@NotNull JetClassOrObject object
|
@NotNull JetClassOrObject object
|
||||||
) {
|
) {
|
||||||
ModuleDescriptorImpl moduleDescriptor = new ModuleDescriptorImpl(Name.special("<dummy for object>"));
|
ModuleDescriptorImpl moduleDescriptor = new ModuleDescriptorImpl(Name.special("<dummy for object>"));
|
||||||
|
moduleDescriptor.setModuleConfiguration(ModuleConfiguration.EMPTY);
|
||||||
|
|
||||||
TopDownAnalysisParameters topDownAnalysisParameters =
|
TopDownAnalysisParameters topDownAnalysisParameters =
|
||||||
new TopDownAnalysisParameters(Predicates.equalTo(object.getContainingFile()),
|
new TopDownAnalysisParameters(Predicates.equalTo(object.getContainingFile()),
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ package org.jetbrains.jet.lang.types;
|
|||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.jet.lang.ModuleConfiguration;
|
||||||
import org.jetbrains.jet.lang.descriptors.*;
|
import org.jetbrains.jet.lang.descriptors.*;
|
||||||
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.impl.*;
|
import org.jetbrains.jet.lang.descriptors.impl.*;
|
||||||
@@ -31,7 +32,12 @@ import java.util.*;
|
|||||||
|
|
||||||
public class ErrorUtils {
|
public class ErrorUtils {
|
||||||
|
|
||||||
private static final ModuleDescriptor ERROR_MODULE = new ModuleDescriptorImpl(Name.special("<ERROR MODULE>"));
|
private static final ModuleDescriptor ERROR_MODULE;
|
||||||
|
static {
|
||||||
|
ModuleDescriptorImpl module = new ModuleDescriptorImpl(Name.special("<ERROR MODULE>"));
|
||||||
|
module.setModuleConfiguration(ModuleConfiguration.EMPTY);
|
||||||
|
ERROR_MODULE = module;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static class ErrorScope implements JetScope {
|
public static class ErrorScope implements JetScope {
|
||||||
|
|||||||
@@ -171,6 +171,7 @@ public class KotlinBuiltIns {
|
|||||||
private KotlinBuiltIns(@NotNull Project project) {
|
private KotlinBuiltIns(@NotNull Project project) {
|
||||||
try {
|
try {
|
||||||
this.builtInsModule = new ModuleDescriptorImpl(Name.special("<built-ins lazy module>"));
|
this.builtInsModule = new ModuleDescriptorImpl(Name.special("<built-ins lazy module>"));
|
||||||
|
builtInsModule.setModuleConfiguration(SpecialModuleConfiguration.INSTANCE);
|
||||||
this.analyzer = createLazyResolveSession(project);
|
this.analyzer = createLazyResolveSession(project);
|
||||||
|
|
||||||
this.functionClassesSet = computeIndexedClasses("Function", FUNCTION_TRAIT_COUNT);
|
this.functionClassesSet = computeIndexedClasses("Function", FUNCTION_TRAIT_COUNT);
|
||||||
@@ -228,7 +229,7 @@ public class KotlinBuiltIns {
|
|||||||
project,
|
project,
|
||||||
storageManager,
|
storageManager,
|
||||||
builtInsModule,
|
builtInsModule,
|
||||||
new SpecialModuleConfiguration(),
|
SpecialModuleConfiguration.INSTANCE,
|
||||||
new FileBasedDeclarationProviderFactory(storageManager, files),
|
new FileBasedDeclarationProviderFactory(storageManager, files),
|
||||||
ResolveSession.NO_ALIASES,
|
ResolveSession.NO_ALIASES,
|
||||||
Predicates.in(Sets.newHashSet(new FqNameUnsafe("jet.Any"), new FqNameUnsafe("jet.Nothing"))),
|
Predicates.in(Sets.newHashSet(new FqNameUnsafe("jet.Any"), new FqNameUnsafe("jet.Nothing"))),
|
||||||
@@ -258,6 +259,8 @@ public class KotlinBuiltIns {
|
|||||||
|
|
||||||
private static class SpecialModuleConfiguration implements ModuleConfiguration {
|
private static class SpecialModuleConfiguration implements ModuleConfiguration {
|
||||||
|
|
||||||
|
public static final ModuleConfiguration INSTANCE = new SpecialModuleConfiguration();
|
||||||
|
|
||||||
private SpecialModuleConfiguration() {
|
private SpecialModuleConfiguration() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -153,6 +153,7 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir {
|
|||||||
Predicates.<PsiFile>alwaysFalse(), false, false, Collections.<AnalyzerScriptParameter>emptyList()),
|
Predicates.<PsiFile>alwaysFalse(), false, false, Collections.<AnalyzerScriptParameter>emptyList()),
|
||||||
trace,
|
trace,
|
||||||
moduleDescriptor);
|
moduleDescriptor);
|
||||||
|
moduleDescriptor.setModuleConfiguration(injectorForAnalyzer.getModuleConfiguration());
|
||||||
|
|
||||||
injectorForAnalyzer.getTopDownAnalyzer().analyzeFiles(environment.getSourceFiles(), Collections.<AnalyzerScriptParameter>emptyList());
|
injectorForAnalyzer.getTopDownAnalyzer().analyzeFiles(environment.getSourceFiles(), Collections.<AnalyzerScriptParameter>emptyList());
|
||||||
|
|
||||||
|
|||||||
+1
@@ -55,6 +55,7 @@ public abstract class AbstractLazyResolveDescriptorRendererTest extends KotlinTe
|
|||||||
Collection<JetFile> files = Lists.newArrayList(psiFile);
|
Collection<JetFile> files = Lists.newArrayList(psiFile);
|
||||||
|
|
||||||
ModuleDescriptorImpl lazyModule = new ModuleDescriptorImpl(Name.special("<lazy module>"));
|
ModuleDescriptorImpl lazyModule = new ModuleDescriptorImpl(Name.special("<lazy module>"));
|
||||||
|
lazyModule.setModuleConfiguration(injectorForTopDownAnalyzer.getModuleConfiguration());
|
||||||
LockBasedStorageManager storageManager = new LockBasedStorageManager();
|
LockBasedStorageManager storageManager = new LockBasedStorageManager();
|
||||||
final ResolveSession resolveSession = new ResolveSession(getProject(), storageManager, lazyModule, injectorForTopDownAnalyzer.getModuleConfiguration(),
|
final ResolveSession resolveSession = new ResolveSession(getProject(), storageManager, lazyModule, injectorForTopDownAnalyzer.getModuleConfiguration(),
|
||||||
new FileBasedDeclarationProviderFactory(storageManager, files));
|
new FileBasedDeclarationProviderFactory(storageManager, files));
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ public class LazyResolveTestUtil {
|
|||||||
ModuleDescriptorImpl eagerModuleForLazy = new ModuleDescriptorImpl(Name.special("<eager module for lazy>"));
|
ModuleDescriptorImpl eagerModuleForLazy = new ModuleDescriptorImpl(Name.special("<eager module for lazy>"));
|
||||||
|
|
||||||
InjectorForTopDownAnalyzer tdaInjectorForLazy = createInjectorForTDA(eagerModuleForLazy, environment);
|
InjectorForTopDownAnalyzer tdaInjectorForLazy = createInjectorForTDA(eagerModuleForLazy, environment);
|
||||||
|
eagerModuleForLazy.setModuleConfiguration(tdaInjectorForLazy.getModuleConfiguration());
|
||||||
// This line is required fro the 'jet' namespace to be filled in with functions
|
// This line is required fro the 'jet' namespace to be filled in with functions
|
||||||
tdaInjectorForLazy.getTopDownAnalyzer().analyzeFiles(
|
tdaInjectorForLazy.getTopDownAnalyzer().analyzeFiles(
|
||||||
Collections.singletonList(JetPsiFactory.createFile(environment.getProject(), "")), Collections.<AnalyzerScriptParameter>emptyList());
|
Collections.singletonList(JetPsiFactory.createFile(environment.getProject(), "")), Collections.<AnalyzerScriptParameter>emptyList());
|
||||||
@@ -81,6 +82,7 @@ public class LazyResolveTestUtil {
|
|||||||
public static ModuleDescriptor resolveEagerly(List<JetFile> files, JetCoreEnvironment environment) {
|
public static ModuleDescriptor resolveEagerly(List<JetFile> files, JetCoreEnvironment environment) {
|
||||||
ModuleDescriptorImpl module = new ModuleDescriptorImpl(Name.special("<test module>"));
|
ModuleDescriptorImpl module = new ModuleDescriptorImpl(Name.special("<test module>"));
|
||||||
InjectorForTopDownAnalyzer injector = createInjectorForTDA(module, environment);
|
InjectorForTopDownAnalyzer injector = createInjectorForTDA(module, environment);
|
||||||
|
module.setModuleConfiguration(injector.getModuleConfiguration());
|
||||||
injector.getTopDownAnalyzer().analyzeFiles(files, Collections.<AnalyzerScriptParameter>emptyList());
|
injector.getTopDownAnalyzer().analyzeFiles(files, Collections.<AnalyzerScriptParameter>emptyList());
|
||||||
return module;
|
return module;
|
||||||
}
|
}
|
||||||
@@ -88,7 +90,7 @@ public class LazyResolveTestUtil {
|
|||||||
public static KotlinCodeAnalyzer resolveLazilyWithSession(List<JetFile> files, JetCoreEnvironment environment) {
|
public static KotlinCodeAnalyzer resolveLazilyWithSession(List<JetFile> files, JetCoreEnvironment environment) {
|
||||||
JetTestUtils.newTrace(environment);
|
JetTestUtils.newTrace(environment);
|
||||||
|
|
||||||
ModuleDescriptor javaModule = new ModuleDescriptorImpl(Name.special("<java module>"));
|
ModuleDescriptorImpl javaModule = new ModuleDescriptorImpl(Name.special("<java module>"));
|
||||||
|
|
||||||
Project project = environment.getProject();
|
Project project = environment.getProject();
|
||||||
BindingTrace sharedTrace = CliLightClassGenerationSupport.getInstanceForCli(environment.getProject()).getTrace();
|
BindingTrace sharedTrace = CliLightClassGenerationSupport.getInstanceForCli(environment.getProject()).getTrace();
|
||||||
@@ -137,8 +139,10 @@ public class LazyResolveTestUtil {
|
|||||||
return JavaToKotlinClassMap.getInstance();
|
return JavaToKotlinClassMap.getInstance();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
javaModule.setModuleConfiguration(moduleConfiguration);
|
||||||
|
|
||||||
ModuleDescriptorImpl lazyModule = new ModuleDescriptorImpl(Name.special("<lazy module>"));
|
ModuleDescriptorImpl lazyModule = new ModuleDescriptorImpl(Name.special("<lazy module>"));
|
||||||
|
lazyModule.setModuleConfiguration(moduleConfiguration);
|
||||||
return new ResolveSession(project, storageManager, lazyModule, moduleConfiguration, declarationProviderFactory, sharedTrace);
|
return new ResolveSession(project, storageManager, lazyModule, moduleConfiguration, declarationProviderFactory, sharedTrace);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public class JetDefaultModalityModifiersTestCase {
|
public class JetDefaultModalityModifiersTestCase {
|
||||||
private ModuleDescriptor root = new ModuleDescriptorImpl(Name.special("<test_root>"));
|
private ModuleDescriptorImpl root = new ModuleDescriptorImpl(Name.special("<test_root>"));
|
||||||
private DescriptorResolver descriptorResolver;
|
private DescriptorResolver descriptorResolver;
|
||||||
private JetScope scope;
|
private JetScope scope;
|
||||||
|
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ public class GenerateInjectors {
|
|||||||
generator.addPublicParameter(ModuleDescriptor.class);
|
generator.addPublicParameter(ModuleDescriptor.class);
|
||||||
|
|
||||||
// Fields
|
// Fields
|
||||||
generator.addField(JavaBridgeConfiguration.class);
|
generator.addPublicField(JavaBridgeConfiguration.class);
|
||||||
generator.addPublicField(JavaSemanticServices.class);
|
generator.addPublicField(JavaSemanticServices.class);
|
||||||
generator.addPublicField(JavaDescriptorResolver.class);
|
generator.addPublicField(JavaDescriptorResolver.class);
|
||||||
generator.addPublicField(PsiClassFinderImpl.class);
|
generator.addPublicField(PsiClassFinderImpl.class);
|
||||||
|
|||||||
+4
-1
@@ -116,7 +116,10 @@ public class KotlinSignatureInJavaMarkerProvider implements LineMarkerProvider {
|
|||||||
BindingContext bindingContext = declarationsCache.getBindingContext();
|
BindingContext bindingContext = declarationsCache.getBindingContext();
|
||||||
DelegatingBindingTrace delegatingTrace = new DelegatingBindingTrace(bindingContext, "wrapped context of declarations cache");
|
DelegatingBindingTrace delegatingTrace = new DelegatingBindingTrace(bindingContext, "wrapped context of declarations cache");
|
||||||
|
|
||||||
return new InjectorForJavaDescriptorResolver(project, delegatingTrace, new ModuleDescriptorImpl(Name.special("<fake>")));
|
ModuleDescriptorImpl moduleDescriptor = new ModuleDescriptorImpl(Name.special("<fake>"));
|
||||||
|
InjectorForJavaDescriptorResolver injector = new InjectorForJavaDescriptorResolver(project, delegatingTrace, moduleDescriptor);
|
||||||
|
moduleDescriptor.setModuleConfiguration(injector.getJavaBridgeConfiguration());
|
||||||
|
return injector;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
|||||||
@@ -221,10 +221,12 @@ public class JetSourceNavigationHelper {
|
|||||||
return KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME.equals(fqName);
|
return KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME.equals(fqName);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
ModuleDescriptorImpl moduleDescriptor = new ModuleDescriptorImpl(Name.special("<library module>"));
|
||||||
|
moduleDescriptor.setModuleConfiguration(DefaultModuleConfiguration.createStandardConfiguration());
|
||||||
KotlinCodeAnalyzer analyzer = new ResolveSession(
|
KotlinCodeAnalyzer analyzer = new ResolveSession(
|
||||||
project,
|
project,
|
||||||
storageManager,
|
storageManager,
|
||||||
new ModuleDescriptorImpl(Name.special("<library module>")),
|
moduleDescriptor,
|
||||||
DefaultModuleConfiguration.createStandardConfiguration(),
|
DefaultModuleConfiguration.createStandardConfiguration(),
|
||||||
providerFactory);
|
providerFactory);
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import com.intellij.util.Function;
|
|||||||
import com.intellij.util.containers.ContainerUtil;
|
import com.intellij.util.containers.ContainerUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.jet.lang.ModuleConfiguration;
|
||||||
import org.jetbrains.jet.lang.descriptors.*;
|
import org.jetbrains.jet.lang.descriptors.*;
|
||||||
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.impl.NamespaceDescriptorImpl;
|
import org.jetbrains.jet.lang.descriptors.impl.NamespaceDescriptorImpl;
|
||||||
@@ -224,9 +225,9 @@ public class BuiltInsReferenceResolver extends AbstractProjectComponent {
|
|||||||
private WritableScope memberScope;
|
private WritableScope memberScope;
|
||||||
|
|
||||||
private FakeJetNamespaceDescriptor() {
|
private FakeJetNamespaceDescriptor() {
|
||||||
super(new NamespaceDescriptorImpl(new ModuleDescriptorImpl(Name.special("<fake_module>")),
|
super(new NamespaceDescriptorImpl(
|
||||||
Collections.<AnnotationDescriptor>emptyList(), Name.special("<root>")),
|
new ModuleDescriptorImpl(Name.special("<fake_module>")).setModuleConfiguration(ModuleConfiguration.EMPTY),
|
||||||
Collections.<AnnotationDescriptor>emptyList(),
|
Collections.<AnnotationDescriptor>emptyList(), Name.special("<root>")), Collections.<AnnotationDescriptor>emptyList(),
|
||||||
KotlinBuiltIns.getInstance().getBuiltInsPackage().getName());
|
KotlinBuiltIns.getInstance().getBuiltInsPackage().getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -90,6 +90,7 @@ public final class AnalyzerFacadeForJS {
|
|||||||
InjectorForTopDownAnalyzerForJs injector = new InjectorForTopDownAnalyzerForJs(
|
InjectorForTopDownAnalyzerForJs injector = new InjectorForTopDownAnalyzerForJs(
|
||||||
project, topDownAnalysisParameters, trace, owner,
|
project, topDownAnalysisParameters, trace, owner,
|
||||||
new JsConfiguration(libraryBindingContext));
|
new JsConfiguration(libraryBindingContext));
|
||||||
|
owner.setModuleConfiguration(injector.getModuleConfiguration());
|
||||||
try {
|
try {
|
||||||
Collection<JetFile> allFiles = libraryBindingContext != null ?
|
Collection<JetFile> allFiles = libraryBindingContext != null ?
|
||||||
files :
|
files :
|
||||||
@@ -144,6 +145,7 @@ public final class AnalyzerFacadeForJS {
|
|||||||
FileBasedDeclarationProviderFactory declarationProviderFactory = new FileBasedDeclarationProviderFactory(
|
FileBasedDeclarationProviderFactory declarationProviderFactory = new FileBasedDeclarationProviderFactory(
|
||||||
storageManager, Config.withJsLibAdded(files, config), Predicates.<FqName>alwaysFalse());
|
storageManager, Config.withJsLibAdded(files, config), Predicates.<FqName>alwaysFalse());
|
||||||
ModuleDescriptorImpl lazyModule = new ModuleDescriptorImpl(Name.special("<lazy module>"));
|
ModuleDescriptorImpl lazyModule = new ModuleDescriptorImpl(Name.special("<lazy module>"));
|
||||||
return new ResolveSession(config.getProject(), storageManager, lazyModule, new JsConfiguration(null), declarationProviderFactory);
|
lazyModule.setModuleConfiguration(new JsConfiguration(null));
|
||||||
|
return new ResolveSession(config.getProject(), storageManager, lazyModule, lazyModule.getModuleConfiguration(), declarationProviderFactory);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user