diff --git a/examples/src/Builder.jetl b/examples/src/Builder.jetl index ef3036b8e68..8aaf8c6dc85 100644 --- a/examples/src/Builder.jetl +++ b/examples/src/Builder.jetl @@ -1,4 +1,4 @@ -object AntBuilder() { +val foo = object AntBuilder() { lazy val groovy = library { classpath("$libs/groovy-...") diff --git a/idea/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java b/idea/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java index 6eb305071cc..25f4ff430f6 100644 --- a/idea/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java +++ b/idea/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java @@ -416,7 +416,7 @@ public class JetExpressionParsing extends AbstractJetParsing { } expect(DOUBLE_ARROW, "Expecting '=>'", TokenSet.create(RBRACE)); - myBuilder.enableEols(); + myBuilder.restoreEolsState(); parseExpression(); diff --git a/idea/testData/psi/Match.jet b/idea/testData/psi/Match.jet index e56c458d7a0..8a3b14d3f0d 100644 --- a/idea/testData/psi/Match.jet +++ b/idea/testData/psi/Match.jet @@ -1,3 +1,13 @@ +fun foo() { + return false + + fun a() = {a match { case a => b }} + + // foo + fun b() {} + +} + fun foo() { e match { diff --git a/idea/testData/psi/Match.txt b/idea/testData/psi/Match.txt index 12f3fa923c0..86b4fabe131 100644 --- a/idea/testData/psi/Match.txt +++ b/idea/testData/psi/Match.txt @@ -1,5 +1,78 @@ JetFile: Match.jet NAMESPACE + FUN + PsiElement(fun)('fun') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('foo') + TYPE_PARAMETER_LIST + + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + BLOCK + PsiElement(LBRACE)('{') + PsiWhiteSpace('\n ') + RETURN + PsiElement(return)('return') + PsiWhiteSpace(' ') + BOOLEAN_CONSTANT + PsiElement(false)('false') + PsiWhiteSpace('\n\n ') + FUN + PsiElement(fun)('fun') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('a') + TYPE_PARAMETER_LIST + + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + PsiElement(EQ)('=') + PsiWhiteSpace(' ') + FUNCTION_LITERAL + PsiElement(LBRACE)('{') + BODY + BINARY_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + PsiElement(match)('match') + PsiWhiteSpace(' ') + PsiElement(LBRACE)('{') + PsiWhiteSpace(' ') + MATCH_ENTRY + PsiElement(case)('case') + PsiWhiteSpace(' ') + PATTERN + USER_TYPE + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + PsiElement(DOUBLE_ARROW)('=>') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('b') + PsiWhiteSpace(' ') + PsiElement(RBRACE)('}') + PsiElement(RBRACE)('}') + PsiWhiteSpace('\n\n ') + PsiComment(EOL_COMMENT)('// foo') + PsiWhiteSpace('\n ') + FUN + PsiElement(fun)('fun') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('b') + TYPE_PARAMETER_LIST + + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + BLOCK + PsiElement(LBRACE)('{') + PsiElement(RBRACE)('}') + PsiWhiteSpace('\n\n') + PsiElement(RBRACE)('}') + PsiWhiteSpace('\n\n') FUN PsiElement(fun)('fun') PsiWhiteSpace(' ')