From b5f5ba7e32db5637138af820cdd8af5d36b8dbe6 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Thu, 7 Jun 2012 15:52:39 +0400 Subject: [PATCH] KT-2184 Fix rendering of error types #KT-2184 Fixed --- .../src/org/jetbrains/jet/resolve/DescriptorRenderer.java | 4 ++++ compiler/testData/renderer/ErrorType.kt | 3 +++ .../org/jetbrains/jet/resolve/DescriptorRendererTest.java | 4 ++++ 3 files changed, 11 insertions(+) create mode 100644 compiler/testData/renderer/ErrorType.kt diff --git a/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java b/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java index dd3e2063d0c..2f344ae4ab9 100644 --- a/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java +++ b/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java @@ -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.FqNameUnsafe; 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.TypeProjection; import org.jetbrains.jet.lang.types.Variance; @@ -117,6 +118,9 @@ public class DescriptorRenderer implements Renderer { if (type == null) { return escape("[NULL]"); } + else if (ErrorUtils.isErrorType(type)) { + return escape(type.toString()); + } else if (JetStandardClasses.isUnit(type)) { return escape(JetStandardClasses.UNIT_ALIAS + (type.isNullable() ? "?" : "")); } diff --git a/compiler/testData/renderer/ErrorType.kt b/compiler/testData/renderer/ErrorType.kt new file mode 100644 index 00000000000..ccfb1999ec1 --- /dev/null +++ b/compiler/testData/renderer/ErrorType.kt @@ -0,0 +1,3 @@ +val a : E = 0 + +//internal final val a : [ERROR : E] defined in root package diff --git a/compiler/tests/org/jetbrains/jet/resolve/DescriptorRendererTest.java b/compiler/tests/org/jetbrains/jet/resolve/DescriptorRendererTest.java index 2a204d5e0ac..22ef6e1b863 100644 --- a/compiler/tests/org/jetbrains/jet/resolve/DescriptorRendererTest.java +++ b/compiler/tests/org/jetbrains/jet/resolve/DescriptorRendererTest.java @@ -69,6 +69,10 @@ public class DescriptorRendererTest extends JetLiteFixture { doTest(); } + public void testErrorType() throws IOException { + doTest(); + } + @Override protected String getTestDataPath() { return JetTestCaseBuilder.getTestDataPathBase() + "/renderer";