Cloning a constructor descriptor shall result in constructor descriptor, not FunctionDescriptor
This commit is contained in:
@@ -96,11 +96,21 @@ public class FunctionDescriptorUtil {
|
|||||||
if (substitutor.isEmpty()) {
|
if (substitutor.isEmpty()) {
|
||||||
return functionDescriptor;
|
return functionDescriptor;
|
||||||
}
|
}
|
||||||
FunctionDescriptorImpl substitutedDescriptor = new FunctionDescriptorImpl(
|
FunctionDescriptorImpl substitutedDescriptor;
|
||||||
functionDescriptor,
|
if (functionDescriptor instanceof ConstructorDescriptor) {
|
||||||
// TODO : safeSubstitute
|
ConstructorDescriptor original = (ConstructorDescriptor) functionDescriptor;
|
||||||
functionDescriptor.getAttributes(),
|
|
||||||
functionDescriptor.getName());
|
substitutedDescriptor = new ConstructorDescriptorImpl(
|
||||||
|
original, functionDescriptor.getAttributes(), original.isPrimary()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
substitutedDescriptor = new FunctionDescriptorImpl(
|
||||||
|
functionDescriptor,
|
||||||
|
// TODO : safeSubstitute
|
||||||
|
functionDescriptor.getAttributes(),
|
||||||
|
functionDescriptor.getName());
|
||||||
|
}
|
||||||
|
|
||||||
List<ValueParameterDescriptor> substitutedValueParameters = getSubstitutedValueParameters(substitutedDescriptor, functionDescriptor, substitutor);
|
List<ValueParameterDescriptor> substitutedValueParameters = getSubstitutedValueParameters(substitutedDescriptor, functionDescriptor, substitutor);
|
||||||
if (substitutedValueParameters == null) {
|
if (substitutedValueParameters == null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user