Obtain type parameters of constructor from containing class
Effectively this commit is just inlining of 'typeParameters' parameter
This commit is contained in:
+1
-3
@@ -480,7 +480,6 @@ public class LazyJavaClassMemberScope(
|
||||
constructor, false, null, null, valueParameters.descriptors, Collections.emptyList(), false)
|
||||
|
||||
constructorDescriptor.initialize(
|
||||
classDescriptor.getTypeConstructor().getParameters(),
|
||||
effectiveSignature.getValueParameters(),
|
||||
constructor.getVisibility()
|
||||
)
|
||||
@@ -508,12 +507,11 @@ public class LazyJavaClassMemberScope(
|
||||
val constructorDescriptor = JavaConstructorDescriptor.createJavaConstructor(
|
||||
classDescriptor, Annotations.EMPTY, /* isPrimary = */ true, c.components.sourceElementFactory.source(jClass)
|
||||
)
|
||||
val typeParameters = classDescriptor.getTypeConstructor().getParameters()
|
||||
val valueParameters = if (isAnnotation) createAnnotationConstructorParameters(constructorDescriptor)
|
||||
else Collections.emptyList<ValueParameterDescriptor>()
|
||||
constructorDescriptor.setHasSynthesizedParameterNames(false)
|
||||
|
||||
constructorDescriptor.initialize(typeParameters, valueParameters, getConstructorVisibility(classDescriptor))
|
||||
constructorDescriptor.initialize(valueParameters, getConstructorVisibility(classDescriptor))
|
||||
constructorDescriptor.setHasStableParameterNames(true)
|
||||
constructorDescriptor.setReturnType(classDescriptor.getDefaultType())
|
||||
c.components.javaResolverCache.recordConstructor(jClass, constructorDescriptor);
|
||||
|
||||
+5
-3
@@ -55,12 +55,14 @@ public class ConstructorDescriptorImpl extends FunctionDescriptorImpl implements
|
||||
}
|
||||
|
||||
public ConstructorDescriptorImpl initialize(
|
||||
@NotNull List<TypeParameterDescriptor> typeParameters,
|
||||
@NotNull List<ValueParameterDescriptor> unsubstitutedValueParameters,
|
||||
@NotNull Visibility visibility
|
||||
) {
|
||||
super.initialize(null, calculateDispatchReceiverParameter(), typeParameters, unsubstitutedValueParameters, null,
|
||||
Modality.FINAL, visibility);
|
||||
super.initialize(
|
||||
null, calculateDispatchReceiverParameter(),
|
||||
getContainingDeclaration().getDeclaredTypeParameters(),
|
||||
unsubstitutedValueParameters, null,
|
||||
Modality.FINAL, visibility);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ public class DescriptorFactory {
|
||||
private static class DefaultConstructorDescriptor extends ConstructorDescriptorImpl {
|
||||
public DefaultConstructorDescriptor(@NotNull ClassDescriptor containingClass, @NotNull SourceElement source) {
|
||||
super(containingClass, null, Annotations.Companion.getEMPTY(), true, Kind.DECLARATION, source);
|
||||
initialize(Collections.<TypeParameterDescriptor>emptyList(), Collections.<ValueParameterDescriptor>emptyList(),
|
||||
initialize(Collections.<ValueParameterDescriptor>emptyList(),
|
||||
getDefaultConstructorVisibility(containingClass));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -269,7 +269,7 @@ public class ErrorUtils {
|
||||
Modality.OPEN, Collections.<KotlinType>emptyList(), SourceElement.NO_SOURCE);
|
||||
|
||||
ConstructorDescriptorImpl errorConstructor = ConstructorDescriptorImpl.create(this, Annotations.Companion.getEMPTY(), true, SourceElement.NO_SOURCE);
|
||||
errorConstructor.initialize(Collections.<TypeParameterDescriptor>emptyList(), Collections.<ValueParameterDescriptor>emptyList(),
|
||||
errorConstructor.initialize(Collections.<ValueParameterDescriptor>emptyList(),
|
||||
Visibilities.INTERNAL);
|
||||
MemberScope memberScope = createErrorScope(getName().asString());
|
||||
errorConstructor.setReturnType(
|
||||
|
||||
-1
@@ -170,7 +170,6 @@ public class MemberDeserializer(private val c: DeserializationContext) {
|
||||
)
|
||||
val local = c.childContext(descriptor, listOf())
|
||||
descriptor.initialize(
|
||||
classDescriptor.typeConstructor.parameters,
|
||||
local.memberDeserializer.valueParameters(proto.valueParameterList, proto, AnnotatedCallableKind.FUNCTION),
|
||||
Deserialization.visibility(Flags.VISIBILITY.get(proto.flags))
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user