Got rid of dependency from InjectorForJavaSemanticServices on CompilerDependencies.
This commit is contained in:
+4
-7
@@ -23,13 +23,12 @@ import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration;
|
||||
import org.jetbrains.jet.lang.resolve.java.PsiClassFinderImpl;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.java.CompilerDependencies;
|
||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaTypeTransformer;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorSignatureResolver;
|
||||
import org.jetbrains.jet.lang.resolve.NamespaceFactoryImpl;
|
||||
import org.jetbrains.jet.lang.resolve.java.CompilerDependencies;
|
||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import javax.annotation.PreDestroy;
|
||||
@@ -43,15 +42,14 @@ public class InjectorForJavaSemanticServices {
|
||||
private JavaBridgeConfiguration javaBridgeConfiguration;
|
||||
private PsiClassFinderImpl psiClassFinder;
|
||||
private ModuleDescriptor moduleDescriptor;
|
||||
private final CompilerDependencies compilerDependencies;
|
||||
private CompilerSpecialMode compilerSpecialMode;
|
||||
private final CompilerSpecialMode compilerSpecialMode;
|
||||
private final Project project;
|
||||
private JavaTypeTransformer javaTypeTransformer;
|
||||
private JavaDescriptorSignatureResolver javaDescriptorSignatureResolver;
|
||||
private NamespaceFactoryImpl namespaceFactory;
|
||||
|
||||
public InjectorForJavaSemanticServices(
|
||||
@NotNull CompilerDependencies compilerDependencies,
|
||||
@NotNull CompilerSpecialMode compilerSpecialMode,
|
||||
@NotNull Project project
|
||||
) {
|
||||
this.javaSemanticServices = new JavaSemanticServices();
|
||||
@@ -60,8 +58,7 @@ public class InjectorForJavaSemanticServices {
|
||||
this.javaBridgeConfiguration = new JavaBridgeConfiguration();
|
||||
this.psiClassFinder = new PsiClassFinderImpl();
|
||||
this.moduleDescriptor = new org.jetbrains.jet.lang.descriptors.ModuleDescriptor(org.jetbrains.jet.lang.resolve.name.Name.special("<dummy>"));
|
||||
this.compilerDependencies = compilerDependencies;
|
||||
this.compilerSpecialMode = compilerDependencies.getCompilerSpecialMode();
|
||||
this.compilerSpecialMode = compilerSpecialMode;
|
||||
this.project = project;
|
||||
this.javaTypeTransformer = new JavaTypeTransformer();
|
||||
this.javaDescriptorSignatureResolver = new JavaDescriptorSignatureResolver();
|
||||
|
||||
@@ -74,7 +74,7 @@ public class JavaDescriptorResolverTest extends TestCaseWithTmpdir {
|
||||
jetCoreEnvironment.addToClasspath(tmpdir);
|
||||
|
||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(
|
||||
jetCoreEnvironment.getCompilerDependencies(), jetCoreEnvironment.getProject());
|
||||
CompilerSpecialMode.JDK_HEADERS, jetCoreEnvironment.getProject());
|
||||
return injector.getJavaDescriptorResolver();
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@ public class JavaDescriptorResolverTest extends TestCaseWithTmpdir {
|
||||
.jdkAnnotationsForTests(), null));
|
||||
|
||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(
|
||||
jetCoreEnvironment.getCompilerDependencies(), jetCoreEnvironment.getProject());
|
||||
CompilerSpecialMode.IDEA, jetCoreEnvironment.getProject());
|
||||
|
||||
// java.lang.Iterable must exist in jdk-headers otherwize this test is meaningless, resolveClass always returns null
|
||||
injector.getJavaDescriptorResolver().resolveClass(new FqName("java.lang.Iterable"));
|
||||
|
||||
@@ -118,7 +118,7 @@ public class ReadJavaBinaryClassTest extends TestCaseWithTmpdir {
|
||||
jetCoreEnvironment.addToClasspath(new File("out/production/runtime"));
|
||||
|
||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(
|
||||
jetCoreEnvironment.getCompilerDependencies(), jetCoreEnvironment.getProject());
|
||||
CompilerSpecialMode.JDK_HEADERS, jetCoreEnvironment.getProject());
|
||||
JavaDescriptorResolver javaDescriptorResolver = injector.getJavaDescriptorResolver();
|
||||
return javaDescriptorResolver.resolveNamespace(FqName.topLevel(Name.identifier("test")), DescriptorSearchRule.ERROR_IF_FOUND_IN_KOTLIN);
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ public class ReadKotlinBinaryClassTest extends TestCaseWithTmpdir {
|
||||
jetCoreEnvironment.addToClasspath(new File("out/production/runtime"));
|
||||
|
||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(
|
||||
jetCoreEnvironment.getCompilerDependencies(), jetCoreEnvironment.getProject());
|
||||
jetCoreEnvironment.getCompilerDependencies().getCompilerSpecialMode(), jetCoreEnvironment.getProject());
|
||||
JavaDescriptorResolver javaDescriptorResolver = injector.getJavaDescriptorResolver();
|
||||
NamespaceDescriptor namespaceFromClass = javaDescriptorResolver.resolveNamespace(FqName.topLevel(Name.identifier("test")), DescriptorSearchRule.ERROR_IF_FOUND_IN_KOTLIN);
|
||||
|
||||
|
||||
+1
-1
@@ -160,7 +160,7 @@ public class ResolveDescriptorsFromExternalLibraries {
|
||||
}
|
||||
|
||||
|
||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(jetCoreEnvironment.getCompilerDependencies(), jetCoreEnvironment.getProject());
|
||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(CompilerSpecialMode.STDLIB, jetCoreEnvironment.getProject());
|
||||
|
||||
boolean hasErrors;
|
||||
try {
|
||||
|
||||
@@ -125,7 +125,7 @@ public class JetResolveTest extends ExtensibleResolveTestCase {
|
||||
private PsiClass findClass(String qualifiedName) {
|
||||
Project project = getProject();
|
||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(
|
||||
myEnvironment.getCompilerDependencies(), project);
|
||||
myEnvironment.getCompilerDependencies().getCompilerSpecialMode(), project);
|
||||
return injector.getPsiClassFinder().findPsiClass(new FqName(qualifiedName), PsiClassFinder.RuntimeClassesHandleMode.THROW);
|
||||
}
|
||||
|
||||
|
||||
@@ -594,7 +594,7 @@ public class JetTypeCheckerTest extends JetLiteFixture {
|
||||
scope, scope.getContainingDeclaration(), RedeclarationHandler.DO_NOTHING, "JetTypeCheckerTest.addImports");
|
||||
writableScope.importScope(library.getLibraryScope());
|
||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(
|
||||
myEnvironment.getCompilerDependencies(), getProject());
|
||||
myEnvironment.getCompilerDependencies().getCompilerSpecialMode(), getProject());
|
||||
JavaDescriptorResolver javaDescriptorResolver = injector.getJavaDescriptorResolver();
|
||||
writableScope.importScope(javaDescriptorResolver.resolveNamespace(FqName.ROOT,
|
||||
DescriptorSearchRule.INCLUDE_KOTLIN).getMemberScope());
|
||||
|
||||
@@ -62,8 +62,7 @@ class DecompiledDataFactory {
|
||||
private DecompiledDataFactory(ClsFileImpl clsFile) {
|
||||
myClsFile = clsFile;
|
||||
Project project = myClsFile.getProject();
|
||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(
|
||||
CompilerDependencies.compilerDependenciesForProduction(CompilerSpecialMode.REGULAR), project);
|
||||
InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices(CompilerSpecialMode.REGULAR, project);
|
||||
myBindingContext = injector.getBindingTrace().getBindingContext();
|
||||
myJavaDescriptorResolver = injector.getJavaDescriptorResolver();
|
||||
}
|
||||
|
||||
@@ -152,8 +152,7 @@ public class AllInjectorsGenerator {
|
||||
generator.addPublicField(PsiClassFinderImpl.class);
|
||||
generator.addField(false, ModuleDescriptor.class, null,
|
||||
new GivenExpression("new org.jetbrains.jet.lang.descriptors.ModuleDescriptor(org.jetbrains.jet.lang.resolve.name.Name.special(\"<dummy>\"))"));
|
||||
generator.addParameter(CompilerDependencies.class);
|
||||
generator.addField(false, CompilerSpecialMode.class, null, new GivenExpression("compilerDependencies.getCompilerSpecialMode()"));
|
||||
generator.addParameter(CompilerSpecialMode.class);
|
||||
|
||||
// Parameters
|
||||
generator.addPublicParameter(Project.class);
|
||||
|
||||
Reference in New Issue
Block a user