Simplify injectors for frontend.java
- delete InjectorForJavaSemanticServices, replace its usages with InjectorForJavaDescriptorResolver - delete unneeded fields and parameters of InjectorForJavaDescriptorResolver
This commit is contained in:
committed by
Pavel V. Talanov
parent
3bd9d9ee32
commit
2d7a5ebf36
+17
-47
@@ -18,19 +18,17 @@ package org.jetbrains.jet.di;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaSemanticServices;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.PsiClassFinderImpl;
|
||||
import org.jetbrains.jet.lang.resolve.java.provider.PsiDeclarationProviderFactory;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaTypeTransformer;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaClassResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaAnnotationResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaCompileTimeConstResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaFunctionResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaValueParameterResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaTypeTransformer;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaSignatureResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaSemanticServices;
|
||||
import org.jetbrains.jet.lang.resolve.java.provider.PsiDeclarationProviderFactory;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.DeserializedDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.AnnotationDescriptorDeserializer;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaNamespaceResolver;
|
||||
@@ -46,19 +44,17 @@ public class InjectorForJavaDescriptorResolver {
|
||||
|
||||
private final Project project;
|
||||
private final BindingTrace bindingTrace;
|
||||
private final ModuleDescriptor moduleDescriptor;
|
||||
private final JavaBridgeConfiguration javaBridgeConfiguration;
|
||||
private final JavaSemanticServices javaSemanticServices;
|
||||
private final JavaDescriptorResolver javaDescriptorResolver;
|
||||
private final PsiClassFinderImpl psiClassFinder;
|
||||
private final PsiDeclarationProviderFactory psiDeclarationProviderFactory;
|
||||
private final JavaTypeTransformer javaTypeTransformer;
|
||||
private final JavaClassResolver javaClassResolver;
|
||||
private final JavaAnnotationResolver javaAnnotationResolver;
|
||||
private final JavaCompileTimeConstResolver javaCompileTimeConstResolver;
|
||||
private final JavaFunctionResolver javaFunctionResolver;
|
||||
private final JavaValueParameterResolver javaValueParameterResolver;
|
||||
private final JavaTypeTransformer javaTypeTransformer;
|
||||
private final JavaSignatureResolver javaSignatureResolver;
|
||||
private final JavaSemanticServices javaSemanticServices;
|
||||
private final PsiDeclarationProviderFactory psiDeclarationProviderFactory;
|
||||
private final DeserializedDescriptorResolver deserializedDescriptorResolver;
|
||||
private final AnnotationDescriptorDeserializer annotationDescriptorDeserializer;
|
||||
private final JavaNamespaceResolver javaNamespaceResolver;
|
||||
@@ -69,24 +65,21 @@ public class InjectorForJavaDescriptorResolver {
|
||||
|
||||
public InjectorForJavaDescriptorResolver(
|
||||
@NotNull Project project,
|
||||
@NotNull BindingTrace bindingTrace,
|
||||
@NotNull ModuleDescriptor moduleDescriptor
|
||||
@NotNull BindingTrace bindingTrace
|
||||
) {
|
||||
this.project = project;
|
||||
this.bindingTrace = bindingTrace;
|
||||
this.moduleDescriptor = moduleDescriptor;
|
||||
this.javaBridgeConfiguration = new JavaBridgeConfiguration();
|
||||
this.javaSemanticServices = new JavaSemanticServices();
|
||||
this.javaDescriptorResolver = new JavaDescriptorResolver();
|
||||
this.psiClassFinder = new PsiClassFinderImpl();
|
||||
this.psiDeclarationProviderFactory = new PsiDeclarationProviderFactory(getPsiClassFinder());
|
||||
this.javaTypeTransformer = new JavaTypeTransformer();
|
||||
this.javaClassResolver = new JavaClassResolver();
|
||||
this.javaAnnotationResolver = new JavaAnnotationResolver();
|
||||
this.javaCompileTimeConstResolver = new JavaCompileTimeConstResolver();
|
||||
this.javaFunctionResolver = new JavaFunctionResolver();
|
||||
this.javaValueParameterResolver = new JavaValueParameterResolver();
|
||||
this.javaTypeTransformer = new JavaTypeTransformer();
|
||||
this.javaSignatureResolver = new JavaSignatureResolver();
|
||||
this.javaSemanticServices = new JavaSemanticServices();
|
||||
this.psiDeclarationProviderFactory = new PsiDeclarationProviderFactory(getPsiClassFinder());
|
||||
this.deserializedDescriptorResolver = new DeserializedDescriptorResolver();
|
||||
this.annotationDescriptorDeserializer = new AnnotationDescriptorDeserializer();
|
||||
this.javaNamespaceResolver = new JavaNamespaceResolver();
|
||||
@@ -95,14 +88,6 @@ public class InjectorForJavaDescriptorResolver {
|
||||
this.javaInnerClassResolver = new JavaInnerClassResolver();
|
||||
this.javaPropertyResolver = new JavaPropertyResolver();
|
||||
|
||||
this.javaBridgeConfiguration.setJavaSemanticServices(javaSemanticServices);
|
||||
|
||||
this.javaSemanticServices.setDescriptorResolver(javaDescriptorResolver);
|
||||
this.javaSemanticServices.setPsiClassFinder(psiClassFinder);
|
||||
this.javaSemanticServices.setPsiDeclarationProviderFactory(psiDeclarationProviderFactory);
|
||||
this.javaSemanticServices.setTrace(bindingTrace);
|
||||
this.javaSemanticServices.setTypeTransformer(javaTypeTransformer);
|
||||
|
||||
this.javaDescriptorResolver.setClassResolver(javaClassResolver);
|
||||
this.javaDescriptorResolver.setConstructorResolver(javaConstructorResolver);
|
||||
this.javaDescriptorResolver.setFunctionResolver(javaFunctionResolver);
|
||||
@@ -112,8 +97,6 @@ public class InjectorForJavaDescriptorResolver {
|
||||
|
||||
this.psiClassFinder.setProject(project);
|
||||
|
||||
javaTypeTransformer.setResolver(javaDescriptorResolver);
|
||||
|
||||
javaClassResolver.setAnnotationResolver(javaAnnotationResolver);
|
||||
javaClassResolver.setFunctionResolver(javaFunctionResolver);
|
||||
javaClassResolver.setKotlinDescriptorResolver(deserializedDescriptorResolver);
|
||||
@@ -138,8 +121,15 @@ public class InjectorForJavaDescriptorResolver {
|
||||
|
||||
javaValueParameterResolver.setTypeTransformer(javaTypeTransformer);
|
||||
|
||||
javaTypeTransformer.setResolver(javaDescriptorResolver);
|
||||
|
||||
javaSignatureResolver.setJavaSemanticServices(javaSemanticServices);
|
||||
|
||||
javaSemanticServices.setDescriptorResolver(javaDescriptorResolver);
|
||||
javaSemanticServices.setPsiClassFinder(psiClassFinder);
|
||||
javaSemanticServices.setPsiDeclarationProviderFactory(psiDeclarationProviderFactory);
|
||||
javaSemanticServices.setTypeTransformer(javaTypeTransformer);
|
||||
|
||||
deserializedDescriptorResolver.setAnnotationDeserializer(annotationDescriptorDeserializer);
|
||||
deserializedDescriptorResolver.setJavaClassResolver(javaClassResolver);
|
||||
deserializedDescriptorResolver.setJavaNamespaceResolver(javaNamespaceResolver);
|
||||
@@ -174,26 +164,6 @@ public class InjectorForJavaDescriptorResolver {
|
||||
public void destroy() {
|
||||
}
|
||||
|
||||
public Project getProject() {
|
||||
return this.project;
|
||||
}
|
||||
|
||||
public BindingTrace getBindingTrace() {
|
||||
return this.bindingTrace;
|
||||
}
|
||||
|
||||
public ModuleDescriptor getModuleDescriptor() {
|
||||
return this.moduleDescriptor;
|
||||
}
|
||||
|
||||
public JavaBridgeConfiguration getJavaBridgeConfiguration() {
|
||||
return this.javaBridgeConfiguration;
|
||||
}
|
||||
|
||||
public JavaSemanticServices getJavaSemanticServices() {
|
||||
return this.javaSemanticServices;
|
||||
}
|
||||
|
||||
public JavaDescriptorResolver getJavaDescriptorResolver() {
|
||||
return this.javaDescriptorResolver;
|
||||
}
|
||||
|
||||
@@ -1,197 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2013 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.di;
|
||||
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaSemanticServices;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||
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.ModuleDescriptorImpl;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.jet.lang.resolve.java.provider.PsiDeclarationProviderFactory;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaTypeTransformer;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaClassResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaAnnotationResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaCompileTimeConstResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaFunctionResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaValueParameterResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaSignatureResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.DeserializedDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.AnnotationDescriptorDeserializer;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaNamespaceResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaSupertypeResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaConstructorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaInnerClassResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaPropertyResolver;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import javax.annotation.PreDestroy;
|
||||
|
||||
/* This file is generated by org.jetbrains.jet.generators.injectors.GenerateInjectors. DO NOT EDIT! */
|
||||
public class InjectorForJavaSemanticServices {
|
||||
|
||||
private final JavaSemanticServices javaSemanticServices;
|
||||
private final JavaDescriptorResolver javaDescriptorResolver;
|
||||
private final BindingTrace bindingTrace;
|
||||
private final JavaBridgeConfiguration javaBridgeConfiguration;
|
||||
private final PsiClassFinderImpl psiClassFinder;
|
||||
private final ModuleDescriptorImpl moduleDescriptor;
|
||||
private final Project project;
|
||||
private final PsiDeclarationProviderFactory psiDeclarationProviderFactory;
|
||||
private final JavaTypeTransformer javaTypeTransformer;
|
||||
private final JavaClassResolver javaClassResolver;
|
||||
private final JavaAnnotationResolver javaAnnotationResolver;
|
||||
private final JavaCompileTimeConstResolver javaCompileTimeConstResolver;
|
||||
private final JavaFunctionResolver javaFunctionResolver;
|
||||
private final JavaValueParameterResolver javaValueParameterResolver;
|
||||
private final JavaSignatureResolver javaSignatureResolver;
|
||||
private final DeserializedDescriptorResolver deserializedDescriptorResolver;
|
||||
private final AnnotationDescriptorDeserializer annotationDescriptorDeserializer;
|
||||
private final JavaNamespaceResolver javaNamespaceResolver;
|
||||
private final JavaSupertypeResolver javaSupertypeResolver;
|
||||
private final JavaConstructorResolver javaConstructorResolver;
|
||||
private final JavaInnerClassResolver javaInnerClassResolver;
|
||||
private final JavaPropertyResolver javaPropertyResolver;
|
||||
|
||||
public InjectorForJavaSemanticServices(
|
||||
@NotNull Project project
|
||||
) {
|
||||
this.javaSemanticServices = new JavaSemanticServices();
|
||||
this.javaDescriptorResolver = new JavaDescriptorResolver();
|
||||
this.bindingTrace = new org.jetbrains.jet.lang.resolve.BindingTraceContext();
|
||||
this.javaBridgeConfiguration = new JavaBridgeConfiguration();
|
||||
this.psiClassFinder = new PsiClassFinderImpl();
|
||||
this.moduleDescriptor = new org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl(org.jetbrains.jet.lang.resolve.name.Name.special("<dummy>"), org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration.ALL_JAVA_IMPORTS, org.jetbrains.jet.lang.resolve.java.JavaToKotlinClassMap.getInstance());
|
||||
this.project = project;
|
||||
this.psiDeclarationProviderFactory = new PsiDeclarationProviderFactory(getPsiClassFinder());
|
||||
this.javaTypeTransformer = new JavaTypeTransformer();
|
||||
this.javaClassResolver = new JavaClassResolver();
|
||||
this.javaAnnotationResolver = new JavaAnnotationResolver();
|
||||
this.javaCompileTimeConstResolver = new JavaCompileTimeConstResolver();
|
||||
this.javaFunctionResolver = new JavaFunctionResolver();
|
||||
this.javaValueParameterResolver = new JavaValueParameterResolver();
|
||||
this.javaSignatureResolver = new JavaSignatureResolver();
|
||||
this.deserializedDescriptorResolver = new DeserializedDescriptorResolver();
|
||||
this.annotationDescriptorDeserializer = new AnnotationDescriptorDeserializer();
|
||||
this.javaNamespaceResolver = new JavaNamespaceResolver();
|
||||
this.javaSupertypeResolver = new JavaSupertypeResolver();
|
||||
this.javaConstructorResolver = new JavaConstructorResolver();
|
||||
this.javaInnerClassResolver = new JavaInnerClassResolver();
|
||||
this.javaPropertyResolver = new JavaPropertyResolver();
|
||||
|
||||
this.javaSemanticServices.setDescriptorResolver(javaDescriptorResolver);
|
||||
this.javaSemanticServices.setPsiClassFinder(psiClassFinder);
|
||||
this.javaSemanticServices.setPsiDeclarationProviderFactory(psiDeclarationProviderFactory);
|
||||
this.javaSemanticServices.setTrace(bindingTrace);
|
||||
this.javaSemanticServices.setTypeTransformer(javaTypeTransformer);
|
||||
|
||||
this.javaDescriptorResolver.setClassResolver(javaClassResolver);
|
||||
this.javaDescriptorResolver.setConstructorResolver(javaConstructorResolver);
|
||||
this.javaDescriptorResolver.setFunctionResolver(javaFunctionResolver);
|
||||
this.javaDescriptorResolver.setInnerClassResolver(javaInnerClassResolver);
|
||||
this.javaDescriptorResolver.setNamespaceResolver(javaNamespaceResolver);
|
||||
this.javaDescriptorResolver.setPropertiesResolver(javaPropertyResolver);
|
||||
|
||||
javaBridgeConfiguration.setJavaSemanticServices(javaSemanticServices);
|
||||
|
||||
this.psiClassFinder.setProject(project);
|
||||
|
||||
moduleDescriptor.setModuleConfiguration(javaBridgeConfiguration);
|
||||
|
||||
javaTypeTransformer.setResolver(javaDescriptorResolver);
|
||||
|
||||
javaClassResolver.setAnnotationResolver(javaAnnotationResolver);
|
||||
javaClassResolver.setFunctionResolver(javaFunctionResolver);
|
||||
javaClassResolver.setKotlinDescriptorResolver(deserializedDescriptorResolver);
|
||||
javaClassResolver.setNamespaceResolver(javaNamespaceResolver);
|
||||
javaClassResolver.setPsiClassFinder(psiClassFinder);
|
||||
javaClassResolver.setSemanticServices(javaSemanticServices);
|
||||
javaClassResolver.setSignatureResolver(javaSignatureResolver);
|
||||
javaClassResolver.setSupertypesResolver(javaSupertypeResolver);
|
||||
javaClassResolver.setTrace(bindingTrace);
|
||||
|
||||
javaAnnotationResolver.setClassResolver(javaClassResolver);
|
||||
javaAnnotationResolver.setCompileTimeConstResolver(javaCompileTimeConstResolver);
|
||||
|
||||
javaCompileTimeConstResolver.setAnnotationResolver(javaAnnotationResolver);
|
||||
javaCompileTimeConstResolver.setClassResolver(javaClassResolver);
|
||||
|
||||
javaFunctionResolver.setAnnotationResolver(javaAnnotationResolver);
|
||||
javaFunctionResolver.setParameterResolver(javaValueParameterResolver);
|
||||
javaFunctionResolver.setSignatureResolver(javaSignatureResolver);
|
||||
javaFunctionResolver.setTrace(bindingTrace);
|
||||
javaFunctionResolver.setTypeTransformer(javaTypeTransformer);
|
||||
|
||||
javaValueParameterResolver.setTypeTransformer(javaTypeTransformer);
|
||||
|
||||
javaSignatureResolver.setJavaSemanticServices(javaSemanticServices);
|
||||
|
||||
deserializedDescriptorResolver.setAnnotationDeserializer(annotationDescriptorDeserializer);
|
||||
deserializedDescriptorResolver.setJavaClassResolver(javaClassResolver);
|
||||
deserializedDescriptorResolver.setJavaNamespaceResolver(javaNamespaceResolver);
|
||||
|
||||
annotationDescriptorDeserializer.setJavaClassResolver(javaClassResolver);
|
||||
annotationDescriptorDeserializer.setPsiClassFinder(psiClassFinder);
|
||||
|
||||
javaNamespaceResolver.setDeserializedDescriptorResolver(deserializedDescriptorResolver);
|
||||
javaNamespaceResolver.setJavaSemanticServices(javaSemanticServices);
|
||||
javaNamespaceResolver.setPsiClassFinder(psiClassFinder);
|
||||
javaNamespaceResolver.setTrace(bindingTrace);
|
||||
|
||||
javaSupertypeResolver.setClassResolver(javaClassResolver);
|
||||
javaSupertypeResolver.setTrace(bindingTrace);
|
||||
javaSupertypeResolver.setTypeTransformer(javaTypeTransformer);
|
||||
|
||||
javaConstructorResolver.setTrace(bindingTrace);
|
||||
javaConstructorResolver.setTypeTransformer(javaTypeTransformer);
|
||||
javaConstructorResolver.setValueParameterResolver(javaValueParameterResolver);
|
||||
|
||||
javaInnerClassResolver.setClassResolver(javaClassResolver);
|
||||
|
||||
javaPropertyResolver.setAnnotationResolver(javaAnnotationResolver);
|
||||
javaPropertyResolver.setSemanticServices(javaSemanticServices);
|
||||
javaPropertyResolver.setTrace(bindingTrace);
|
||||
|
||||
psiClassFinder.initialize();
|
||||
|
||||
}
|
||||
|
||||
@PreDestroy
|
||||
public void destroy() {
|
||||
}
|
||||
|
||||
public JavaSemanticServices getJavaSemanticServices() {
|
||||
return this.javaSemanticServices;
|
||||
}
|
||||
|
||||
public JavaDescriptorResolver getJavaDescriptorResolver() {
|
||||
return this.javaDescriptorResolver;
|
||||
}
|
||||
|
||||
public BindingTrace getBindingTrace() {
|
||||
return this.bindingTrace;
|
||||
}
|
||||
|
||||
public PsiClassFinderImpl getPsiClassFinder() {
|
||||
return this.psiClassFinder;
|
||||
}
|
||||
|
||||
public Project getProject() {
|
||||
return this.project;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -287,7 +287,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
javaSemanticServices.setDescriptorResolver(javaDescriptorResolver);
|
||||
javaSemanticServices.setPsiClassFinder(psiClassFinder);
|
||||
javaSemanticServices.setPsiDeclarationProviderFactory(psiDeclarationProviderFactory);
|
||||
javaSemanticServices.setTrace(bindingTrace);
|
||||
javaSemanticServices.setTypeTransformer(javaTypeTransformer);
|
||||
|
||||
javaTypeTransformer.setResolver(javaDescriptorResolver);
|
||||
|
||||
+1
-4
@@ -78,10 +78,8 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
||||
@NotNull
|
||||
@Override
|
||||
public ResolveSession getLazyResolveSession(@NotNull Project fileProject, @NotNull Collection<JetFile> files) {
|
||||
ModuleDescriptorImpl javaModule = createJavaModule("<java module>");
|
||||
|
||||
BindingTraceContext javaResolverTrace = new BindingTraceContext();
|
||||
InjectorForJavaDescriptorResolver injector = new InjectorForJavaDescriptorResolver(fileProject, javaResolverTrace, javaModule);
|
||||
InjectorForJavaDescriptorResolver injector = new InjectorForJavaDescriptorResolver(fileProject, javaResolverTrace);
|
||||
|
||||
final PsiClassFinder psiClassFinder = injector.getPsiClassFinder();
|
||||
|
||||
@@ -115,7 +113,6 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
||||
}
|
||||
}
|
||||
};
|
||||
javaModule.setModuleConfiguration(moduleConfiguration);
|
||||
|
||||
ModuleDescriptorImpl lazyModule = createJavaModule("<lazy module>");
|
||||
lazyModule.setModuleConfiguration(moduleConfiguration);
|
||||
|
||||
+2
-19
@@ -35,8 +35,6 @@ public class JavaSemanticServices {
|
||||
@NotNull
|
||||
private PsiClassFinder psiClassFinder;
|
||||
@NotNull
|
||||
private BindingTrace trace;
|
||||
@NotNull
|
||||
private PsiDeclarationProviderFactory psiDeclarationProviderFactory;
|
||||
|
||||
@Inject
|
||||
@@ -55,8 +53,8 @@ public class JavaSemanticServices {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public void setTrace(@NotNull BindingTrace trace) {
|
||||
this.trace = trace;
|
||||
public void setPsiDeclarationProviderFactory(@NotNull PsiDeclarationProviderFactory psiDeclarationProviderFactory) {
|
||||
this.psiDeclarationProviderFactory = psiDeclarationProviderFactory;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -64,21 +62,11 @@ public class JavaSemanticServices {
|
||||
return typeTransformer;
|
||||
}
|
||||
|
||||
@Inject
|
||||
public void setPsiDeclarationProviderFactory(PsiDeclarationProviderFactory psiDeclarationProviderFactory) {
|
||||
this.psiDeclarationProviderFactory = psiDeclarationProviderFactory;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public JavaDescriptorResolver getDescriptorResolver() {
|
||||
return descriptorResolver;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public ClassDescriptor getKotlinClassDescriptor(@NotNull FqName qualifiedName) {
|
||||
return trace.get(BindingContext.FQNAME_TO_CLASS_DESCRIPTOR, qualifiedName);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public PsiClassFinder getPsiClassFinder() {
|
||||
return psiClassFinder;
|
||||
@@ -88,9 +76,4 @@ public class JavaSemanticServices {
|
||||
public PsiDeclarationProviderFactory getPsiDeclarationProviderFactory() {
|
||||
return psiDeclarationProviderFactory;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public NamespaceDescriptor getKotlinNamespaceDescriptor(@NotNull FqName qualifiedName) {
|
||||
return trace.get(BindingContext.FQNAME_TO_NAMESPACE_DESCRIPTOR, qualifiedName);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -166,7 +166,7 @@ public final class JavaClassResolver {
|
||||
}
|
||||
|
||||
// First, let's check that this is a real Java class, not a Java's view on a Kotlin class:
|
||||
ClassDescriptor kotlinClassDescriptor = semanticServices.getKotlinClassDescriptor(qualifiedName);
|
||||
ClassDescriptor kotlinClassDescriptor = trace.get(BindingContext.FQNAME_TO_CLASS_DESCRIPTOR, qualifiedName);
|
||||
if (kotlinClassDescriptor != null) {
|
||||
return searchRule.processFoundInKotlin(kotlinClassDescriptor);
|
||||
}
|
||||
|
||||
+1
-1
@@ -92,7 +92,7 @@ public final class JavaNamespaceResolver {
|
||||
@Nullable
|
||||
public NamespaceDescriptor resolveNamespace(@NotNull FqName qualifiedName, @NotNull DescriptorSearchRule searchRule) {
|
||||
// First, let's check that there is no Kotlin package:
|
||||
NamespaceDescriptor kotlinNamespaceDescriptor = javaSemanticServices.getKotlinNamespaceDescriptor(qualifiedName);
|
||||
NamespaceDescriptor kotlinNamespaceDescriptor = trace.get(BindingContext.FQNAME_TO_NAMESPACE_DESCRIPTOR, qualifiedName);
|
||||
if (kotlinNamespaceDescriptor != null) {
|
||||
return searchRule.processFoundInKotlin(kotlinNamespaceDescriptor);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user