Fix processing of primary constructor parameters to match existing test data
This commit is contained in:
+15
-5
@@ -81,17 +81,27 @@ public class AbstractLazyResolveDescriptorRendererTest extends AbstractLazyResol
|
||||
if (declaringElement instanceof JetNamedFunction) {
|
||||
JetNamedFunction jetNamedFunction = (JetNamedFunction) declaringElement;
|
||||
FunctionDescriptor functionDescriptor = (FunctionDescriptor) resolveSession.resolveToDescriptor(jetNamedFunction);
|
||||
for (ValueParameterDescriptor valueParameterDescriptor : functionDescriptor.getValueParameters()) {
|
||||
if (valueParameterDescriptor.getName().equals(parameter.getNameAsName())) {
|
||||
descriptors.add(valueParameterDescriptor);
|
||||
}
|
||||
}
|
||||
addCorrespondingParameterDescriptor(functionDescriptor, parameter);
|
||||
}
|
||||
else if (declaringElement instanceof JetClass) {
|
||||
// Primary constructor parameter
|
||||
JetClass jetClass = (JetClass) declaringElement;
|
||||
ClassDescriptor classDescriptor = resolveSession.getClassDescriptor(jetClass);
|
||||
addCorrespondingParameterDescriptor(classDescriptor.getConstructors().iterator().next(), parameter);
|
||||
}
|
||||
else {
|
||||
super.visitParameter(parameter);
|
||||
}
|
||||
}
|
||||
|
||||
private void addCorrespondingParameterDescriptor(FunctionDescriptor functionDescriptor, JetParameter parameter) {
|
||||
for (ValueParameterDescriptor valueParameterDescriptor : functionDescriptor.getValueParameters()) {
|
||||
if (valueParameterDescriptor.getName().equals(parameter.getNameAsName())) {
|
||||
descriptors.add(valueParameterDescriptor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPropertyAccessor(JetPropertyAccessor accessor) {
|
||||
JetProperty parent = (JetProperty) accessor.getParent();
|
||||
|
||||
Reference in New Issue
Block a user