Type parameters/arguments constitute lists, not collections

This commit is contained in:
Alexander Udalov
2013-10-15 20:14:53 +04:00
parent 0958e63be2
commit 5b916ea108
7 changed files with 18 additions and 18 deletions
@@ -185,7 +185,7 @@ public class JavaTypeTransformer {
}
}
else {
Collection<JavaType> javaTypeArguments = classifierType.getTypeArguments();
List<JavaType> javaTypeArguments = classifierType.getTypeArguments();
if (parameters.size() != javaTypeArguments.size()) {
// Most of the time this means there is an error in the Java code
@@ -194,14 +194,13 @@ public class JavaTypeTransformer {
}
}
else {
int index = 0;
for (JavaType typeArgument : javaTypeArguments) {
TypeParameterDescriptor typeParameterDescriptor = parameters.get(index);
index++;
for (int i = 0, size = javaTypeArguments.size(); i < size; i++) {
JavaType typeArgument = javaTypeArguments.get(i);
TypeParameterDescriptor typeParameterDescriptor = parameters.get(i);
TypeUsage howTheProjectionIsUsed = howThisTypeIsUsed == SUPERTYPE ? SUPERTYPE_ARGUMENT : TYPE_ARGUMENT;
TypeProjection typeProjection = transformToTypeProjection(typeArgument, typeParameterDescriptor, typeVariableResolver,
howTheProjectionIsUsed);
TypeProjection typeProjection =
transformToTypeProjection(typeArgument, typeParameterDescriptor, typeVariableResolver, howTheProjectionIsUsed);
if (typeProjection.getProjectionKind() == typeParameterDescriptor.getVariance()) {
// remove redundant 'out' and 'in'
@@ -20,6 +20,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Collection;
import java.util.List;
public interface JavaClassifierType extends JavaType {
@Nullable
@@ -37,5 +38,5 @@ public interface JavaClassifierType extends JavaType {
boolean isRaw();
@NotNull
Collection<JavaType> getTypeArguments();
List<JavaType> getTypeArguments();
}
@@ -18,9 +18,9 @@ package org.jetbrains.jet.lang.resolve.java.structure;
import org.jetbrains.annotations.NotNull;
import java.util.Collection;
import java.util.List;
public interface JavaTypeParameterListOwner extends JavaElement {
@NotNull
Collection<JavaTypeParameter> getTypeParameters();
List<JavaTypeParameter> getTypeParameters();
}