Special node for match expression (as its RHS is not an expression)

This commit is contained in:
Maxim Shafirov
2011-01-11 00:32:59 +03:00
parent 5779dc6885
commit 04fbaa26fe
11 changed files with 1097 additions and 1005 deletions
+282 -275
View File
@@ -34,27 +34,28 @@ JetFile: Match.jet
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
BODY
BINARY_EXPRESSION
MATCH_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace(' ')
MATCH_ENTRY
PsiElement(case)('case')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('a')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
PsiComment(EOL_COMMENT)('// foo')
@@ -88,302 +89,308 @@ JetFile: Match.jet
BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
BINARY_EXPRESSION
MATCH_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
BINARY_EXPRESSION
MATCH_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
BINARY_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('Tree')
TUPLE_PATTERN
PsiElement(LPAR)('(')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('b')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('Tree')
TUPLE_PATTERN
PsiElement(LPAR)('(')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('b')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(if)('if')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
CONDITION
BINARY_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(GT)('>')
PsiWhiteSpace(' ')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('5')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
NULL
PsiElement(null)('null')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('A')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
LONG_CONSTANT
PsiElement(LONG_LITERAL)('1l')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
FLOAT_CONSTANT
PsiElement(FLOAT_CONSTANT)('1.0')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
CHARACTER_CONSTANT
PsiElement(CHARACTER_LITERAL)(''c'')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
STRING_CONSTANT
PsiElement(STRING_LITERAL)('"sadfsa"')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
STRING_CONSTANT
PsiElement(RAW_STRING_LITERAL)('"""ddd"""')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
PsiElement(QUEST)('?')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
PsiElement(QUEST)('?')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('Foo')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
PsiElement(QUEST)('?')
PsiElement(IDENTIFIER)('a')
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
MATCH_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('Foo')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
TUPLE_PATTERN
PsiElement(LPAR)('(')
PATTERN
PsiElement(QUEST)('?')
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiElement(IDENTIFIER)('Tree')
TUPLE_PATTERN
PsiElement(LPAR)('(')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('Foo')
PsiElement(COMMA)(',')
PsiElement(IDENTIFIER)('b')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('Tree')
TUPLE_PATTERN
PsiElement(LPAR)('(')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('b')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(if)('if')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
CONDITION
BINARY_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(GT)('>')
PsiWhiteSpace(' ')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('5')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
NULL
PsiElement(null)('null')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('A')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
LONG_CONSTANT
PsiElement(LONG_LITERAL)('1l')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
FLOAT_CONSTANT
PsiElement(FLOAT_CONSTANT)('1.0')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
CHARACTER_CONSTANT
PsiElement(CHARACTER_LITERAL)(''c'')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
STRING_CONSTANT
PsiElement(STRING_LITERAL)('"sadfsa"')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
STRING_CONSTANT
PsiElement(RAW_STRING_LITERAL)('"""ddd"""')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
PsiElement(QUEST)('?')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
PsiElement(QUEST)('?')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('b')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiElement(IDENTIFIER)('Foo')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
PsiElement(QUEST)('?')
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('Foo')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
TUPLE_PATTERN
PsiElement(LPAR)('(')
PATTERN
PsiElement(QUEST)('?')
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('Foo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('b')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
BINARY_EXPRESSION
BINARY_EXPRESSION
BINARY_EXPRESSION
MATCH_EXPRESSION
MATCH_EXPRESSION
MATCH_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiElement(RBRACE)('}')
+124 -117
View File
@@ -13,146 +13,81 @@ JetFile: Match_ERR.jet
BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
BINARY_EXPRESSION
MATCH_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
BINARY_EXPRESSION
MATCH_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
PsiErrorElement:Pattern expected
<empty list>
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
BINARY_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
PsiErrorElement:Pattern expected
<empty list>
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting an expression
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
BINARY_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
PsiErrorElement:Expecting 'case' to start pattern matching
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
BINARY_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
PsiErrorElement:Expecting 'case' to start pattern matching
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
BINARY_EXPRESSION
BINARY_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PsiWhiteSpace(' ')
PATTERN
PsiErrorElement:Pattern expected
PsiElement(MINUS)('-')
PsiWhiteSpace(' ')
<empty list>
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
MATCH_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
PsiErrorElement:Pattern expected
<empty list>
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting an expression
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
MATCH_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
PsiErrorElement:Expecting 'case' to start pattern matching
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
TUPLE_PATTERN
PsiElement(LPAR)('(')
PsiErrorElement:Expecting a pattern
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting a pattern
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PATTERN
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting a pattern
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PATTERN
PsiErrorElement:Pattern expected
PsiElement(RPAR)(')')
PsiErrorElement:Expecting ')'
<empty list>
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
@@ -160,11 +95,83 @@ JetFile: Match_ERR.jet
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
MATCH_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
PsiErrorElement:Expecting 'case' to start pattern matching
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
MATCH_EXPRESSION
MATCH_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
PsiErrorElement:Pattern expected
PsiElement(MINUS)('-')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
TUPLE_PATTERN
PsiElement(LPAR)('(')
PsiErrorElement:Expecting a pattern
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting a pattern
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PATTERN
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting a pattern
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PATTERN
PsiErrorElement:Pattern expected
PsiElement(RPAR)(')')
PsiErrorElement:Expecting ')'
<empty list>
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiElement(RBRACE)('}')
+22 -21
View File
@@ -212,31 +212,32 @@ JetFile: NewlinesInParentheses.jet
PsiElement(IDENTIFIER)('d')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n\n ')
BINARY_EXPRESSION
MATCH_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('A')
PsiWhiteSpace('\n ')
TUPLE_PATTERN
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('A')
PsiWhiteSpace('\n ')
TUPLE_PATTERN
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiElement(RBRACE)('}')
+16 -12
View File
@@ -605,8 +605,8 @@ JetFile: Precedence.jet
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
BINARY_EXPRESSION
BINARY_EXPRESSION
MATCH_EXPRESSION
MATCH_EXPRESSION
BINARY_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('b')
@@ -618,13 +618,15 @@ JetFile: Precedence.jet
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
BINARY_EXPRESSION
REFERENCE_EXPRESSION
@@ -632,7 +634,7 @@ JetFile: Precedence.jet
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
BINARY_EXPRESSION
MATCH_EXPRESSION
BINARY_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('b')
@@ -644,8 +646,9 @@ JetFile: Precedence.jet
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
BINARY_EXPRESSION
REFERENCE_EXPRESSION
@@ -660,14 +663,15 @@ JetFile: Precedence.jet
PsiWhiteSpace(' ')
PsiElement(ARROW)('->')
PsiWhiteSpace(' ')
BINARY_EXPRESSION
MATCH_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('c')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
PsiWhiteSpace(' ')
PsiElement(ARROW)('->')
PsiWhiteSpace(' ')
+34 -33
View File
@@ -72,44 +72,45 @@ JetFile: RootNamespace.jet
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
BINARY_EXPRESSION
MATCH_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(match)('match')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
PsiElement(namespace)('namespace')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('X')
TUPLE_PATTERN
PsiElement(LPAR)('(')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
BODY
<empty list>
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
MATCH_BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
MATCH_ENTRY
PsiElement(case)('case')
PsiWhiteSpace(' ')
PATTERN
PsiElement(namespace)('namespace')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
USER_TYPE
PsiElement(IDENTIFIER)('X')
TUPLE_PATTERN
PsiElement(LPAR)('(')
PATTERN
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(DOUBLE_ARROW)('=>')
PsiWhiteSpace(' ')
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
BODY
<empty list>
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
File diff suppressed because it is too large Load Diff