From cefd9d5ca21666800f1a885e15ad80496f212e19 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Mon, 27 Feb 2012 12:57:55 +0400 Subject: [PATCH] KT-627 Drop Predicate expression --- .../src/org/jetbrains/jet/JetNodeTypes.java | 2 +- .../lang/parsing/JetExpressionParsing.java | 14 +++++----- .../tests/QualifiedExpressions.jet | 2 +- compiler/testData/psi/PredicateExpression.jet | 3 --- compiler/testData/psi/PredicateExpression.txt | 26 ------------------- .../org/jetbrains/jet/codegen/StdlibTest.java | 26 +++++++++---------- .../jet/types/JetTypeCheckerTest.java | 6 ++--- .../testData/checker/QualifiedExpressions.jet | 2 +- 8 files changed, 26 insertions(+), 55 deletions(-) delete mode 100644 compiler/testData/psi/PredicateExpression.jet delete mode 100644 compiler/testData/psi/PredicateExpression.txt diff --git a/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java b/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java index 8da5c9790c4..241072f3482 100644 --- a/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java +++ b/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java @@ -138,7 +138,7 @@ public interface JetNodeTypes { JetNodeType DOT_QUALIFIED_EXPRESSION = new JetNodeType("DOT_QUALIFIED_EXPRESSION", JetDotQualifiedExpression.class); JetNodeType HASH_QUALIFIED_EXPRESSION = new JetNodeType("HASH_QUALIFIED_EXPRESSION", JetHashQualifiedExpression.class); JetNodeType SAFE_ACCESS_EXPRESSION = new JetNodeType("SAFE_ACCESS_EXPRESSION", JetSafeQualifiedExpression.class); - JetNodeType PREDICATE_EXPRESSION = new JetNodeType("PREDICATE_EXPRESSION", JetPredicateExpression.class); +// JetNodeType PREDICATE_EXPRESSION = new JetNodeType("PREDICATE_EXPRESSION", JetPredicateExpression.class); JetNodeType OBJECT_LITERAL = new JetNodeType("OBJECT_LITERAL", JetObjectLiteralExpression.class); JetNodeType ROOT_NAMESPACE = new JetNodeType("ROOT_NAMESPACE", JetRootNamespaceExpression.class); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java index 55b62543698..bf5c7daa96f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java @@ -385,13 +385,13 @@ public class JetExpressionParsing extends AbstractJetParsing { expression.done(SAFE_ACCESS_EXPRESSION); } - else if (at(QUEST)) { - advance(); // QUEST - - parseCallExpression(); - - expression.done(PREDICATE_EXPRESSION); - } +// else if (at(QUEST)) { +// advance(); // QUEST +// +// parseCallExpression(); +// +// expression.done(PREDICATE_EXPRESSION); +// } // else if (at(HASH)) { // advance(); // HASH // diff --git a/compiler/testData/diagnostics/tests/QualifiedExpressions.jet b/compiler/testData/diagnostics/tests/QualifiedExpressions.jet index 3ce867b2def..3b8b899e892 100644 --- a/compiler/testData/diagnostics/tests/QualifiedExpressions.jet +++ b/compiler/testData/diagnostics/tests/QualifiedExpressions.jet @@ -7,7 +7,7 @@ fun test(s: String?) { val d: Int = s?.length ?: "empty" val e: String = s?.length ?: "empty" val f: Int = s?.length ?: b ?: 1 - val g: Int? = e? startsWith("s")?.length + val g: Boolean? = e.startsWith("s")//?.length } fun String.startsWith(s: String): Boolean = true \ No newline at end of file diff --git a/compiler/testData/psi/PredicateExpression.jet b/compiler/testData/psi/PredicateExpression.jet deleted file mode 100644 index 385f1838582..00000000000 --- a/compiler/testData/psi/PredicateExpression.jet +++ /dev/null @@ -1,3 +0,0 @@ -fun foo() { - a?f.foo -} \ No newline at end of file diff --git a/compiler/testData/psi/PredicateExpression.txt b/compiler/testData/psi/PredicateExpression.txt deleted file mode 100644 index c1cb9259feb..00000000000 --- a/compiler/testData/psi/PredicateExpression.txt +++ /dev/null @@ -1,26 +0,0 @@ -JetFile: PredicateExpression.jet - NAMESPACE_HEADER - - FUN - PsiElement(fun)('fun') - PsiWhiteSpace(' ') - PsiElement(IDENTIFIER)('foo') - VALUE_PARAMETER_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - BLOCK - PsiElement(LBRACE)('{') - PsiWhiteSpace('\n ') - DOT_QUALIFIED_EXPRESSION - PREDICATE_EXPRESSION - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(QUEST)('?') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('f') - PsiElement(DOT)('.') - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('foo') - PsiWhiteSpace('\n') - PsiElement(RBRACE)('}') \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/codegen/StdlibTest.java b/compiler/tests/org/jetbrains/jet/codegen/StdlibTest.java index b1386f62dd5..841c9fb52e4 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/StdlibTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/StdlibTest.java @@ -88,19 +88,19 @@ public class StdlibTest extends CodegenTestCase { } //from NamespaceGenTest - public void testPredicateOperator() throws Exception { - loadText("fun foo(s: String) = s?startsWith(\"J\")"); - final Method main = generateFunction(); - try { - assertEquals("JetBrains", main.invoke(null, "JetBrains")); - assertNull(main.invoke(null, "IntelliJ")); - } catch (Throwable t) { -// System.out.println(generateToText()); - t.printStackTrace(); - throw t instanceof Exception ? (Exception)t : new RuntimeException(t); - } - } - +// public void testPredicateOperator() throws Exception { +// loadText("fun foo(s: String) = s?startsWith(\"J\")"); +// final Method main = generateFunction(); +// try { +// assertEquals("JetBrains", main.invoke(null, "JetBrains")); +// assertNull(main.invoke(null, "IntelliJ")); +// } catch (Throwable t) { +//// System.out.println(generateToText()); +// t.printStackTrace(); +// throw t instanceof Exception ? (Exception)t : new RuntimeException(t); +// } +// } +// public void testForInString() throws Exception { loadText("fun foo() : Int { var sum = 0\n" + " for(c in \"239\")\n" + diff --git a/compiler/tests/org/jetbrains/jet/types/JetTypeCheckerTest.java b/compiler/tests/org/jetbrains/jet/types/JetTypeCheckerTest.java index 94fbe77f39c..89c41a74ca9 100644 --- a/compiler/tests/org/jetbrains/jet/types/JetTypeCheckerTest.java +++ b/compiler/tests/org/jetbrains/jet/types/JetTypeCheckerTest.java @@ -460,9 +460,9 @@ public class JetTypeCheckerTest extends JetLiteFixture { assertType("true && false", "Boolean"); assertType("true || false", "Boolean"); assertType("null ?: false", "Boolean"); - assertType("WithPredicate()?isValid()", "WithPredicate?"); - assertType("WithPredicate()?isValid(1)", "WithPredicate?"); - assertType("WithPredicate()?p", "WithPredicate?"); +// assertType("WithPredicate()?isValid()", "WithPredicate?"); +// assertType("WithPredicate()?isValid(1)", "WithPredicate?"); +// assertType("WithPredicate()?p", "WithPredicate?"); } public void testSupertypes() throws Exception { diff --git a/idea/testData/checker/QualifiedExpressions.jet b/idea/testData/checker/QualifiedExpressions.jet index 0527d08943d..d35193fc0ac 100644 --- a/idea/testData/checker/QualifiedExpressions.jet +++ b/idea/testData/checker/QualifiedExpressions.jet @@ -7,7 +7,7 @@ fun test(s: String?) { val d: Int = s?.length ?: "empty" val e: String = s?.length ?: "empty" val f: Int = s?.length ?: b ?: 1 - val g: Int? = e? startsWith("s")?.length + val g: Boolean? = e.startsWith("s")//?.length } fun String.startsWith(s: String): Boolean = true \ No newline at end of file