KT-2184 Fix rendering of error types
#KT-2184 Fixed
This commit is contained in:
@@ -24,6 +24,7 @@ import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
|||||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||||
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
|
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
|
||||||
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor;
|
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor;
|
||||||
|
import org.jetbrains.jet.lang.types.ErrorUtils;
|
||||||
import org.jetbrains.jet.lang.types.JetType;
|
import org.jetbrains.jet.lang.types.JetType;
|
||||||
import org.jetbrains.jet.lang.types.TypeProjection;
|
import org.jetbrains.jet.lang.types.TypeProjection;
|
||||||
import org.jetbrains.jet.lang.types.Variance;
|
import org.jetbrains.jet.lang.types.Variance;
|
||||||
@@ -117,6 +118,9 @@ public class DescriptorRenderer implements Renderer<DeclarationDescriptor> {
|
|||||||
if (type == null) {
|
if (type == null) {
|
||||||
return escape("[NULL]");
|
return escape("[NULL]");
|
||||||
}
|
}
|
||||||
|
else if (ErrorUtils.isErrorType(type)) {
|
||||||
|
return escape(type.toString());
|
||||||
|
}
|
||||||
else if (JetStandardClasses.isUnit(type)) {
|
else if (JetStandardClasses.isUnit(type)) {
|
||||||
return escape(JetStandardClasses.UNIT_ALIAS + (type.isNullable() ? "?" : ""));
|
return escape(JetStandardClasses.UNIT_ALIAS + (type.isNullable() ? "?" : ""));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
val a : E = 0
|
||||||
|
|
||||||
|
//internal final val a : [ERROR : E] defined in root package
|
||||||
@@ -69,6 +69,10 @@ public class DescriptorRendererTest extends JetLiteFixture {
|
|||||||
doTest();
|
doTest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testErrorType() throws IOException {
|
||||||
|
doTest();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getTestDataPath() {
|
protected String getTestDataPath() {
|
||||||
return JetTestCaseBuilder.getTestDataPathBase() + "/renderer";
|
return JetTestCaseBuilder.getTestDataPathBase() + "/renderer";
|
||||||
|
|||||||
Reference in New Issue
Block a user