From 55968aabadd3d4c0786e3b7ab225c99098118889 Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Sat, 29 Dec 2012 17:31:57 +0400 Subject: [PATCH] fixed an exception from 'getConstructorReferenceExpression' (from exception analyzer) --- .../jet/lang/psi/JetConstructorCalleeExpression.java | 3 +-- .../diagnosticWithSyntaxError/typeReferenceError.kt | 4 ++++ .../jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java | 5 +++++ 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 compiler/testData/diagnostics/tests/incompleteCode/diagnosticWithSyntaxError/typeReferenceError.kt diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetConstructorCalleeExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetConstructorCalleeExpression.java index 44f274d2d90..e10b5460cba 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetConstructorCalleeExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetConstructorCalleeExpression.java @@ -37,10 +37,9 @@ public class JetConstructorCalleeExpression extends JetExpressionImpl { return null; } JetTypeElement typeElement = typeReference.getTypeElement(); - if (typeElement == null) { + if (!(typeElement instanceof JetUserType)) { return null; } - assert typeElement instanceof JetUserType : typeElement; return ((JetUserType) typeElement).getReferenceExpression(); } diff --git a/compiler/testData/diagnostics/tests/incompleteCode/diagnosticWithSyntaxError/typeReferenceError.kt b/compiler/testData/diagnostics/tests/incompleteCode/diagnosticWithSyntaxError/typeReferenceError.kt new file mode 100644 index 00000000000..d95c892e593 --- /dev/null +++ b/compiler/testData/diagnostics/tests/incompleteCode/diagnosticWithSyntaxError/typeReferenceError.kt @@ -0,0 +1,4 @@ +package typeReferenceError + +class Pair<:(val c: fun main() + diff --git a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java index 8fa2ff57d6e..c00b50dc8b5 100644 --- a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java @@ -1949,6 +1949,11 @@ public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEage doTest("compiler/testData/diagnostics/tests/incompleteCode/diagnosticWithSyntaxError/namedFun.kt"); } + @TestMetadata("typeReferenceError.kt") + public void testTypeReferenceError() throws Exception { + doTest("compiler/testData/diagnostics/tests/incompleteCode/diagnosticWithSyntaxError/typeReferenceError.kt"); + } + } public static Test innerSuite() {