From a3880923e126a44399c06edd85eac7bc5a144bae Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Wed, 21 Dec 2011 11:30:06 +0200 Subject: [PATCH] GreatSyntacticShift: Disable complex token merging in type ref parsing, to fulfill kt307.jet test --- .../src/org/jetbrains/jet/lang/parsing/JetParsing.java | 7 +++++-- compiler/testData/diagnostics/tests/ShiftFunctionTypes.jet | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java index fc890c3d2b8..2566b9b5291 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java @@ -1286,7 +1286,10 @@ public class JetParsing extends AbstractJetParsing { } private PsiBuilder.Marker parseTypeRefContents() { - myBuilder.disableJoiningComplexTokens(); + // Disabling token merge is required for cases like + // Int?.(Foo) -> Bar + // we don't support this case now +// myBuilder.disableJoiningComplexTokens(); PsiBuilder.Marker typeRefMarker = mark(); parseAnnotations(false); @@ -1365,7 +1368,7 @@ public class JetParsing extends AbstractJetParsing { precede.done(FUNCTION_TYPE); } - myBuilder.restoreJoiningComplexTokensState(); +// myBuilder.restoreJoiningComplexTokensState(); return typeRefMarker; } diff --git a/compiler/testData/diagnostics/tests/ShiftFunctionTypes.jet b/compiler/testData/diagnostics/tests/ShiftFunctionTypes.jet index b743b73df48..1259ccc7fd4 100644 --- a/compiler/testData/diagnostics/tests/ShiftFunctionTypes.jet +++ b/compiler/testData/diagnostics/tests/ShiftFunctionTypes.jet @@ -25,7 +25,7 @@ abstract class XXX() { abstract val a14 : n.B.(Int) -> Int abstract val a15 : Int? .(Int) -> Int abstract val a152 : (Int?).(Int) -> Int - abstract val a151 : Int?.(Int) -> Int +// abstract val a151 : Int?.(Int) -> Int abstract val a16 : (Int) -> (Int) -> Int abstract val a17 : ((Int) -> Int).(Int) -> Int abstract val a18 : (Int) -> ((Int) -> Int) @@ -43,7 +43,7 @@ abstract class YYY() { abstract val a14 : n.B.(a : Int) -> Int abstract val a15 : Int? .(a : Int) -> Int abstract val a152 : (Int?).(a : Int) -> Int -abstract val a151 : Int?.(a : Int) -> Int +//abstract val a151 : Int?.(a : Int) -> Int abstract val a16 : (a : Int) -> (a : Int) -> Int abstract val a17 : ((a : Int) -> Int).(a : Int) -> Int abstract val a18 : (a : Int) -> ((a : Int) -> Int)