cleanup
- clean to green - injectors regenerated
This commit is contained in:
@@ -77,7 +77,6 @@ public class InjectorForJavaDescriptorResolver {
|
||||
javaTypeTransformer.setJavaSemanticServices(javaSemanticServices);
|
||||
javaTypeTransformer.setResolver(javaDescriptorResolver);
|
||||
|
||||
javaDescriptorSignatureResolver.setJavaDescriptorResolver(javaDescriptorResolver);
|
||||
javaDescriptorSignatureResolver.setJavaSemanticServices(javaSemanticServices);
|
||||
|
||||
javaBridgeConfiguration.init();
|
||||
|
||||
@@ -75,7 +75,6 @@ public class InjectorForJavaSemanticServices {
|
||||
javaTypeTransformer.setJavaSemanticServices(javaSemanticServices);
|
||||
javaTypeTransformer.setResolver(javaDescriptorResolver);
|
||||
|
||||
javaDescriptorSignatureResolver.setJavaDescriptorResolver(javaDescriptorResolver);
|
||||
javaDescriptorSignatureResolver.setJavaSemanticServices(javaSemanticServices);
|
||||
|
||||
javaBridgeConfiguration.init();
|
||||
|
||||
@@ -214,7 +214,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
javaTypeTransformer.setJavaSemanticServices(javaSemanticServices);
|
||||
javaTypeTransformer.setResolver(javaDescriptorResolver);
|
||||
|
||||
javaDescriptorSignatureResolver.setJavaDescriptorResolver(javaDescriptorResolver);
|
||||
javaDescriptorSignatureResolver.setJavaSemanticServices(javaSemanticServices);
|
||||
|
||||
moduleConfiguration.init();
|
||||
|
||||
+29
-32
@@ -47,23 +47,14 @@ import java.util.List;
|
||||
*/
|
||||
public class JavaDescriptorSignatureResolver {
|
||||
|
||||
@NotNull
|
||||
private JavaDescriptorResolver javaDescriptorResolver;
|
||||
@NotNull
|
||||
private JavaSemanticServices semanticServices;
|
||||
|
||||
@Inject
|
||||
public void setJavaDescriptorResolver(@NotNull JavaDescriptorResolver javaDescriptorResolver) {
|
||||
this.javaDescriptorResolver = javaDescriptorResolver;
|
||||
}
|
||||
|
||||
@Inject
|
||||
public void setJavaSemanticServices(@NotNull JavaSemanticServices javaSemanticServices) {
|
||||
this.semanticServices = javaSemanticServices;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private enum TypeParameterDescriptorOrigin {
|
||||
JAVA,
|
||||
KOTLIN,
|
||||
@@ -77,24 +68,22 @@ public class JavaDescriptorSignatureResolver {
|
||||
final PsiTypeParameter psiTypeParameter;
|
||||
@Nullable
|
||||
private final List<JetType> upperBoundsForKotlin;
|
||||
@Nullable
|
||||
private final List<JetType> lowerBoundsForKotlin;
|
||||
|
||||
private TypeParameterDescriptorInitialization(@NotNull TypeParameterDescriptorImpl descriptor, @NotNull PsiTypeParameter psiTypeParameter) {
|
||||
this.origin = TypeParameterDescriptorOrigin.JAVA;
|
||||
this.descriptor = descriptor;
|
||||
this.psiTypeParameter = psiTypeParameter;
|
||||
this.upperBoundsForKotlin = null;
|
||||
this.lowerBoundsForKotlin = null;
|
||||
}
|
||||
|
||||
private TypeParameterDescriptorInitialization(@NotNull TypeParameterDescriptorImpl descriptor, @NotNull PsiTypeParameter psiTypeParameter,
|
||||
List<JetType> upperBoundsForKotlin, List<JetType> lowerBoundsForKotlin) {
|
||||
private TypeParameterDescriptorInitialization(
|
||||
@NotNull TypeParameterDescriptorImpl descriptor, @NotNull PsiTypeParameter psiTypeParameter,
|
||||
List<JetType> upperBoundsForKotlin
|
||||
) {
|
||||
this.origin = TypeParameterDescriptorOrigin.KOTLIN;
|
||||
this.descriptor = descriptor;
|
||||
this.psiTypeParameter = psiTypeParameter;
|
||||
this.upperBoundsForKotlin = upperBoundsForKotlin;
|
||||
this.lowerBoundsForKotlin = lowerBoundsForKotlin;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,7 +126,6 @@ public class JavaDescriptorSignatureResolver {
|
||||
}
|
||||
|
||||
List<JetType> upperBounds = new ArrayList<JetType>();
|
||||
List<JetType> lowerBounds = new ArrayList<JetType>();
|
||||
|
||||
@Override
|
||||
public JetSignatureVisitor visitClassBound() {
|
||||
@@ -165,7 +153,7 @@ public class JavaDescriptorSignatureResolver {
|
||||
@Override
|
||||
public void visitFormalTypeParameterEnd() {
|
||||
PsiTypeParameter psiTypeParameter = getPsiTypeParameterByName(psiOwner, name);
|
||||
TypeParameterDescriptorInitialization typeParameterDescriptorInitialization = new TypeParameterDescriptorInitialization(typeParameterDescriptor, psiTypeParameter, upperBounds, lowerBounds);
|
||||
TypeParameterDescriptorInitialization typeParameterDescriptorInitialization = new TypeParameterDescriptorInitialization(typeParameterDescriptor, psiTypeParameter, upperBounds);
|
||||
done(typeParameterDescriptorInitialization);
|
||||
}
|
||||
|
||||
@@ -221,7 +209,7 @@ public class JavaDescriptorSignatureResolver {
|
||||
}
|
||||
|
||||
/**
|
||||
* @see #resolveMethodTypeParametersFromJetSignature(String, com.intellij.psi.PsiMethod, org.jetbrains.jet.lang.descriptors.DeclarationDescriptor)
|
||||
* @see #resolveMethodTypeParametersFromJetSignature(String, PsiMethod, DeclarationDescriptor)
|
||||
*/
|
||||
private List<TypeParameterDescriptorInitialization> resolveClassTypeParametersFromJetSignature(String jetSignature,
|
||||
final PsiClass clazz, final ClassDescriptor classDescriptor) {
|
||||
@@ -244,7 +232,10 @@ public class JavaDescriptorSignatureResolver {
|
||||
}
|
||||
|
||||
|
||||
private List<TypeParameterDescriptorInitialization> makeUninitializedTypeParameters(@NotNull DeclarationDescriptor containingDeclaration, @NotNull PsiTypeParameter[] typeParameters) {
|
||||
private static List<TypeParameterDescriptorInitialization> makeUninitializedTypeParameters(
|
||||
@NotNull DeclarationDescriptor containingDeclaration,
|
||||
@NotNull PsiTypeParameter[] typeParameters
|
||||
) {
|
||||
List<TypeParameterDescriptorInitialization> result = Lists.newArrayList();
|
||||
for (PsiTypeParameter typeParameter : typeParameters) {
|
||||
TypeParameterDescriptorInitialization typeParameterDescriptor = makeUninitializedTypeParameter(containingDeclaration, typeParameter);
|
||||
@@ -254,7 +245,10 @@ public class JavaDescriptorSignatureResolver {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private TypeParameterDescriptorInitialization makeUninitializedTypeParameter(@NotNull DeclarationDescriptor containingDeclaration, @NotNull PsiTypeParameter psiTypeParameter) {
|
||||
private static TypeParameterDescriptorInitialization makeUninitializedTypeParameter(
|
||||
@NotNull DeclarationDescriptor containingDeclaration,
|
||||
@NotNull PsiTypeParameter psiTypeParameter
|
||||
) {
|
||||
TypeParameterDescriptorImpl typeParameterDescriptor = TypeParameterDescriptorImpl.createForFurtherModification(
|
||||
containingDeclaration,
|
||||
Collections.<AnnotationDescriptor>emptyList(), // TODO
|
||||
@@ -269,12 +263,13 @@ public class JavaDescriptorSignatureResolver {
|
||||
private void initializeTypeParameter(TypeParameterDescriptorInitialization typeParameter, TypeVariableResolver typeVariableByPsiResolver) {
|
||||
TypeParameterDescriptorImpl typeParameterDescriptor = typeParameter.descriptor;
|
||||
if (typeParameter.origin == TypeParameterDescriptorOrigin.KOTLIN) {
|
||||
List<?> upperBounds = typeParameter.upperBoundsForKotlin;
|
||||
if (upperBounds.size() == 0){
|
||||
final List<JetType> upperBoundsForKotlin = typeParameter.upperBoundsForKotlin;
|
||||
assert upperBoundsForKotlin != null;
|
||||
if (upperBoundsForKotlin.size() == 0){
|
||||
typeParameterDescriptor.addUpperBound(JetStandardClasses.getNullableAnyType());
|
||||
}
|
||||
else {
|
||||
for (JetType upperBound : typeParameter.upperBoundsForKotlin) {
|
||||
for (JetType upperBound : upperBoundsForKotlin) {
|
||||
typeParameterDescriptor.addUpperBound(upperBound);
|
||||
}
|
||||
}
|
||||
@@ -299,7 +294,7 @@ public class JavaDescriptorSignatureResolver {
|
||||
}
|
||||
|
||||
void initializeTypeParameters(List<TypeParameterDescriptorInitialization> typeParametersInitialization, @NotNull DeclarationDescriptor typeParametersOwner, @NotNull String context) {
|
||||
List<TypeParameterDescriptor> prevTypeParameters = new ArrayList<TypeParameterDescriptor>();
|
||||
List<TypeParameterDescriptor> prevTypeParameters = Lists.newArrayList();
|
||||
|
||||
List<TypeParameterDescriptor> typeParameters = Lists.newArrayList();
|
||||
for (TypeParameterDescriptorInitialization typeParameterDescriptor : typeParametersInitialization) {
|
||||
@@ -331,15 +326,18 @@ public class JavaDescriptorSignatureResolver {
|
||||
@NotNull DeclarationDescriptor functionDescriptor) {
|
||||
|
||||
List<TypeParameterDescriptorInitialization> typeParametersIntialization;
|
||||
final PsiMethod psiMethod = method.getPsiMethod();
|
||||
if (method.getJetMethod().typeParameters().length() > 0) {
|
||||
typeParametersIntialization = resolveMethodTypeParametersFromJetSignature(
|
||||
method.getJetMethod().typeParameters(), method.getPsiMethod(), functionDescriptor);
|
||||
method.getJetMethod().typeParameters(), psiMethod, functionDescriptor);
|
||||
}
|
||||
else {
|
||||
typeParametersIntialization = makeUninitializedTypeParameters(functionDescriptor, method.getPsiMethod().getTypeParameters());
|
||||
typeParametersIntialization = makeUninitializedTypeParameters(functionDescriptor, psiMethod.getTypeParameters());
|
||||
}
|
||||
|
||||
String context = "method " + method.getName() + " in class " + method.getPsiMethod().getContainingClass().getQualifiedName();
|
||||
final PsiClass psiMethodContainingClass = psiMethod.getContainingClass();
|
||||
assert psiMethodContainingClass != null;
|
||||
String context = "method " + method.getName() + " in class " + psiMethodContainingClass.getQualifiedName();
|
||||
initializeTypeParameters(typeParametersIntialization, functionDescriptor, context);
|
||||
|
||||
List<TypeParameterDescriptor> typeParameters = Lists.newArrayListWithCapacity(typeParametersIntialization.size());
|
||||
@@ -352,18 +350,17 @@ public class JavaDescriptorSignatureResolver {
|
||||
}
|
||||
|
||||
/**
|
||||
* @see #resolveClassTypeParametersFromJetSignature(String, com.intellij.psi.PsiClass, org.jetbrains.jet.lang.descriptors.ClassDescriptor)
|
||||
* @see #resolveClassTypeParametersFromJetSignature(String, PsiClass, ClassDescriptor)
|
||||
*/
|
||||
private List<TypeParameterDescriptorInitialization> resolveMethodTypeParametersFromJetSignature(String jetSignature,
|
||||
final PsiMethod method, final DeclarationDescriptor functionDescriptor)
|
||||
{
|
||||
String context = "method " + method.getName() + " in class " + method.getContainingClass().getQualifiedName();
|
||||
final PsiClass methodContainingClass = method.getContainingClass();
|
||||
assert methodContainingClass != null;
|
||||
String context = "method " + method.getName() + " in class " + methodContainingClass.getQualifiedName();
|
||||
JetSignatureTypeParametersVisitor jetSignatureTypeParametersVisitor = new JetSignatureTypeParametersVisitor(functionDescriptor, method, context);
|
||||
new JetSignatureReader(jetSignature).acceptFormalTypeParametersOnly(jetSignatureTypeParametersVisitor);
|
||||
return jetSignatureTypeParametersVisitor.r;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user