Type parameters/arguments constitute lists, not collections
This commit is contained in:
+2
-1
@@ -30,6 +30,7 @@ import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import static org.jetbrains.jet.lang.resolve.java.structure.impl.JavaElementCollectionFromPsiArrayUtil.*;
|
||||
|
||||
@@ -83,7 +84,7 @@ public class JavaClassImpl extends JavaClassifierImpl<PsiClass> implements JavaC
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<JavaTypeParameter> getTypeParameters() {
|
||||
public List<JavaTypeParameter> getTypeParameters() {
|
||||
return typeParameters(getPsi().getTypeParameters());
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -103,7 +103,7 @@ public class JavaClassifierTypeImpl extends JavaTypeImpl<PsiClassType> implement
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public Collection<JavaType> getTypeArguments() {
|
||||
public List<JavaType> getTypeArguments() {
|
||||
return types(getPsi().getParameters());
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -170,13 +170,13 @@ public class JavaElementCollectionFromPsiArrayUtil {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static Collection<JavaTypeParameter> typeParameters(@NotNull PsiTypeParameter[] typeParameters) {
|
||||
return (Collection) convert(typeParameters, Factories.TYPE_PARAMETERS);
|
||||
public static List<JavaTypeParameter> typeParameters(@NotNull PsiTypeParameter[] typeParameters) {
|
||||
return (List) convert(typeParameters, Factories.TYPE_PARAMETERS);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static Collection<JavaType> types(@NotNull PsiType[] types) {
|
||||
return (Collection) convert(types, Factories.TYPES);
|
||||
public static List<JavaType> types(@NotNull PsiType[] types) {
|
||||
return (List) convert(types, Factories.TYPES);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+1
-2
@@ -27,7 +27,6 @@ import org.jetbrains.jet.lang.resolve.java.structure.JavaTypeParameter;
|
||||
import org.jetbrains.jet.lang.resolve.java.structure.JavaValueParameter;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import static org.jetbrains.jet.lang.resolve.java.structure.impl.JavaElementCollectionFromPsiArrayUtil.typeParameters;
|
||||
@@ -46,7 +45,7 @@ public class JavaMethodImpl extends JavaMemberImpl<PsiMethod> implements JavaMet
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<JavaTypeParameter> getTypeParameters() {
|
||||
public List<JavaTypeParameter> getTypeParameters() {
|
||||
return typeParameters(getPsi().getTypeParameters());
|
||||
}
|
||||
|
||||
|
||||
+6
-7
@@ -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'
|
||||
|
||||
+2
-1
@@ -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();
|
||||
}
|
||||
|
||||
+2
-2
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user