use 'getIndex' in parameters instead of 'int i' counter
This commit is contained in:
@@ -230,21 +230,21 @@ public class DeclarationResolver {
|
|||||||
JetScope memberScope = classDescriptor.getScopeForSupertypeResolution();
|
JetScope memberScope = classDescriptor.getScopeForSupertypeResolution();
|
||||||
ConstructorDescriptor constructorDescriptor = descriptorResolver.resolvePrimaryConstructorDescriptor(memberScope, classDescriptor, klass, trace);
|
ConstructorDescriptor constructorDescriptor = descriptorResolver.resolvePrimaryConstructorDescriptor(memberScope, classDescriptor, klass, trace);
|
||||||
if (constructorDescriptor != null) {
|
if (constructorDescriptor != null) {
|
||||||
List<ValueParameterDescriptor> valueParameters = constructorDescriptor.getValueParameters();
|
List<ValueParameterDescriptor> valueParameterDescriptors = constructorDescriptor.getValueParameters();
|
||||||
assert valueParameters.size() == klass.getPrimaryConstructorParameters().size();
|
List<JetParameter> primaryConstructorParameters = klass.getPrimaryConstructorParameters();
|
||||||
int i = 0;
|
assert valueParameterDescriptors.size() == primaryConstructorParameters.size();
|
||||||
for (JetParameter parameter : klass.getPrimaryConstructorParameters()) {
|
for (ValueParameterDescriptor valueParameterDescriptor : valueParameterDescriptors) {
|
||||||
|
JetParameter parameter = primaryConstructorParameters.get(valueParameterDescriptor.getIndex());
|
||||||
if (parameter.getValOrVarNode() != null) {
|
if (parameter.getValOrVarNode() != null) {
|
||||||
PropertyDescriptor propertyDescriptor = descriptorResolver.resolvePrimaryConstructorParameterToAProperty(
|
PropertyDescriptor propertyDescriptor = descriptorResolver.resolvePrimaryConstructorParameterToAProperty(
|
||||||
classDescriptor,
|
classDescriptor,
|
||||||
valueParameters.get(i),
|
valueParameterDescriptor,
|
||||||
memberScope,
|
memberScope,
|
||||||
parameter, trace
|
parameter, trace
|
||||||
);
|
);
|
||||||
classDescriptor.getBuilder().addPropertyDescriptor(propertyDescriptor);
|
classDescriptor.getBuilder().addPropertyDescriptor(propertyDescriptor);
|
||||||
context.getPrimaryConstructorParameterProperties().put(parameter, propertyDescriptor);
|
context.getPrimaryConstructorParameterProperties().put(parameter, propertyDescriptor);
|
||||||
}
|
}
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
classDescriptor.setPrimaryConstructor(constructorDescriptor, trace);
|
classDescriptor.setPrimaryConstructor(constructorDescriptor, trace);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,21 +110,21 @@ public class LazyClassMemberScope extends AbstractLazyMemberScope<LazyClassDescr
|
|||||||
|
|
||||||
ConstructorDescriptor primaryConstructor = getPrimaryConstructor();
|
ConstructorDescriptor primaryConstructor = getPrimaryConstructor();
|
||||||
if (primaryConstructor != null) {
|
if (primaryConstructor != null) {
|
||||||
List<ValueParameterDescriptor> valueParameters = primaryConstructor.getValueParameters();
|
List<ValueParameterDescriptor> valueParameterDescriptors = primaryConstructor.getValueParameters();
|
||||||
assert valueParameters.size() == jetClass.getPrimaryConstructorParameters().size();
|
List<JetParameter> primaryConstructorParameters = jetClass.getPrimaryConstructorParameters();
|
||||||
int i = 0;
|
assert valueParameterDescriptors.size() == primaryConstructorParameters.size();
|
||||||
for (JetParameter parameter : jetClass.getPrimaryConstructorParameters()) {
|
for (ValueParameterDescriptor valueParameterDescriptor : valueParameterDescriptors) {
|
||||||
|
JetParameter parameter = primaryConstructorParameters.get(valueParameterDescriptor.getIndex());
|
||||||
if (parameter.getValOrVarNode() != null && name.equals(parameter.getNameAsName())) {
|
if (parameter.getValOrVarNode() != null && name.equals(parameter.getNameAsName())) {
|
||||||
PropertyDescriptor propertyDescriptor =
|
PropertyDescriptor propertyDescriptor =
|
||||||
resolveSession.getInjector().getDescriptorResolver().resolvePrimaryConstructorParameterToAProperty(
|
resolveSession.getInjector().getDescriptorResolver().resolvePrimaryConstructorParameterToAProperty(
|
||||||
thisDescriptor,
|
thisDescriptor,
|
||||||
valueParameters.get(i),
|
valueParameterDescriptor,
|
||||||
thisDescriptor.getScopeForClassHeaderResolution(),
|
thisDescriptor.getScopeForClassHeaderResolution(),
|
||||||
parameter, resolveSession.getTrace()
|
parameter, resolveSession.getTrace()
|
||||||
);
|
);
|
||||||
result.add(propertyDescriptor);
|
result.add(propertyDescriptor);
|
||||||
}
|
}
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user