Clarifying renamings

This commit is contained in:
Andrey Breslav
2012-05-03 20:06:39 +04:00
parent c9c482925c
commit 3ca8bf6f63
@@ -912,7 +912,7 @@ public class DescriptorResolver {
return propertyDescriptor; return propertyDescriptor;
} }
public void checkBounds(@NotNull JetTypeReference typeReference, @NotNull JetType type, BindingTrace trace) { public static void checkBounds(@NotNull JetTypeReference typeReference, @NotNull JetType type, BindingTrace trace) {
if (ErrorUtils.isErrorType(type)) return; if (ErrorUtils.isErrorType(type)) return;
JetTypeElement typeElement = typeReference.getTypeElement(); JetTypeElement typeElement = typeReference.getTypeElement();
@@ -922,32 +922,32 @@ public class DescriptorResolver {
List<TypeProjection> arguments = type.getArguments(); List<TypeProjection> arguments = type.getArguments();
assert parameters.size() == arguments.size(); assert parameters.size() == arguments.size();
List<JetTypeReference> typeReferences = typeElement.getTypeArgumentsAsTypes(); List<JetTypeReference> jetTypeArguments = typeElement.getTypeArgumentsAsTypes();
assert typeReferences.size() == arguments.size() : typeElement.getText(); assert jetTypeArguments.size() == arguments.size() : typeElement.getText();
TypeSubstitutor substitutor = TypeSubstitutor.create(type); TypeSubstitutor substitutor = TypeSubstitutor.create(type);
for (int i = 0; i < typeReferences.size(); i++) { for (int i = 0; i < jetTypeArguments.size(); i++) {
JetTypeReference argumentTypeReference = typeReferences.get(i); JetTypeReference jetTypeArgument = jetTypeArguments.get(i);
if (argumentTypeReference == null) continue; if (jetTypeArgument == null) continue;
JetType typeArgument = arguments.get(i).getType(); JetType typeArgument = arguments.get(i).getType();
checkBounds(argumentTypeReference, typeArgument, trace); checkBounds(jetTypeArgument, typeArgument, trace);
TypeParameterDescriptor typeParameterDescriptor = parameters.get(i); TypeParameterDescriptor typeParameterDescriptor = parameters.get(i);
checkBounds(argumentTypeReference, typeArgument, typeParameterDescriptor, substitutor, trace); checkBounds(jetTypeArgument, typeArgument, typeParameterDescriptor, substitutor, trace);
} }
} }
public void checkBounds( public static void checkBounds(
@NotNull JetTypeReference argumentTypeReference, @NotNull JetTypeReference jetTypeArgument,
@NotNull JetType typeArgument, @NotNull JetType typeArgument,
@NotNull TypeParameterDescriptor typeParameterDescriptor, @NotNull TypeParameterDescriptor typeParameterDescriptor,
@NotNull TypeSubstitutor substitutor, BindingTrace trace) { @NotNull TypeSubstitutor substitutor, BindingTrace trace) {
for (JetType bound : typeParameterDescriptor.getUpperBounds()) { for (JetType bound : typeParameterDescriptor.getUpperBounds()) {
JetType substitutedBound = substitutor.safeSubstitute(bound, Variance.INVARIANT); JetType substitutedBound = substitutor.safeSubstitute(bound, Variance.INVARIANT);
if (!JetTypeChecker.INSTANCE.isSubtypeOf(typeArgument, substitutedBound)) { if (!JetTypeChecker.INSTANCE.isSubtypeOf(typeArgument, substitutedBound)) {
trace.report(UPPER_BOUND_VIOLATED.on(argumentTypeReference, substitutedBound, typeArgument)); trace.report(UPPER_BOUND_VIOLATED.on(jetTypeArgument, substitutedBound, typeArgument));
} }
} }
} }