More tests, minor fixes

This commit is contained in:
Andrey Breslav
2010-12-21 19:46:20 +03:00
parent b521a7a244
commit 198c46528c
19 changed files with 445 additions and 91 deletions
@@ -431,6 +431,7 @@ public class JetParsing extends AbstractJetParsing {
* ;
*/
private void parseClassBody() {
// TODO: enum classes
assert at(LBRACE);
PsiBuilder.Marker body = mark();
advance(); // LBRACE
@@ -1107,7 +1108,7 @@ public class JetParsing extends AbstractJetParsing {
advance(); // DOT
}
userType.done(USER_TYPE);
userType.done(TYPE_REFERENCE);
}
/*
@@ -1245,13 +1246,13 @@ public class JetParsing extends AbstractJetParsing {
error("Expecting a parameter declaration");
break;
}
if (!parseValueParameter()) {
if (isFunctionTypeContents) {
parseModifierList(); // lazy, out, ref
parseTypeRef();
} else {
errorAndAdvance("Expecting a parameter declaration");
if (isFunctionTypeContents) {
if (!tryParseValueParameter()) {
parseModifierList(); // lazy, out, ref
parseTypeRef();
}
} else {
parseValueParameter();
}
if (!at(COMMA)) break;
advance(); // COMMA
@@ -1266,7 +1267,7 @@ public class JetParsing extends AbstractJetParsing {
* : modifiers functionParameterRest
* ;
*/
private boolean parseValueParameter() {
private boolean tryParseValueParameter() {
PsiBuilder.Marker parameter = mark();
int lastId = findLastBefore(TokenSet.create(IDENTIFIER), TokenSet.create(COMMA, RPAR, COLON), false);
@@ -1281,4 +1282,20 @@ public class JetParsing extends AbstractJetParsing {
return true;
}
/*
* functionParameter
* : modifiers functionParameterRest
* ;
*/
private void parseValueParameter() {
PsiBuilder.Marker parameter = mark();
int lastId = findLastBefore(TokenSet.create(IDENTIFIER), TokenSet.create(COMMA, RPAR, COLON), false);
createTruncatedBuilder(lastId).parseModifierList();
parseFunctionParameterRest();
parameter.done(VALUE_PARAMETER);
}
}
+8 -8
View File
@@ -40,7 +40,7 @@ JetFile: Attributes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('foo')
TYPE_ARGUMENT_LIST
@@ -65,12 +65,12 @@ JetFile: Attributes.jet
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('ina')
PsiElement(COMMA)(',')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
@@ -110,7 +110,7 @@ JetFile: Attributes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('df')
PsiElement(RBRACKET)(']')
@@ -120,7 +120,7 @@ JetFile: Attributes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('sdfsdf')
PsiElement(RBRACKET)(']')
@@ -155,19 +155,19 @@ JetFile: Attributes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('sdfsd')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('sdfsd')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(DOT)('.')
+10 -10
View File
@@ -45,7 +45,7 @@ JetFile: Attributes_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('foo')
TYPE_ARGUMENT_LIST
@@ -71,12 +71,12 @@ JetFile: Attributes_ERR.jet
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('ina')
PsiElement(COMMA)(',')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
@@ -116,7 +116,7 @@ JetFile: Attributes_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('df')
PsiElement(RBRACKET)(']')
@@ -126,7 +126,7 @@ JetFile: Attributes_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('sdfsdf')
PsiElement(COMMA)(',')
@@ -137,12 +137,12 @@ JetFile: Attributes_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('s')
PsiElement(COMMA)(',')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('fd')
PsiErrorElement:Expecting ']' to close an attribute annotation
@@ -185,19 +185,19 @@ JetFile: Attributes_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('sdfsd')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('sdfsd')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(DOT)('.')
+9
View File
@@ -0,0 +1,9 @@
class foo {
this() : this(a, b, c), Foo<T>(bar)
this(foo : bar) : this(a, b, c), Foo<T>(bar) {
}
}
+110
View File
@@ -0,0 +1,110 @@
JetFile: Constructors.jet
NAMESPACE
CLASS
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
CONSTRUCTOR
PsiElement(this)('this')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
INITIALIZER_LIST
THIS_CALL
PsiElement(this)('this')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('b')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('c')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
DELEGATOR_SUPER_CALL
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('T')
PsiElement(GT)('>')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('bar')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n ')
CONSTRUCTOR
PsiElement(this)('this')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('bar')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
INITIALIZER_LIST
THIS_CALL
PsiElement(this)('this')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('b')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('c')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
DELEGATOR_SUPER_CALL
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('T')
PsiElement(GT)('>')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('bar')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n')
PsiElement(RBRACE)('}')
+2 -2
View File
@@ -73,7 +73,7 @@ JetFile: Decomposers.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -86,7 +86,7 @@ JetFile: Decomposers.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
+3 -3
View File
@@ -69,7 +69,7 @@ JetFile: Decomposers_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -82,7 +82,7 @@ JetFile: Decomposers_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -103,7 +103,7 @@ JetFile: Decomposers_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
+4 -4
View File
@@ -18,7 +18,7 @@ JetFile: FunctionTypes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -83,7 +83,7 @@ JetFile: FunctionTypes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -139,7 +139,7 @@ JetFile: FunctionTypes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -256,7 +256,7 @@ JetFile: FunctionTypes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
+1 -1
View File
@@ -18,7 +18,7 @@ JetFile: FunctionTypes_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
+15 -15
View File
@@ -16,7 +16,7 @@ JetFile: Functions.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -35,7 +35,7 @@ JetFile: Functions.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -57,7 +57,7 @@ JetFile: Functions.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -108,7 +108,7 @@ JetFile: Functions.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -144,7 +144,7 @@ JetFile: Functions.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
VALUE_ARGUMENT_LIST
@@ -215,7 +215,7 @@ JetFile: Functions.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -235,7 +235,7 @@ JetFile: Functions.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -258,7 +258,7 @@ JetFile: Functions.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -310,7 +310,7 @@ JetFile: Functions.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -347,7 +347,7 @@ JetFile: Functions.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
VALUE_ARGUMENT_LIST
@@ -422,7 +422,7 @@ JetFile: Functions.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -445,7 +445,7 @@ JetFile: Functions.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -471,7 +471,7 @@ JetFile: Functions.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -526,7 +526,7 @@ JetFile: Functions.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -566,7 +566,7 @@ JetFile: Functions.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
VALUE_ARGUMENT_LIST
+13 -10
View File
@@ -17,7 +17,7 @@ JetFile: Functions_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -29,8 +29,11 @@ JetFile: Functions_ERR.jet
VALUE_PARAMETER_LIST
PsiErrorElement:Expecting '(
PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Expecting a parameter declaration
PsiElement(LPAR)('(')
VALUE_PARAMETER
PsiErrorElement:Parameter name expected
PsiElement(LPAR)('(')
PsiErrorElement:Parameters must have type annotation
<empty list>
PsiElement(RPAR)(')')
PsiWhiteSpace('\n')
FUN
@@ -40,7 +43,7 @@ JetFile: Functions_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -76,7 +79,7 @@ JetFile: Functions_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
VALUE_ARGUMENT_LIST
@@ -138,7 +141,7 @@ JetFile: Functions_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
VALUE_ARGUMENT_LIST
@@ -180,7 +183,7 @@ JetFile: Functions_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
VALUE_ARGUMENT_LIST
@@ -229,7 +232,7 @@ JetFile: Functions_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
VALUE_ARGUMENT_LIST
@@ -281,7 +284,7 @@ JetFile: Functions_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
VALUE_ARGUMENT_LIST
@@ -362,7 +365,7 @@ JetFile: Functions_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
+4 -4
View File
@@ -11,7 +11,7 @@ JetFile: Properties.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -70,7 +70,7 @@ JetFile: Properties.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -211,7 +211,7 @@ JetFile: Properties.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -354,7 +354,7 @@ JetFile: Properties.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
+5 -3
View File
@@ -47,7 +47,7 @@ JetFile: Properties_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiErrorElement:Expecting ']' to close an attribute annotation
@@ -78,7 +78,7 @@ JetFile: Properties_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -224,8 +224,10 @@ JetFile: Properties_ERR.jet
PsiElement(get)('get')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiErrorElement:Expecting a parameter declaration
VALUE_PARAMETER
PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Parameters must have type annotation
<empty list>
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
BLOCK
@@ -0,0 +1,25 @@
class foo {
extension foo for X { } -
class Bar {
sdfsd
}
fun foo()
val x
var f
type foo =
decomposer (a, b, c
this() : this(a, b, c), Foo<T(bar)
this() : this(a, b, c), Foo<T>(bar) {
}
}
@@ -0,0 +1,186 @@
JetFile: SimpleClassMembers_ERR.jet
NAMESPACE
CLASS
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
EXTENSION
PsiElement(extension)('extension')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
PsiElement(for)('for')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('X')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace(' ')
PsiElement(RBRACE)('}')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting member declaration
PsiElement(MINUS)('-')
PsiWhiteSpace('\n\n ')
CLASS
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Bar')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
PsiErrorElement:Expecting member declaration
PsiElement(IDENTIFIER)('sdfsd')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
FUN
PsiElement(fun)('fun')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
TYPE_PARAMETER_LIST
<empty list>
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n ')
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('x')
PsiWhiteSpace('\n\n ')
PROPERTY
PsiElement(var)('var')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('f')
PsiWhiteSpace('\n\n ')
TYPEDEF
PsiElement(type)('type')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
PsiElement(EQ)('=')
PsiWhiteSpace('\n\n ')
TYPE_REFERENCE
PsiErrorElement:Type expected
<empty list>
DECOMPOSER
PsiElement(decomposer)('decomposer')
PsiWhiteSpace(' ')
DECOMPOSER_PROPERTY_LIST
PsiElement(LPAR)('(')
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('b')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('c')
PsiErrorElement:Expecting ')' to close a property list
<empty list>
PsiWhiteSpace('\n\n ')
CONSTRUCTOR
PsiElement(this)('this')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
INITIALIZER_LIST
THIS_CALL
PsiElement(this)('this')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('b')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('c')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
DELEGATOR_SUPER_CALL
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('T')
PsiErrorElement:Expecting a '>'
<empty list>
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('bar')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n ')
CONSTRUCTOR
PsiElement(this)('this')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
INITIALIZER_LIST
THIS_CALL
PsiElement(this)('this')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('b')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('c')
PsiElement(RPAR)(')')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
DELEGATOR_SUPER_CALL
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('T')
PsiElement(GT)('>')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('bar')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n')
PsiElement(RBRACE)('}')
+9 -9
View File
@@ -91,7 +91,7 @@ JetFile: TupleTypes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -110,7 +110,7 @@ JetFile: TupleTypes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -120,7 +120,7 @@ JetFile: TupleTypes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -139,7 +139,7 @@ JetFile: TupleTypes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -150,7 +150,7 @@ JetFile: TupleTypes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -163,7 +163,7 @@ JetFile: TupleTypes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -181,7 +181,7 @@ JetFile: TupleTypes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -197,7 +197,7 @@ JetFile: TupleTypes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -215,7 +215,7 @@ JetFile: TupleTypes.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
+9 -9
View File
@@ -88,7 +88,7 @@ JetFile: TupleTypes_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -107,7 +107,7 @@ JetFile: TupleTypes_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -117,7 +117,7 @@ JetFile: TupleTypes_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiErrorElement:Expecting ']' to close an attribute annotation
@@ -137,7 +137,7 @@ JetFile: TupleTypes_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -148,7 +148,7 @@ JetFile: TupleTypes_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -161,7 +161,7 @@ JetFile: TupleTypes_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -179,7 +179,7 @@ JetFile: TupleTypes_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -195,7 +195,7 @@ JetFile: TupleTypes_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -213,7 +213,7 @@ JetFile: TupleTypes_ERR.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
+5 -5
View File
@@ -17,7 +17,7 @@ JetFile: TypeAnnotations.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
@@ -25,7 +25,7 @@ JetFile: TypeAnnotations.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('b')
PsiElement(RBRACKET)(']')
@@ -47,7 +47,7 @@ JetFile: TypeAnnotations.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('b')
PsiElement(RBRACKET)(']')
@@ -55,7 +55,7 @@ JetFile: TypeAnnotations.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -68,7 +68,7 @@ JetFile: TypeAnnotations.jet
ATTRIBUTE_ANNOTATION
PsiElement(LBRACKET)('[')
ATTRIBUTE
USER_TYPE
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('x')
PsiElement(RBRACKET)(']')
@@ -54,4 +54,6 @@ public class JetParsingTest extends ParsingTestCase {
public void testExtensions_ERR() throws Exception {doTest(true);}
public void testSoftKeywords() throws Exception {doTest(true);}
public void testSimpleClassMembers() throws Exception {doTest(true);}
public void testSimpleClassMembers_ERR() throws Exception {doTest(true);}
public void testConstructors() throws Exception {doTest(true);}
}