Got rid of constructors/initializers zoo in constructor descriptors

This commit is contained in:
Evgeny Gerashchenko
2014-03-25 17:29:19 +04:00
parent 23e6ae02bd
commit 8d38e74bd9
12 changed files with 54 additions and 46 deletions
@@ -17,6 +17,7 @@
package org.jetbrains.jet.lang.resolve.java.descriptor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
import org.jetbrains.jet.lang.descriptors.annotations.Annotations;
@@ -25,21 +26,22 @@ import org.jetbrains.jet.lang.descriptors.impl.ConstructorDescriptorImpl;
public class JavaConstructorDescriptor extends ConstructorDescriptorImpl {
private Boolean hasStableParameterNames;
public JavaConstructorDescriptor(
@NotNull ClassDescriptor containingDeclaration,
@NotNull Annotations annotations,
boolean isPrimary
) {
super(containingDeclaration, annotations, isPrimary);
}
private JavaConstructorDescriptor(
@NotNull ClassDescriptor containingDeclaration,
@NotNull JavaConstructorDescriptor original,
@Nullable JavaConstructorDescriptor original,
@NotNull Annotations annotations,
boolean isPrimary
) {
super(containingDeclaration, original, annotations, isPrimary);
super(containingDeclaration, original, annotations, isPrimary, Kind.DECLARATION);
}
@NotNull
public static JavaConstructorDescriptor createJavaConstructor(
@NotNull ClassDescriptor containingDeclaration,
@NotNull Annotations annotations,
boolean isPrimary
) {
return new JavaConstructorDescriptor(containingDeclaration, null, annotations, isPrimary);
}
@Override
@@ -74,7 +74,7 @@ public class LazyJavaClassMemberScope(
}
private fun resolveConstructor(constructor: JavaMethod, classDescriptor: ClassDescriptor, isStaticClass: Boolean): ConstructorDescriptor {
val constructorDescriptor = JavaConstructorDescriptor(classDescriptor, Annotations.EMPTY, /* isPrimary = */ false)
val constructorDescriptor = JavaConstructorDescriptor.createJavaConstructor(classDescriptor, Annotations.EMPTY, /* isPrimary = */ false)
val valueParameters = resolveValueParameters(c, constructorDescriptor, constructor.getValueParameters())
val effectiveSignature = c.externalSignatureResolver.resolveAlternativeMethodSignature(
@@ -106,7 +106,7 @@ public class LazyJavaClassMemberScope(
return null
val classDescriptor = getContainingDeclaration()
val constructorDescriptor = JavaConstructorDescriptor(classDescriptor, Annotations.EMPTY, /* isPrimary = */ true)
val constructorDescriptor = JavaConstructorDescriptor.createJavaConstructor(classDescriptor, Annotations.EMPTY, /* isPrimary = */ true)
val typeParameters = classDescriptor.getTypeConstructor().getParameters()
val valueParameters = if (isAnnotation) createAnnotationConstructorParameters(constructorDescriptor)
else Collections.emptyList<ValueParameterDescriptor>()
@@ -26,7 +26,7 @@ import org.jetbrains.jet.lang.resolve.java.descriptor.SamAdapterDescriptor;
private final ConstructorDescriptor declaration;
public SamAdapterConstructorDescriptor(@NotNull ConstructorDescriptor declaration) {
super(declaration.getContainingDeclaration(), declaration.getAnnotations(), declaration.isPrimary(), Kind.SYNTHESIZED);
super(declaration.getContainingDeclaration(), null, declaration.getAnnotations(), declaration.isPrimary(), Kind.SYNTHESIZED);
this.declaration = declaration;
}