Do not skip names of error classes
This commit is contained in:
committed by
Alexander Udalov
parent
655db3ca44
commit
6481bb658f
@@ -268,6 +268,19 @@ public class ErrorUtils {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private static final class ErrorTypeConstructor extends TypeConstructorImpl {
|
||||||
|
private ErrorTypeConstructor(
|
||||||
|
@Nullable ClassifierDescriptor classifierDescriptor,
|
||||||
|
@NotNull List<AnnotationDescriptor> annotations,
|
||||||
|
boolean sealed,
|
||||||
|
@NotNull String debugName,
|
||||||
|
@NotNull List<? extends TypeParameterDescriptor> parameters,
|
||||||
|
@NotNull Collection<JetType> supertypes
|
||||||
|
) {
|
||||||
|
super(classifierDescriptor, annotations, sealed, debugName, parameters, supertypes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static final Set<ConstructorDescriptor> ERROR_CONSTRUCTOR_GROUP = Collections.singleton(createErrorConstructor(0, Collections.<JetType>emptyList()));
|
private static final Set<ConstructorDescriptor> ERROR_CONSTRUCTOR_GROUP = Collections.singleton(createErrorConstructor(0, Collections.<JetType>emptyList()));
|
||||||
private static final ConstructorDescriptor ERROR_CONSTRUCTOR = new ConstructorDescriptorImpl(ERROR_CLASS, Collections.<AnnotationDescriptor>emptyList(), true);
|
private static final ConstructorDescriptor ERROR_CONSTRUCTOR = new ConstructorDescriptorImpl(ERROR_CLASS, Collections.<AnnotationDescriptor>emptyList(), true);
|
||||||
|
|
||||||
@@ -359,7 +372,11 @@ public class ErrorUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static JetType createErrorTypeWithCustomDebugName(JetScope memberScope, String debugName) {
|
private static JetType createErrorTypeWithCustomDebugName(JetScope memberScope, String debugName) {
|
||||||
return new ErrorTypeImpl(new TypeConstructorImpl(ERROR_CLASS, Collections.<AnnotationDescriptor>emptyList(), false, debugName, Collections.<TypeParameterDescriptorImpl>emptyList(), Collections.singleton(KotlinBuiltIns.getInstance().getAnyType())), memberScope);
|
TypeConstructorImpl constructor =
|
||||||
|
new ErrorTypeConstructor(ERROR_CLASS, Collections.<AnnotationDescriptor>emptyList(), false, debugName,
|
||||||
|
Collections.<TypeParameterDescriptorImpl>emptyList(),
|
||||||
|
Collections.singleton(KotlinBuiltIns.getInstance().getAnyType()));
|
||||||
|
return new ErrorTypeImpl(constructor, memberScope);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static JetType createWrongVarianceErrorType(TypeProjection value) {
|
public static JetType createWrongVarianceErrorType(TypeProjection value) {
|
||||||
@@ -371,7 +388,7 @@ public class ErrorUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isError(@NotNull TypeConstructor typeConstructor) {
|
public static boolean isError(@NotNull TypeConstructor typeConstructor) {
|
||||||
return typeConstructor == ERROR_CLASS.getTypeConstructor();
|
return typeConstructor == ERROR_CLASS.getTypeConstructor() || typeConstructor instanceof ErrorTypeConstructor;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isErrorType(@NotNull JetType type) {
|
public static boolean isErrorType(@NotNull JetType type) {
|
||||||
|
|||||||
@@ -182,6 +182,9 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private String renderClassName(@NotNull ClassDescriptor klass) {
|
private String renderClassName(@NotNull ClassDescriptor klass) {
|
||||||
|
if (ErrorUtils.isError(klass)) {
|
||||||
|
return klass.getTypeConstructor().toString();
|
||||||
|
}
|
||||||
if (shortNames) {
|
if (shortNames) {
|
||||||
List<Name> qualifiedNameElements = Lists.newArrayList();
|
List<Name> qualifiedNameElements = Lists.newArrayList();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user