Nullable types prohibited in supertypes

This commit is contained in:
Andrey Breslav
2011-09-13 19:43:41 +04:00
parent f8cb012097
commit 78a51bd9c4
2 changed files with 6 additions and 1 deletions
@@ -107,6 +107,11 @@ public class ClassDescriptorResolver {
if (typeReference != null) {
result.add(resolver.resolveType(extensibleScope, typeReference));
JetTypeElement typeElement = typeReference.getTypeElement();
while (typeElement instanceof JetNullableType) {
JetNullableType nullableType = (JetNullableType) typeElement;
trace.getErrorHandler().genericError(nullableType.getQuestionMarkNode(), "A supertype cannot be nullable");
typeElement = nullableType.getInnerType();
}
if (typeElement instanceof JetUserType) {
JetUserType userType = (JetUserType) typeElement;
List<JetTypeProjection> typeArguments = userType.getTypeArguments();