TypeProjection interface extracted
This commit is contained in:
@@ -27,6 +27,7 @@ import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
||||
import org.jetbrains.jet.lang.types.JetType;
|
||||
import org.jetbrains.jet.lang.types.JetTypeImpl;
|
||||
import org.jetbrains.jet.lang.types.TypeProjection;
|
||||
import org.jetbrains.jet.lang.types.TypeProjectionImpl;
|
||||
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -95,17 +96,17 @@ public class FunctionTypesUtil {
|
||||
|
||||
List<TypeProjection> typeArguments = new ArrayList<TypeProjection>(arity + 2);
|
||||
if (receiverParameter != null) {
|
||||
typeArguments.add(new TypeProjection(receiverParameter.getType()));
|
||||
typeArguments.add(new TypeProjectionImpl(receiverParameter.getType()));
|
||||
}
|
||||
else if (kFunction && expectedThisObject != null) {
|
||||
typeArguments.add(new TypeProjection(expectedThisObject.getType()));
|
||||
typeArguments.add(new TypeProjectionImpl(expectedThisObject.getType()));
|
||||
}
|
||||
|
||||
for (ValueParameterDescriptor parameter : descriptor.getValueParameters()) {
|
||||
typeArguments.add(new TypeProjection(parameter.getType()));
|
||||
typeArguments.add(new TypeProjectionImpl(parameter.getType()));
|
||||
}
|
||||
|
||||
typeArguments.add(new TypeProjection(descriptor.getReturnType()));
|
||||
typeArguments.add(new TypeProjectionImpl(descriptor.getReturnType()));
|
||||
|
||||
ClassDescriptor classDescriptor;
|
||||
if (kFunction) {
|
||||
|
||||
@@ -584,7 +584,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
|
||||
private ClassifierDescriptor getSubstituteForTypeParameterOf(@NotNull ClassDescriptor trait, int index) {
|
||||
TypeParameterDescriptor listTypeParameter = trait.getTypeConstructor().getParameters().get(index);
|
||||
TypeSubstitutor deepSubstitutor = SubstitutionUtils.buildDeepSubstitutor(descriptor.getDefaultType());
|
||||
TypeProjection substitute = deepSubstitutor.substitute(new TypeProjection(listTypeParameter.getDefaultType()));
|
||||
TypeProjection substitute = deepSubstitutor.substitute(new TypeProjectionImpl(listTypeParameter.getDefaultType()));
|
||||
assert substitute != null : "Couldn't substitute: " + descriptor;
|
||||
ClassifierDescriptor classifier = substitute.getType().getConstructor().getDeclarationDescriptor();
|
||||
assert classifier != null : "No classifier: " + substitute.getType();
|
||||
|
||||
Reference in New Issue
Block a user