Removed tuples from PSI tests.

This commit is contained in:
Evgeny Gerashchenko
2013-03-18 22:01:45 +04:00
parent ffb67d3a1f
commit 7bfa4a9c09
22 changed files with 451 additions and 1040 deletions
+10 -10
View File
@@ -1,24 +1,24 @@
type f = ([a] a) -> b type f = ([a] a) -> b
type f = (a) -> b type f = (a) -> b
type f = () -> [x] b type f = () -> [x] b
type f = () -> #() type f = () -> Unit
type f = (a : [a] a) -> b type f = (a : [a] a) -> b
type f = (a : a) -> b type f = (a : a) -> b
type f = () -> b type f = () -> b
type f = () -> #() type f = () -> Unit
type f = (a : [a] a, foo, x : bar) -> b type f = (a : [a] a, foo, x : bar) -> b
type f = (foo, a : a) -> b type f = (foo, a : a) -> b
type f = (foo, a : (a) -> b) -> b type f = (foo, a : (a) -> b) -> b
type f = (foo, a : (a) -> b) -> () -> #() type f = (foo, a : (a) -> b) -> () -> Unit
//type f = (ref foo, ref a : (ref a) -> b) -> () -> #() //type f = (ref foo, ref a : (ref a) -> b) -> () -> Unit
type f = T.() -> #() type f = T.() -> Unit
type f = T.T.() -> #() type f = T.T.() -> Unit
type f = T<A, B>.T<x>.() -> #() type f = T<A, B>.T<x>.() -> Unit
type f = [a] T.() -> #() type f = [a] T.() -> Unit
type f = [a] T.T.() -> #() type f = [a] T.T.() -> Unit
type f = [a] T<A, B>.T<x>.() -> #() type f = [a] T<A, B>.T<x>.() -> Unit
+28 -37
View File
@@ -116,10 +116,9 @@ JetFile: FunctionTypes.jet
PsiElement(ARROW)('->') PsiElement(ARROW)('->')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
TUPLE_TYPE USER_TYPE
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Unit')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
TYPEDEF TYPEDEF
PsiElement(type)('type') PsiElement(type)('type')
@@ -233,10 +232,9 @@ JetFile: FunctionTypes.jet
PsiElement(ARROW)('->') PsiElement(ARROW)('->')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
TUPLE_TYPE USER_TYPE
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Unit')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
TYPEDEF TYPEDEF
PsiElement(type)('type') PsiElement(type)('type')
@@ -441,12 +439,11 @@ JetFile: FunctionTypes.jet
PsiElement(ARROW)('->') PsiElement(ARROW)('->')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
TUPLE_TYPE USER_TYPE
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Unit')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
PsiComment(EOL_COMMENT)('//type f = (ref foo, ref a : (ref a) -> b) -> () -> #()') PsiComment(EOL_COMMENT)('//type f = (ref foo, ref a : (ref a) -> b) -> () -> Unit')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
TYPEDEF TYPEDEF
PsiElement(type)('type') PsiElement(type)('type')
@@ -472,10 +469,9 @@ JetFile: FunctionTypes.jet
PsiElement(ARROW)('->') PsiElement(ARROW)('->')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
TUPLE_TYPE USER_TYPE
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Unit')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
TYPEDEF TYPEDEF
PsiElement(type)('type') PsiElement(type)('type')
@@ -505,10 +501,9 @@ JetFile: FunctionTypes.jet
PsiElement(ARROW)('->') PsiElement(ARROW)('->')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
TUPLE_TYPE USER_TYPE
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Unit')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
TYPEDEF TYPEDEF
PsiElement(type)('type') PsiElement(type)('type')
@@ -561,10 +556,9 @@ JetFile: FunctionTypes.jet
PsiElement(ARROW)('->') PsiElement(ARROW)('->')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
TUPLE_TYPE USER_TYPE
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Unit')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
TYPEDEF TYPEDEF
PsiElement(type)('type') PsiElement(type)('type')
@@ -600,10 +594,9 @@ JetFile: FunctionTypes.jet
PsiElement(ARROW)('->') PsiElement(ARROW)('->')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
TUPLE_TYPE USER_TYPE
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Unit')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
TYPEDEF TYPEDEF
PsiElement(type)('type') PsiElement(type)('type')
@@ -643,10 +636,9 @@ JetFile: FunctionTypes.jet
PsiElement(ARROW)('->') PsiElement(ARROW)('->')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
TUPLE_TYPE USER_TYPE
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Unit')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
TYPEDEF TYPEDEF
PsiElement(type)('type') PsiElement(type)('type')
@@ -709,7 +701,6 @@ JetFile: FunctionTypes.jet
PsiElement(ARROW)('->') PsiElement(ARROW)('->')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
TUPLE_TYPE USER_TYPE
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Unit')
PsiElement(RPAR)(')')
+1 -1
View File
@@ -6,6 +6,6 @@ fun foo() {
out val foo = 5 out val foo = 5
[a] var foo = 4 [a] var foo = 4
type f = T.() -> #() type f = T.() -> Unit
} }
+3 -4
View File
@@ -124,9 +124,8 @@ JetFile: LocalDeclarations.jet
PsiElement(ARROW)('->') PsiElement(ARROW)('->')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
TUPLE_TYPE USER_TYPE
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Unit')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
+2 -3
View File
@@ -1,6 +1,5 @@
fun a( fun a(
a : foo = #(), a : foo = Unit.VALUE,
a : foo = 10, a : foo = 10,
a : foo = 0x10, a : foo = 0x10,
a : foo = '1', a : foo = '1',
@@ -17,7 +16,7 @@ fun a(
a : foo = this, a : foo = this,
a : foo = super<sdf>, a : foo = super<sdf>,
a : foo = (10), a : foo = (10),
a : foo = #(10, "A", 0xf), a : foo = Triple(10, "A", 0xf),
a : foo = Foo(bar), a : foo = Foo(bar),
a : foo = Foo<A>(bar), a : foo = Foo<A>(bar),
a : foo = Foo(), a : foo = Foo(),
+28 -21
View File
@@ -20,10 +20,12 @@ JetFile: SimpleExpressions.jet
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(EQ)('=') PsiElement(EQ)('=')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TUPLE DOT_QUALIFIED_EXPRESSION
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Unit')
PsiElement(RPAR)(')') PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('VALUE')
PsiElement(COMMA)(',') PsiElement(COMMA)(',')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
VALUE_PARAMETER VALUE_PARAMETER
@@ -327,23 +329,28 @@ JetFile: SimpleExpressions.jet
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(EQ)('=') PsiElement(EQ)('=')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TUPLE CALL_EXPRESSION
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Triple')
INTEGER_CONSTANT VALUE_ARGUMENT_LIST
PsiElement(INTEGER_LITERAL)('10') PsiElement(LPAR)('(')
PsiElement(COMMA)(',') VALUE_ARGUMENT
PsiWhiteSpace(' ') INTEGER_CONSTANT
STRING_TEMPLATE PsiElement(INTEGER_LITERAL)('10')
PsiElement(OPEN_QUOTE)('"') PsiElement(COMMA)(',')
LITERAL_STRING_TEMPLATE_ENTRY PsiWhiteSpace(' ')
PsiElement(REGULAR_STRING_PART)('A') VALUE_ARGUMENT
PsiElement(CLOSING_QUOTE)('"') STRING_TEMPLATE
PsiElement(COMMA)(',') PsiElement(OPEN_QUOTE)('"')
PsiWhiteSpace(' ') LITERAL_STRING_TEMPLATE_ENTRY
INTEGER_CONSTANT PsiElement(REGULAR_STRING_PART)('A')
PsiElement(INTEGER_LITERAL)('0xf') PsiElement(CLOSING_QUOTE)('"')
PsiElement(RPAR)(')') PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('0xf')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',') PsiElement(COMMA)(',')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
VALUE_PARAMETER VALUE_PARAMETER
-10
View File
@@ -1,10 +0,0 @@
class F(
a : #(),
x : #(X),
b : #(A, B),
c : #(x : Int, y : Int),
a : [x] #(),
x : [x]#([x] X),
b : [x] #([x] A, [x]B),
c : [x] #(x : [x] Int, y : [x] Int)
)
-264
View File
@@ -1,264 +0,0 @@
JetFile: TupleTypes.jet
NAMESPACE_HEADER
<empty list>
CLASS
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('F')
TYPE_PARAMETER_LIST
<empty list>
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('X')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('A')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('B')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('c')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
LABELED_TUPLE_TYPE_ENTRY
PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
LABELED_TUPLE_TYPE_ENTRY
PsiElement(IDENTIFIER)('y')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ')
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ')
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('X')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ')
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ')
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('A')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('B')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('c')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ')
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
LABELED_TUPLE_TYPE_ENTRY
PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ')
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
LABELED_TUPLE_TYPE_ENTRY
PsiElement(IDENTIFIER)('y')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ')
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
PsiElement(RPAR)(')')
-10
View File
@@ -1,10 +0,0 @@
class F(
a : #(),
x : #(X),
b : #(A, ),
c : #(x : , : Int),
a : [x] #(),
x : [x]#([x X),
b : [x] #([x] A, [x]B),
c : [x] #(x : [x] Int, y : [x] Int)
)
-263
View File
@@ -1,263 +0,0 @@
JetFile: TupleTypes_ERR.jet
NAMESPACE_HEADER
<empty list>
CLASS
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('F')
TYPE_PARAMETER_LIST
<empty list>
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('X')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('A')
PsiElement(COMMA)(',')
PsiErrorElement:Type expected
<empty list>
PsiWhiteSpace(' ')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('c')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
LABELED_TUPLE_TYPE_ENTRY
PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
PsiErrorElement:Type expected
<empty list>
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting a name for tuple entry
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ')
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('X')
PsiErrorElement:Expecting ']' to close an attribute annotation
<empty list>
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ')
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ')
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('A')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('B')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('c')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ')
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
LABELED_TUPLE_TYPE_ENTRY
PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ')
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
LABELED_TUPLE_TYPE_ENTRY
PsiElement(IDENTIFIER)('y')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ')
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
PsiElement(RPAR)(')')
@@ -1,2 +0,0 @@
val foo = #(a = 3)
val foo = #(a = 3, a)
@@ -1,44 +0,0 @@
JetFile: TuplesWithLabeledEntries.jet
NAMESPACE_HEADER
<empty list>
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
TUPLE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
LABELED_TUPLE_ENTRY
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('3')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n')
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
TUPLE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
LABELED_TUPLE_ENTRY
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('3')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a')
PsiElement(RPAR)(')')
@@ -1,7 +1,7 @@
fun foo() { fun foo() {
foo<Int?>() foo<Int?>()
fooo<Double?addddd>() fooo<Double?addddd>()
dd<#(Int, Int, Int)>(if (true) #(1, 1, 1) else #(2, 2, 2)) dd<Triple<Int, Int, Int>>(if (true) Triple(1, 1, 1) else Triple(2, 2, 2))
foo(bar<a, b, c>(d)) foo(bar<a, b, c>(d))
foo(bar<a, b+1, c>(d)) foo(bar<a, b+1, c>(d))
foo(bar<a, f(), c>(d)) foo(bar<a, f(), c>(d))
@@ -50,26 +50,31 @@ JetFile: TypeExpressionAmbiguities_ERR.jet
PsiElement(LT)('<') PsiElement(LT)('<')
TYPE_PROJECTION TYPE_PROJECTION
TYPE_REFERENCE TYPE_REFERENCE
TUPLE_TYPE USER_TYPE
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Triple')
TYPE_REFERENCE TYPE_ARGUMENT_LIST
USER_TYPE PsiElement(LT)('<')
REFERENCE_EXPRESSION TYPE_PROJECTION
PsiElement(IDENTIFIER)('Int') TYPE_REFERENCE
PsiElement(COMMA)(',') USER_TYPE
PsiWhiteSpace(' ') REFERENCE_EXPRESSION
TYPE_REFERENCE PsiElement(IDENTIFIER)('Int')
USER_TYPE PsiElement(COMMA)(',')
REFERENCE_EXPRESSION PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Int') TYPE_PROJECTION
PsiElement(COMMA)(',') TYPE_REFERENCE
PsiWhiteSpace(' ') USER_TYPE
TYPE_REFERENCE REFERENCE_EXPRESSION
USER_TYPE PsiElement(IDENTIFIER)('Int')
REFERENCE_EXPRESSION PsiElement(COMMA)(',')
PsiElement(IDENTIFIER)('Int') PsiWhiteSpace(' ')
PsiElement(RPAR)(')') TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiElement(GT)('>')
PsiElement(GT)('>') PsiElement(GT)('>')
VALUE_ARGUMENT_LIST VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
@@ -84,38 +89,48 @@ JetFile: TypeExpressionAmbiguities_ERR.jet
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
THEN THEN
TUPLE CALL_EXPRESSION
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Triple')
INTEGER_CONSTANT VALUE_ARGUMENT_LIST
PsiElement(INTEGER_LITERAL)('1') PsiElement(LPAR)('(')
PsiElement(COMMA)(',') VALUE_ARGUMENT
PsiWhiteSpace(' ') INTEGER_CONSTANT
INTEGER_CONSTANT PsiElement(INTEGER_LITERAL)('1')
PsiElement(INTEGER_LITERAL)('1') PsiElement(COMMA)(',')
PsiElement(COMMA)(',') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') VALUE_ARGUMENT
INTEGER_CONSTANT INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiElement(RPAR)(')') PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(else)('else') PsiElement(else)('else')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ELSE ELSE
TUPLE CALL_EXPRESSION
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Triple')
INTEGER_CONSTANT VALUE_ARGUMENT_LIST
PsiElement(INTEGER_LITERAL)('2') PsiElement(LPAR)('(')
PsiElement(COMMA)(',') VALUE_ARGUMENT
PsiWhiteSpace(' ') INTEGER_CONSTANT
INTEGER_CONSTANT PsiElement(INTEGER_LITERAL)('2')
PsiElement(INTEGER_LITERAL)('2') PsiElement(COMMA)(',')
PsiElement(COMMA)(',') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') VALUE_ARGUMENT
INTEGER_CONSTANT INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('2') PsiElement(INTEGER_LITERAL)('2')
PsiElement(RPAR)(')') PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('2')
PsiElement(RPAR)(')')
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CALL_EXPRESSION CALL_EXPRESSION
+1 -1
View File
@@ -43,7 +43,7 @@ fun foo() {
!in 2 -> sd !in 2 -> sd
!is t -> d !is t -> d
(foo) -> Bar -> fgpp (foo) -> Bar -> fgpp
is #(Int, Int) -> 2 is Pair<Int, Int> -> 2
else -> foo else -> foo
} }
} }
+18 -14
View File
@@ -457,20 +457,24 @@ JetFile: When.jet
PsiElement(is)('is') PsiElement(is)('is')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
TUPLE_TYPE USER_TYPE
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Pair')
TYPE_REFERENCE TYPE_ARGUMENT_LIST
USER_TYPE PsiElement(LT)('<')
REFERENCE_EXPRESSION TYPE_PROJECTION
PsiElement(IDENTIFIER)('Int') TYPE_REFERENCE
PsiElement(COMMA)(',') USER_TYPE
PsiWhiteSpace(' ') REFERENCE_EXPRESSION
TYPE_REFERENCE PsiElement(IDENTIFIER)('Int')
USER_TYPE PsiElement(COMMA)(',')
REFERENCE_EXPRESSION PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Int') TYPE_PROJECTION
PsiElement(RPAR)(')') TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiElement(GT)('>')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(ARROW)('->') PsiElement(ARROW)('->')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
-1
View File
@@ -21,6 +21,5 @@ fun foo() {
} }
when (e) { when (e) {
- -> foo - -> foo
#(, , 1, , ) -> foo
} }
} }
-27
View File
@@ -205,33 +205,6 @@ JetFile: When_ERR.jet
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ')
WHEN_ENTRY
WHEN_CONDITION_WITH_EXPRESSION
TUPLE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
PsiErrorElement:Expecting a tuple entry (element)
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting a tuple entry (element)
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting a tuple entry (element)
PsiElement(COMMA)(',')
PsiErrorElement:Expecting an expression
<empty list>
PsiWhiteSpace(' ')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(ARROW)('->')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
@@ -2,7 +2,7 @@ type f1 = (T) -> X
// type f1 = {(T) => X} // type f1 = {(T) => X}
type f2 = (T, E) -> X type f2 = (T, E) -> X
// type f2 = {(T, E) => X} // type f2 = {(T, E) => X}
type f_tuple = (#(T, E)) -> X type f_tuple = (Pair<T, E>) -> X
//type f_tuple = {((T, E)) => X} //type f_tuple = {((T, E)) => X}
type hof = (X) -> (T) -> Y type hof = (X) -> (T) -> Y
//type hof = { (X) => {(T) => Y} } //type hof = { (X) => {(T) => Y} }
@@ -16,7 +16,7 @@ type Equality<in T> = (a : T, b : T) -> Boolean
//type Equality<in T> = {(a : T, b : T) => Boolean} //type Equality<in T> = {(a : T, b : T) => Boolean}
type HashFunction<in T> = (obj : T) -> Int type HashFunction<in T> = (obj : T) -> Int
//type HashFunction<in T> = {(obj : T) => Int} //type HashFunction<in T> = {(obj : T) => Int}
type Runnable = () -> #() type Runnable = () -> Unit
//type Runnable = {() => ()} //type Runnable = {() => ()}
type Function1<in T, out R> = (input : T) -> R type Function1<in T, out R> = (input : T) -> R
//type Function1<in T, out R> = {(input : T) => R} //type Function1<in T, out R> = {(input : T) => R}
@@ -81,20 +81,24 @@ JetFile: FunctionsAndTypes.jet
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_PARAMETER VALUE_PARAMETER
TYPE_REFERENCE TYPE_REFERENCE
TUPLE_TYPE USER_TYPE
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Pair')
TYPE_REFERENCE TYPE_ARGUMENT_LIST
USER_TYPE PsiElement(LT)('<')
REFERENCE_EXPRESSION TYPE_PROJECTION
PsiElement(IDENTIFIER)('T') TYPE_REFERENCE
PsiElement(COMMA)(',') USER_TYPE
PsiWhiteSpace(' ') REFERENCE_EXPRESSION
TYPE_REFERENCE PsiElement(IDENTIFIER)('T')
USER_TYPE PsiElement(COMMA)(',')
REFERENCE_EXPRESSION PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('E') TYPE_PROJECTION
PsiElement(RPAR)(')') TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('E')
PsiElement(GT)('>')
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(ARROW)('->') PsiElement(ARROW)('->')
@@ -361,10 +365,9 @@ JetFile: FunctionsAndTypes.jet
PsiElement(ARROW)('->') PsiElement(ARROW)('->')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
TUPLE_TYPE USER_TYPE
PsiElement(HASH)('#') REFERENCE_EXPRESSION
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('Unit')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiComment(EOL_COMMENT)('//type Runnable = {() => ()}') PsiComment(EOL_COMMENT)('//type Runnable = {() => ()}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
@@ -30,9 +30,9 @@ a(1
, {(Int).(x, y) : (Int) -> Int -> {1}} , {(Int).(x, y) : (Int) -> Int -> {1}}
, {Int? .(x, y) -> 1} , {Int? .(x, y) -> 1}
, {This.(x, y) -> 1} , {This.(x, y) -> 1}
, {#(A, B).(x, y) -> 1} , {Pair(A, B).(x, y) -> 1}
, {#(a, b).(y)} , {Pair(a, b).(y)}
, {#(a, b)} , {Pair(a, b)}
, {Foo<Bar>.x} , {Foo<Bar>.x}
, {Foo<Bar>.(x)} , {Foo<Bar>.(x)}
, {Foo<Bar>.(x) -> x} , {Foo<Bar>.(x) -> x}
@@ -672,90 +672,6 @@ JetFile: functionLiterals.jet
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(COMMA)(',') PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
VALUE_ARGUMENT
FUNCTION_LITERAL_EXPRESSION
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
TYPE_REFERENCE
TUPLE_TYPE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('A')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('B')
PsiElement(RPAR)(')')
PsiElement(DOT)('.')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('x')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('y')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(ARROW)('->')
PsiWhiteSpace(' ')
BLOCK
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
FUNCTION_LITERAL_EXPRESSION
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
BLOCK
DOT_QUALIFIED_EXPRESSION
TUPLE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('b')
PsiElement(RPAR)(')')
PsiElement(DOT)('.')
PARENTHESIZED
PsiElement(LPAR)('(')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('y')
PsiElement(RPAR)(')')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
FUNCTION_LITERAL_EXPRESSION
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
BLOCK
TUPLE
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('b')
PsiElement(RPAR)(')')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT VALUE_ARGUMENT
FUNCTION_LITERAL_EXPRESSION FUNCTION_LITERAL_EXPRESSION
FUNCTION_LITERAL FUNCTION_LITERAL
@@ -764,189 +680,287 @@ JetFile: functionLiterals.jet
DOT_QUALIFIED_EXPRESSION DOT_QUALIFIED_EXPRESSION
CALL_EXPRESSION CALL_EXPRESSION
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Foo') PsiElement(IDENTIFIER)('Pair')
TYPE_ARGUMENT_LIST VALUE_ARGUMENT_LIST
PsiElement(LT)('<') PsiElement(LPAR)('(')
TYPE_PROJECTION VALUE_ARGUMENT
TYPE_REFERENCE REFERENCE_EXPRESSION
USER_TYPE PsiElement(IDENTIFIER)('A')
REFERENCE_EXPRESSION PsiElement(COMMA)(',')
PsiElement(IDENTIFIER)('Bar') PsiWhiteSpace(' ')
PsiElement(GT)('>') VALUE_ARGUMENT
PsiElement(DOT)('.') REFERENCE_EXPRESSION
REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('B')
PsiElement(IDENTIFIER)('x') PsiElement(RPAR)(')')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
FUNCTION_LITERAL_EXPRESSION
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
BLOCK
DOT_QUALIFIED_EXPRESSION
CALL_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Bar')
PsiElement(GT)('>')
PsiElement(DOT)('.') PsiElement(DOT)('.')
PARENTHESIZED PARENTHESIZED
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x') PsiElement(IDENTIFIER)('x')
PsiElement(RPAR)(')') PsiErrorElement:Expecting ')'
PsiElement(RBRACE)('}') <empty list>
PsiWhiteSpace('\n') PsiErrorElement:Unexpected tokens (use ';' to separate expressions on the same line)
PsiElement(COMMA)(',') PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
VALUE_ARGUMENT PsiElement(IDENTIFIER)('y')
FUNCTION_LITERAL_EXPRESSION PsiElement(RPAR)(')')
FUNCTION_LITERAL PsiWhiteSpace(' ')
PsiElement(LBRACE)('{') PsiElement(ARROW)('->')
TYPE_REFERENCE PsiWhiteSpace(' ')
USER_TYPE PsiElement(INTEGER_LITERAL)('1')
REFERENCE_EXPRESSION PsiElement(RBRACE)('}')
PsiElement(IDENTIFIER)('Foo') PsiWhiteSpace('\n')
TYPE_ARGUMENT_LIST PsiErrorElement:Expecting an element
PsiElement(LT)('<') PsiElement(COMMA)(',')
TYPE_PROJECTION PsiWhiteSpace(' ')
TYPE_REFERENCE FUNCTION_LITERAL_EXPRESSION
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
BLOCK
DOT_QUALIFIED_EXPRESSION
CALL_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Pair')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('b')
PsiElement(RPAR)(')')
PsiElement(DOT)('.')
PARENTHESIZED
PsiElement(LPAR)('(')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('y')
PsiElement(RPAR)(')')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiErrorElement:Expecting an element
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
FUNCTION_LITERAL_EXPRESSION
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
BLOCK
CALL_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Pair')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('b')
PsiElement(RPAR)(')')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiErrorElement:Expecting an element
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
FUNCTION_LITERAL_EXPRESSION
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
BLOCK
DOT_QUALIFIED_EXPRESSION
CALL_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Bar')
PsiElement(GT)('>')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiErrorElement:Expecting an element
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
FUNCTION_LITERAL_EXPRESSION
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
BLOCK
DOT_QUALIFIED_EXPRESSION
CALL_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Bar')
PsiElement(GT)('>')
PsiElement(DOT)('.')
PARENTHESIZED
PsiElement(LPAR)('(')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RPAR)(')')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiErrorElement:Expecting an element
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
FUNCTION_LITERAL_EXPRESSION
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Bar')
PsiElement(GT)('>')
PsiElement(DOT)('.')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('x')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(ARROW)('->')
PsiWhiteSpace(' ')
BLOCK
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiErrorElement:Expecting an element
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
FUNCTION_LITERAL_EXPRESSION
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
TYPE_REFERENCE
USER_TYPE
USER_TYPE USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Bar') PsiElement(IDENTIFIER)('Bar')
PsiElement(GT)('>') PsiElement(DOT)('.')
PsiElement(DOT)('.') REFERENCE_EXPRESSION
VALUE_PARAMETER_LIST PsiElement(IDENTIFIER)('Baz')
PsiElement(LPAR)('(')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('x')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(ARROW)('->')
PsiWhiteSpace(' ')
BLOCK
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
FUNCTION_LITERAL_EXPRESSION
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
TYPE_REFERENCE
USER_TYPE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Foo')
PsiElement(DOT)('.') PsiElement(DOT)('.')
REFERENCE_EXPRESSION VALUE_PARAMETER_LIST
PsiElement(IDENTIFIER)('Bar') PsiElement(LPAR)('(')
PsiElement(DOT)('.') VALUE_PARAMETER
REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('x')
PsiElement(IDENTIFIER)('Baz') PsiElement(RPAR)(')')
PsiElement(DOT)('.') PsiWhiteSpace(' ')
VALUE_PARAMETER_LIST PsiElement(ARROW)('->')
PsiElement(LPAR)('(') PsiWhiteSpace(' ')
VALUE_PARAMETER BLOCK
PsiElement(IDENTIFIER)('x') REFERENCE_EXPRESSION
PsiElement(RPAR)(')') PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ') PsiElement(RBRACE)('}')
PsiElement(ARROW)('->') PsiWhiteSpace('\n')
PsiWhiteSpace(' ') PsiErrorElement:Expecting an element
BLOCK PsiElement(COMMA)(',')
REFERENCE_EXPRESSION PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('x') FUNCTION_LITERAL_EXPRESSION
PsiElement(RBRACE)('}') FUNCTION_LITERAL
PsiWhiteSpace('\n') PsiElement(LBRACE)('{')
PsiElement(COMMA)(',') TYPE_REFERENCE
PsiWhiteSpace(' ') USER_TYPE
VALUE_ARGUMENT REFERENCE_EXPRESSION
FUNCTION_LITERAL_EXPRESSION PsiElement(IDENTIFIER)('Foo')
FUNCTION_LITERAL TYPE_ARGUMENT_LIST
PsiElement(LBRACE)('{') PsiElement(LT)('<')
TYPE_REFERENCE TYPE_PROJECTION
USER_TYPE TYPE_REFERENCE
REFERENCE_EXPRESSION USER_TYPE
PsiElement(IDENTIFIER)('Foo') REFERENCE_EXPRESSION
TYPE_ARGUMENT_LIST PsiElement(IDENTIFIER)('Bar')
PsiElement(LT)('<') PsiElement(GT)('>')
TYPE_PROJECTION PsiElement(DOT)('.')
TYPE_REFERENCE VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('x')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiWhiteSpace(' ')
PsiElement(ARROW)('->')
PsiWhiteSpace(' ')
BLOCK
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiErrorElement:Expecting an element
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
FUNCTION_LITERAL_EXPRESSION
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
TYPE_REFERENCE
USER_TYPE
USER_TYPE USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Bar') PsiElement(IDENTIFIER)('Bar')
PsiElement(GT)('>') PsiElement(DOT)('.')
PsiElement(DOT)('.') REFERENCE_EXPRESSION
VALUE_PARAMETER_LIST PsiElement(IDENTIFIER)('Baz')
PsiElement(LPAR)('(')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('x')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiWhiteSpace(' ')
PsiElement(ARROW)('->')
PsiWhiteSpace(' ')
BLOCK
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
FUNCTION_LITERAL_EXPRESSION
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
TYPE_REFERENCE
USER_TYPE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Foo')
PsiElement(DOT)('.') PsiElement(DOT)('.')
REFERENCE_EXPRESSION VALUE_PARAMETER_LIST
PsiElement(IDENTIFIER)('Bar') PsiElement(LPAR)('(')
PsiElement(DOT)('.') VALUE_PARAMETER
REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('x')
PsiElement(IDENTIFIER)('Baz') PsiElement(RPAR)(')')
PsiElement(DOT)('.') PsiWhiteSpace(' ')
VALUE_PARAMETER_LIST PsiElement(COLON)(':')
PsiElement(LPAR)('(') PsiWhiteSpace(' ')
VALUE_PARAMETER TYPE_REFERENCE
PsiElement(IDENTIFIER)('x') USER_TYPE
PsiElement(RPAR)(')') REFERENCE_EXPRESSION
PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('Int')
PsiElement(COLON)(':') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') PsiElement(ARROW)('->')
TYPE_REFERENCE PsiWhiteSpace(' ')
USER_TYPE BLOCK
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int') PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ') PsiElement(RBRACE)('}')
PsiElement(ARROW)('->') PsiWhiteSpace('\n')
PsiWhiteSpace(' ') PsiErrorElement:Expecting an element
BLOCK PsiElement(RPAR)(')')
REFERENCE_EXPRESSION PsiWhiteSpace('\n')
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiErrorElement:Expecting ')'
PsiElement(RPAR)(')') <empty list>
PsiWhiteSpace('\n') PsiErrorElement:Expecting '}
PsiElement(RBRACE)('}') <empty list>