Object expressions marked

This commit is contained in:
Andrey Breslav
2011-01-03 17:09:29 +03:00
parent 66b2780e93
commit fc669d18b9
10 changed files with 1391 additions and 1367 deletions
@@ -100,6 +100,7 @@ public interface JetNodeTypes {
JetNodeType MATCH_ENTRY = new JetNodeType("MATCH_ENTRY"); JetNodeType MATCH_ENTRY = new JetNodeType("MATCH_ENTRY");
JetNodeType PATTERN = new JetNodeType("PATTERN"); JetNodeType PATTERN = new JetNodeType("PATTERN");
JetNodeType TUPLE_PATTERN = new JetNodeType("TUPLE_PATTERN"); JetNodeType TUPLE_PATTERN = new JetNodeType("TUPLE_PATTERN");
JetNodeType OBJECT_LITERAL = new JetNodeType("OBJECT_LITERAL");
IElementType NAMESPACE_NAME = new JetNodeType("NAMESPACE_NAME"); IElementType NAMESPACE_NAME = new JetNodeType("NAMESPACE_NAME");
} }
@@ -272,6 +272,8 @@ public class JetExpressionParsing extends AbstractJetParsing {
* ; * ;
*/ */
private void parseAtomicExpression() { private void parseAtomicExpression() {
// TODO: namespace.a.b.C
// System.out.println("atom at " + myBuilder.getTokenText()); // System.out.println("atom at " + myBuilder.getTokenText());
@@ -1127,6 +1129,8 @@ public class JetExpressionParsing extends AbstractJetParsing {
public void parseObjectLiteral() { public void parseObjectLiteral() {
assert at(OBJECT_KEYWORD); assert at(OBJECT_KEYWORD);
PsiBuilder.Marker literal = mark();
advance(); // OBJECT_KEYWORD advance(); // OBJECT_KEYWORD
if (at(LBRACE)) { if (at(LBRACE)) {
@@ -1138,6 +1142,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
myJetParsing.parseClassBody(); myJetParsing.parseClassBody();
} }
} }
literal.done(OBJECT_LITERAL);
} }
private void parseOneTokenExpression(JetNodeType type) { private void parseOneTokenExpression(JetNodeType type) {
+200 -190
View File
@@ -175,76 +175,13 @@ JetFile: SimpleClassMembers.jet
CLASS_OBJECT CLASS_OBJECT
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(object)('object') OBJECT_LITERAL
PsiWhiteSpace(' ') PsiElement(object)('object')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
CLASS_OBJECT
MODIFIER_LIST
PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(object)('object')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
CLASS_OBJECT
MODIFIER_LIST
PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(object)('object')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST
DELEGATION_SPECIFIER
DELEGATOR_SUPER_CLASS
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Fooo')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
CLASS_OBJECT
MODIFIER_LIST
PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(object)('object')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST
DELEGATION_SPECIFIER
DELEGATOR_SUPER_CLASS
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Fooo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
DELEGATION_SPECIFIER CLASS_BODY
DELEGATOR_BY PsiElement(LBRACE)('{')
TYPE_REFERENCE PsiWhiteSpace('\n\n ')
USER_TYPE PsiElement(RBRACE)('}')
PsiElement(IDENTIFIER)('Bar')
PsiWhiteSpace(' ')
PsiElement(by)('by')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT CLASS_OBJECT
MODIFIER_LIST MODIFIER_LIST
@@ -252,35 +189,103 @@ JetFile: SimpleClassMembers.jet
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(object)('object') OBJECT_LITERAL
PsiElement(object)('object')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
CLASS_OBJECT
MODIFIER_LIST
PsiElement(private)('private')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST PsiElement(class)('class')
DELEGATION_SPECIFIER PsiWhiteSpace(' ')
DELEGATOR_SUPER_CLASS OBJECT_LITERAL
TYPE_REFERENCE PsiElement(object)('object')
USER_TYPE
PsiElement(IDENTIFIER)('Fooo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
DELEGATION_SPECIFIER DELEGATION_SPECIFIER_LIST
DELEGATOR_BY DELEGATION_SPECIFIER
TYPE_REFERENCE DELEGATOR_SUPER_CLASS
USER_TYPE TYPE_REFERENCE
PsiElement(IDENTIFIER)('Bar') USER_TYPE
PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('Fooo')
PsiElement(by)('by')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
DELEGATION_SPECIFIER CLASS_BODY
DELEGATOR_SUPER_CALL PsiElement(LBRACE)('{')
TYPE_REFERENCE PsiWhiteSpace('\n\n ')
USER_TYPE PsiElement(RBRACE)('}')
PsiElement(IDENTIFIER)('Goo') PsiWhiteSpace('\n\n ')
VALUE_ARGUMENT_LIST CLASS_OBJECT
PsiElement(LPAR)('(') MODIFIER_LIST
PsiElement(RPAR)(')') PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(class)('class')
PsiWhiteSpace(' ')
OBJECT_LITERAL
PsiElement(object)('object')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST
DELEGATION_SPECIFIER
DELEGATOR_SUPER_CLASS
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Fooo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER
DELEGATOR_BY
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Bar')
PsiWhiteSpace(' ')
PsiElement(by)('by')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
CLASS_OBJECT
MODIFIER_LIST
PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(class)('class')
PsiWhiteSpace(' ')
OBJECT_LITERAL
PsiElement(object)('object')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST
DELEGATION_SPECIFIER
DELEGATOR_SUPER_CLASS
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Fooo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER
DELEGATOR_BY
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Bar')
PsiWhiteSpace(' ')
PsiElement(by)('by')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER
DELEGATOR_SUPER_CALL
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Goo')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
@@ -525,76 +530,13 @@ JetFile: SimpleClassMembers.jet
CLASS_OBJECT CLASS_OBJECT
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(object)('object') OBJECT_LITERAL
PsiWhiteSpace(' ') PsiElement(object)('object')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
CLASS_OBJECT
MODIFIER_LIST
PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(object)('object')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
CLASS_OBJECT
MODIFIER_LIST
PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(object)('object')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST
DELEGATION_SPECIFIER
DELEGATOR_SUPER_CLASS
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Fooo')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
CLASS_OBJECT
MODIFIER_LIST
PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(object)('object')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST
DELEGATION_SPECIFIER
DELEGATOR_SUPER_CLASS
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Fooo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
DELEGATION_SPECIFIER CLASS_BODY
DELEGATOR_BY PsiElement(LBRACE)('{')
TYPE_REFERENCE PsiWhiteSpace('\n\n ')
USER_TYPE PsiElement(RBRACE)('}')
PsiElement(IDENTIFIER)('Bar')
PsiWhiteSpace(' ')
PsiElement(by)('by')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT CLASS_OBJECT
MODIFIER_LIST MODIFIER_LIST
@@ -602,34 +544,102 @@ JetFile: SimpleClassMembers.jet
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(object)('object') OBJECT_LITERAL
PsiElement(object)('object')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
CLASS_OBJECT
MODIFIER_LIST
PsiElement(private)('private')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST PsiElement(class)('class')
DELEGATION_SPECIFIER PsiWhiteSpace(' ')
DELEGATOR_SUPER_CLASS OBJECT_LITERAL
TYPE_REFERENCE PsiElement(object)('object')
USER_TYPE
PsiElement(IDENTIFIER)('Fooo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
DELEGATION_SPECIFIER DELEGATION_SPECIFIER_LIST
DELEGATOR_BY DELEGATION_SPECIFIER
TYPE_REFERENCE DELEGATOR_SUPER_CLASS
USER_TYPE TYPE_REFERENCE
PsiElement(IDENTIFIER)('Bar') USER_TYPE
PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('Fooo')
PsiElement(by)('by')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
DELEGATION_SPECIFIER CLASS_BODY
DELEGATOR_SUPER_CALL PsiElement(LBRACE)('{')
TYPE_REFERENCE PsiWhiteSpace('\n\n ')
USER_TYPE PsiElement(RBRACE)('}')
PsiElement(IDENTIFIER)('Goo') PsiWhiteSpace('\n\n ')
VALUE_ARGUMENT_LIST CLASS_OBJECT
PsiElement(LPAR)('(') MODIFIER_LIST
PsiElement(RPAR)(')') PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(class)('class')
PsiWhiteSpace(' ')
OBJECT_LITERAL
PsiElement(object)('object')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST
DELEGATION_SPECIFIER
DELEGATOR_SUPER_CLASS
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Fooo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER
DELEGATOR_BY
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Bar')
PsiWhiteSpace(' ')
PsiElement(by)('by')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
CLASS_OBJECT
MODIFIER_LIST
PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(class)('class')
PsiWhiteSpace(' ')
OBJECT_LITERAL
PsiElement(object)('object')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST
DELEGATION_SPECIFIER
DELEGATOR_SUPER_CLASS
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Fooo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER
DELEGATOR_BY
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Bar')
PsiWhiteSpace(' ')
PsiElement(by)('by')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER
DELEGATOR_SUPER_CALL
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Goo')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n\n') PsiWhiteSpace('\n\n\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
+12 -11
View File
@@ -426,17 +426,18 @@ JetFile: SimpleExpressions.jet
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(EQ)('=') PsiElement(EQ)('=')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(object)('object') OBJECT_LITERAL
PsiWhiteSpace(' ') PsiElement(object)('object')
DELEGATION_SPECIFIER_LIST PsiWhiteSpace(' ')
DELEGATION_SPECIFIER DELEGATION_SPECIFIER_LIST
DELEGATOR_SUPER_CLASS DELEGATION_SPECIFIER
TYPE_REFERENCE DELEGATOR_SUPER_CLASS
USER_TYPE TYPE_REFERENCE
PsiElement(IDENTIFIER)('Foo') USER_TYPE
CLASS_BODY PsiElement(IDENTIFIER)('Foo')
PsiElement(LBRACE)('{') CLASS_BODY
PsiElement(RBRACE)('}') PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
PsiElement(COMMA)(',') PsiElement(COMMA)(',')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
VALUE_PARAMETER VALUE_PARAMETER
+130 -128
View File
@@ -18,97 +18,98 @@ JetFile: AnonymousObjects.jet
VALUE_ARGUMENT_LIST VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_ARGUMENT VALUE_ARGUMENT
PsiElement(object)('object') OBJECT_LITERAL
PsiWhiteSpace(' ') PsiElement(object)('object')
DELEGATION_SPECIFIER_LIST PsiWhiteSpace(' ')
DELEGATION_SPECIFIER DELEGATION_SPECIFIER_LIST
DELEGATOR_SUPER_CALL DELEGATION_SPECIFIER
TYPE_REFERENCE DELEGATOR_SUPER_CALL
USER_TYPE
PsiElement(IDENTIFIER)('MouseAdapter')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PROPERTY
MODIFIER_LIST
PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(var)('var')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('clickCount')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('0')
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n\n ')
FUN
MODIFIER_LIST
PsiElement(override)('override')
PsiWhiteSpace(' ')
PsiElement(fun)('fun')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('mouseClicked')
TYPE_PARAMETER_LIST
<empty list>
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
PsiElement(IDENTIFIER)('MouseEvent') PsiElement(IDENTIFIER)('MouseAdapter')
PsiElement(RPAR)(')') VALUE_ARGUMENT_LIST
PsiWhiteSpace(' ') PsiElement(LPAR)('(')
BLOCK PsiElement(RPAR)(')')
PsiElement(LBRACE)('{') PsiWhiteSpace(' ')
PsiWhiteSpace('\n ') CLASS_BODY
POSTFIX_EXPRESSION PsiElement(LBRACE)('{')
PsiElement(IDENTIFIER)('clickCount') PsiWhiteSpace('\n\n ')
PsiElement(PLUSPLUS)('++') PROPERTY
MODIFIER_LIST
PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(var)('var')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('clickCount')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('0')
PsiElement(SEMICOLON)(';') PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n\n ')
IF FUN
PsiElement(if)('if') MODIFIER_LIST
PsiWhiteSpace(' ') PsiElement(override)('override')
PsiWhiteSpace(' ')
PsiElement(fun)('fun')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('mouseClicked')
TYPE_PARAMETER_LIST
<empty list>
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
CONDITION VALUE_PARAMETER
BINARY_EXPRESSION PsiElement(IDENTIFIER)('e')
PsiElement(IDENTIFIER)('clickCount') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') PsiElement(COLON)(':')
PsiElement(GT)('>') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') TYPE_REFERENCE
INTEGER_CONSTANT USER_TYPE
PsiElement(INTEGER_LITERAL)('3') PsiElement(IDENTIFIER)('MouseEvent')
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
THEN BLOCK
CALL_EXPRESSION PsiElement(LBRACE)('{')
DOT_QIALIFIED_EXPRESSION PsiWhiteSpace('\n ')
PsiElement(IDENTIFIER)('GOD') POSTFIX_EXPRESSION
PsiElement(DOT)('.') PsiElement(IDENTIFIER)('clickCount')
PsiElement(IDENTIFIER)('sendMessage') PsiElement(PLUSPLUS)('++')
VALUE_ARGUMENT_LIST PsiElement(SEMICOLON)(';')
PsiElement(LPAR)('(') PsiWhiteSpace('\n ')
VALUE_ARGUMENT IF
DOT_QIALIFIED_EXPRESSION PsiElement(if)('if')
PsiElement(IDENTIFIER)('GodMEssages') PsiWhiteSpace(' ')
PsiElement(DOT)('.') PsiElement(LPAR)('(')
PsiElement(IDENTIFIER)('TOO_MANY_CLICKS') CONDITION
PsiElement(RPAR)(')') BINARY_EXPRESSION
PsiElement(SEMICOLON)(';') PsiElement(IDENTIFIER)('clickCount')
PsiWhiteSpace('\n ') PsiWhiteSpace(' ')
PsiElement(RBRACE)('}') PsiElement(GT)('>')
PsiWhiteSpace('\n') PsiWhiteSpace(' ')
PsiElement(RBRACE)('}') INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('3')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
THEN
CALL_EXPRESSION
DOT_QIALIFIED_EXPRESSION
PsiElement(IDENTIFIER)('GOD')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('sendMessage')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
DOT_QIALIFIED_EXPRESSION
PsiElement(IDENTIFIER)('GodMEssages')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('TOO_MANY_CLICKS')
PsiElement(RPAR)(')')
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiElement(RBRACE)('}')
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
CLASS CLASS
@@ -145,50 +146,51 @@ JetFile: AnonymousObjects.jet
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(EQ)('=') PsiElement(EQ)('=')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(object)('object') OBJECT_LITERAL
PsiWhiteSpace(' ') PsiElement(object)('object')
CLASS_BODY PsiWhiteSpace(' ')
PsiElement(LBRACE)('{') CLASS_BODY
PsiWhiteSpace('\n ') PsiElement(LBRACE)('{')
FUN PsiWhiteSpace('\n ')
PsiElement(fun)('fun') FUN
PsiWhiteSpace(' ') PsiElement(fun)('fun')
PsiElement(IDENTIFIER)('sendMessage')
TYPE_PARAMETER_LIST
<empty list>
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('message')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('GodMEssage')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
THROW
PsiElement(throw)('throw')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
NEW PsiElement(IDENTIFIER)('sendMessage')
PsiElement(new)('new') TYPE_PARAMETER_LIST
<empty list>
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('message')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('GodMEssage')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
THROW
PsiElement(throw)('throw')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE NEW
USER_TYPE PsiElement(new)('new')
PsiElement(IDENTIFIER)('RuntimeException') PsiWhiteSpace(' ')
VALUE_ARGUMENT_LIST TYPE_REFERENCE
PsiElement(LPAR)('(') USER_TYPE
VALUE_ARGUMENT PsiElement(IDENTIFIER)('RuntimeException')
DOT_QIALIFIED_EXPRESSION VALUE_ARGUMENT_LIST
PsiElement(IDENTIFIER)('message') PsiElement(LPAR)('(')
PsiElement(DOT)('.') VALUE_ARGUMENT
PsiElement(IDENTIFIER)('name') DOT_QIALIFIED_EXPRESSION
PsiElement(RPAR)(')') PsiElement(IDENTIFIER)('message')
PsiWhiteSpace('\n') PsiElement(DOT)('.')
PsiElement(RBRACE)('}') PsiElement(IDENTIFIER)('name')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n')
PsiElement(RBRACE)('}')
PsiElement(SEMICOLON)(';') PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n\n\n') PsiWhiteSpace('\n\n\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
File diff suppressed because it is too large Load Diff
+142 -141
View File
@@ -9,155 +9,156 @@ JetFile: Builder.jet
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
CALL_EXPRESSION CALL_EXPRESSION
DOT_QIALIFIED_EXPRESSION DOT_QIALIFIED_EXPRESSION
PsiElement(object)('object') OBJECT_LITERAL
PsiWhiteSpace(' ') PsiElement(object)('object')
DELEGATION_SPECIFIER_LIST PsiWhiteSpace(' ')
DELEGATION_SPECIFIER DELEGATION_SPECIFIER_LIST
DELEGATOR_SUPER_CALL DELEGATION_SPECIFIER
TYPE_REFERENCE DELEGATOR_SUPER_CALL
USER_TYPE TYPE_REFERENCE
PsiElement(IDENTIFIER)('AntBuilder') USER_TYPE
VALUE_ARGUMENT_LIST PsiElement(IDENTIFIER)('AntBuilder')
PsiElement(LPAR)('(') VALUE_ARGUMENT_LIST
PsiElement(RPAR)(')') PsiElement(LPAR)('(')
PsiWhiteSpace(' ') PsiElement(RPAR)(')')
CLASS_BODY PsiWhiteSpace(' ')
PsiElement(LBRACE)('{') CLASS_BODY
PsiWhiteSpace('\n\n ') PsiElement(LBRACE)('{')
PROPERTY PsiWhiteSpace('\n\n ')
MODIFIER_LIST PROPERTY
PsiElement(lazy)('lazy') MODIFIER_LIST
PsiWhiteSpace(' ') PsiElement(lazy)('lazy')
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('groovy')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
CALL_EXPRESSION
PsiElement(IDENTIFIER)('library')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
FUNCTION_LITERAL PsiElement(val)('val')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
BODY
CALL_EXPRESSION
PsiElement(IDENTIFIER)('classpath')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
STRING_CONSTANT
PsiElement(STRING_LITERAL)('"$libs/groovy-..."')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
PROPERTY
MODIFIER_LIST
PsiElement(lazy)('lazy')
PsiWhiteSpace(' ')
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('gant')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
CALL_EXPRESSION
PsiElement(IDENTIFIER)('library')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
FUNCTION_LITERAL PsiElement(IDENTIFIER)('groovy')
PsiElement(LBRACE)('{') PsiWhiteSpace(' ')
PsiWhiteSpace('\n ') PsiElement(EQ)('=')
BODY PsiWhiteSpace(' ')
CALL_EXPRESSION CALL_EXPRESSION
DOT_QIALIFIED_EXPRESSION PsiElement(IDENTIFIER)('library')
PsiWhiteSpace(' ')
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
BODY
CALL_EXPRESSION
PsiElement(IDENTIFIER)('classpath')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
STRING_CONSTANT
PsiElement(STRING_LITERAL)('"$libs/groovy-..."')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
PROPERTY
MODIFIER_LIST
PsiElement(lazy)('lazy')
PsiWhiteSpace(' ')
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('gant')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
CALL_EXPRESSION
PsiElement(IDENTIFIER)('library')
PsiWhiteSpace(' ')
FUNCTION_LITERAL
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
BODY
CALL_EXPRESSION
DOT_QIALIFIED_EXPRESSION DOT_QIALIFIED_EXPRESSION
NEW DOT_QIALIFIED_EXPRESSION
PsiElement(new)('new') NEW
PsiWhiteSpace(' ') PsiElement(new)('new')
TYPE_REFERENCE PsiWhiteSpace(' ')
USER_TYPE TYPE_REFERENCE
PsiElement(IDENTIFIER)('File') USER_TYPE
VALUE_ARGUMENT_LIST PsiElement(IDENTIFIER)('File')
PsiElement(LPAR)('(') VALUE_ARGUMENT_LIST
VALUE_ARGUMENT PsiElement(LPAR)('(')
STRING_CONSTANT VALUE_ARGUMENT
PsiElement(STRING_LITERAL)('"$gantHome/lib"') STRING_CONSTANT
PsiElement(RPAR)(')') PsiElement(STRING_LITERAL)('"$gantHome/lib"')
PsiElement(RPAR)(')')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('files')
PsiElement(DOT)('.') PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('files') PsiElement(IDENTIFIER)('each')
PsiElement(DOT)('.') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('each') FUNCTION_LITERAL
PsiWhiteSpace(' ') PsiElement(LBRACE)('{')
FUNCTION_LITERAL PsiWhiteSpace('\n ')
PsiElement(LBRACE)('{') BODY
PsiWhiteSpace('\n ') CALL_EXPRESSION
BODY PsiElement(IDENTIFIER)('classpath')
CALL_EXPRESSION VALUE_ARGUMENT_LIST
PsiElement(IDENTIFIER)('classpath') PsiElement(LPAR)('(')
VALUE_ARGUMENT_LIST VALUE_ARGUMENT
PsiElement(LPAR)('(') PsiElement(IDENTIFIER)('it')
VALUE_ARGUMENT PsiElement(RPAR)(')')
PsiElement(IDENTIFIER)('it') PsiWhiteSpace('\n ')
PsiElement(RPAR)(')') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}') PROPERTY
PsiWhiteSpace('\n\n ') MODIFIER_LIST
PROPERTY PsiElement(lazy)('lazy')
MODIFIER_LIST
PsiElement(lazy)('lazy')
PsiWhiteSpace(' ')
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('JPS')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
CALL_EXPRESSION
PsiElement(IDENTIFIER)('module')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
FUNCTION_LITERAL PsiElement(val)('val')
PsiElement(LBRACE)('{') PsiWhiteSpace(' ')
PsiWhiteSpace('\n ') PsiElement(IDENTIFIER)('JPS')
BODY PsiWhiteSpace(' ')
BINARY_EXPRESSION PsiElement(EQ)('=')
PsiElement(IDENTIFIER)('targetLevel') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CALL_EXPRESSION
PsiElement(EQ)('=') PsiElement(IDENTIFIER)('module')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
STRING_CONSTANT FUNCTION_LITERAL
PsiElement(STRING_LITERAL)('"1.5"') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CALL_EXPRESSION BODY
PsiElement(IDENTIFIER)('classpath') BINARY_EXPRESSION
VALUE_ARGUMENT_LIST PsiElement(IDENTIFIER)('targetLevel')
PsiElement(LPAR)('(')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('antLayout')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
VALUE_ARGUMENT PsiElement(EQ)('=')
PsiElement(IDENTIFIER)('gant')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
VALUE_ARGUMENT STRING_CONSTANT
PsiElement(IDENTIFIER)('groovy') PsiElement(STRING_LITERAL)('"1.5"')
PsiElement(RPAR)(')') PsiWhiteSpace('\n ')
PsiWhiteSpace('\n ') CALL_EXPRESSION
CALL_EXPRESSION PsiElement(IDENTIFIER)('classpath')
PsiElement(IDENTIFIER)('src') VALUE_ARGUMENT_LIST
VALUE_ARGUMENT_LIST PsiElement(LPAR)('(')
PsiElement(LPAR)('(') VALUE_ARGUMENT
VALUE_ARGUMENT PsiElement(IDENTIFIER)('antLayout')
STRING_CONSTANT PsiElement(COMMA)(',')
PsiElement(STRING_LITERAL)('"$projectHome/antLayout/src"') PsiWhiteSpace(' ')
PsiElement(RPAR)(')') VALUE_ARGUMENT
PsiWhiteSpace('\n ') PsiElement(IDENTIFIER)('gant')
PsiElement(RBRACE)('}') PsiElement(COMMA)(',')
PsiWhiteSpace('\n\n') PsiWhiteSpace(' ')
PsiElement(RBRACE)('}') VALUE_ARGUMENT
PsiElement(IDENTIFIER)('groovy')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
CALL_EXPRESSION
PsiElement(IDENTIFIER)('src')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
STRING_CONSTANT
PsiElement(STRING_LITERAL)('"$projectHome/antLayout/src"')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n')
PsiElement(RBRACE)('}')
PsiElement(DOT)('.') PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('build') PsiElement(IDENTIFIER)('build')
VALUE_ARGUMENT_LIST VALUE_ARGUMENT_LIST
@@ -129,56 +129,57 @@ JetFile: PolymorphicClassObjects.jet
CLASS_OBJECT CLASS_OBJECT
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(object)('object') OBJECT_LITERAL
PsiWhiteSpace(' ') PsiElement(object)('object')
DELEGATION_SPECIFIER_LIST PsiWhiteSpace(' ')
DELEGATION_SPECIFIER DELEGATION_SPECIFIER_LIST
DELEGATOR_SUPER_CLASS DELEGATION_SPECIFIER
DELEGATOR_SUPER_CLASS
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Buildable')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
FUN
MODIFIER_LIST
PsiElement(override)('override')
PsiWhiteSpace(' ')
PsiElement(fun)('fun')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('newBuilder')
TYPE_PARAMETER_LIST
PsiElement(LT)('<')
TYPE_PARAMETER
PsiElement(IDENTIFIER)('E')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
TYPE_PARAMETER
PsiElement(IDENTIFIER)('R')
PsiElement(GT)('>')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
PsiElement(IDENTIFIER)('Buildable') PsiElement(IDENTIFIER)('Builder')
PsiWhiteSpace(' ') TYPE_ARGUMENT_LIST
CLASS_BODY PsiElement(LT)('<')
PsiElement(LBRACE)('{') TYPE_REFERENCE
PsiWhiteSpace('\n ') USER_TYPE
FUN PsiElement(IDENTIFIER)('E')
MODIFIER_LIST PsiElement(COMMA)(',')
PsiElement(override)('override') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') TYPE_REFERENCE
PsiElement(fun)('fun') USER_TYPE
PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('R')
PsiElement(IDENTIFIER)('newBuilder') PsiElement(GT)('>')
TYPE_PARAMETER_LIST PsiWhiteSpace('\n\n ')
PsiElement(LT)('<') PsiElement(RBRACE)('}')
TYPE_PARAMETER
PsiElement(IDENTIFIER)('E')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
TYPE_PARAMETER
PsiElement(IDENTIFIER)('R')
PsiElement(GT)('>')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Builder')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('E')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('R')
PsiElement(GT)('>')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
+72 -71
View File
@@ -34,82 +34,83 @@ JetFile: UpdateOperation.jet
CLASS_OBJECT CLASS_OBJECT
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(object)('object') OBJECT_LITERAL
PsiWhiteSpace(' ') PsiElement(object)('object')
CLASS_BODY PsiWhiteSpace(' ')
PsiElement(LBRACE)('{') CLASS_BODY
PsiWhiteSpace('\n ') PsiElement(LBRACE)('{')
FUN PsiWhiteSpace('\n ')
PsiElement(fun)('fun') FUN
PsiWhiteSpace(' ') PsiElement(fun)('fun')
PsiElement(IDENTIFIER)('copy') PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST PsiElement(IDENTIFIER)('copy')
<empty list> TYPE_PARAMETER_LIST
VALUE_PARAMETER_LIST <empty list>
PsiElement(LPAR)('(') VALUE_PARAMETER_LIST
VALUE_PARAMETER PsiElement(LPAR)('(')
PsiElement(IDENTIFIER)('from') VALUE_PARAMETER
PsiElement(IDENTIFIER)('from')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Pair')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(COLON)(':') VALUE_PARAMETER
PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Int')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
DOT_QIALIFIED_EXPRESSION
PsiElement(IDENTIFIER)('from')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('x')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('y')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Int')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
DOT_QIALIFIED_EXPRESSION
PsiElement(IDENTIFIER)('from')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('y')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
NEW
PsiElement(new)('new')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
PsiElement(IDENTIFIER)('Pair') PsiElement(IDENTIFIER)('Pair')
PsiElement(COMMA)(',') VALUE_ARGUMENT_LIST
PsiWhiteSpace(' ') PsiElement(LPAR)('(')
VALUE_PARAMETER VALUE_ARGUMENT
PsiElement(IDENTIFIER)('x') PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ') PsiElement(COMMA)(',')
PsiElement(COLON)(':') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') VALUE_ARGUMENT
TYPE_REFERENCE PsiElement(IDENTIFIER)('y')
USER_TYPE PsiElement(RPAR)(')')
PsiElement(IDENTIFIER)('Int') PsiWhiteSpace('\n ')
PsiWhiteSpace(' ') PsiElement(RBRACE)('}')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
DOT_QIALIFIED_EXPRESSION
PsiElement(IDENTIFIER)('from')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('x')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('y')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Int')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
DOT_QIALIFIED_EXPRESSION
PsiElement(IDENTIFIER)('from')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('y')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
NEW
PsiElement(new)('new')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('Pair')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('x')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
PsiElement(IDENTIFIER)('y')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
@@ -133,231 +133,232 @@ JetFile: ArrayList.jet
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(EQ)('=') PsiElement(EQ)('=')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(object)('object') OBJECT_LITERAL
PsiWhiteSpace(' ') PsiElement(object)('object')
DELEGATION_SPECIFIER_LIST
DELEGATION_SPECIFIER
DELEGATOR_SUPER_CALL
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('IMutableIterator')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiComment(EOL_COMMENT)('// T is inferred') DELEGATION_SPECIFIER_LIST
PsiWhiteSpace('\n ') DELEGATION_SPECIFIER
PROPERTY DELEGATOR_SUPER_CALL
MODIFIER_LIST TYPE_REFERENCE
PsiElement(private)('private') USER_TYPE
PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('IMutableIterator')
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('index')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('0')
PsiWhiteSpace('\n ')
PROPERTY
MODIFIER_LIST
PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(var)('var')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('myVersion')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('version')
PsiWhiteSpace('\n\n ')
FUN
MODIFIER_LIST
PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(fun)('fun')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('checkVersion')
TYPE_PARAMETER_LIST
<empty list>
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
IF
PsiElement(if)('if')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
CONDITION
BINARY_EXPRESSION
PsiElement(IDENTIFIER)('version')
PsiWhiteSpace(' ')
PsiElement(EXCLEQ)('!=')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('myVersion')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
THEN
THROW
PsiElement(throw)('throw')
PsiWhiteSpace(' ')
NEW
PsiElement(new)('new')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('ConcurrentModificationException')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
FUN
MODIFIER_LIST
PsiElement(override)('override')
PsiWhiteSpace(' ')
PsiElement(fun)('fun')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('next')
TYPE_PARAMETER_LIST
<empty list>
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
CALL_EXPRESSION
PsiElement(IDENTIFIER)('checkVersion')
VALUE_ARGUMENT_LIST VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace('\n ') PsiWhiteSpace(' ')
IF CLASS_BODY
PsiElement(if)('if') PsiElement(LBRACE)('{')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
CONDITION
PsiElement(IDENTIFIER)('hasNext')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
THEN
THROW
PsiElement(throw)('throw')
PsiWhiteSpace(' ')
NEW
PsiElement(new)('new')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('NoMoreElementsException')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
ARRAY_ACCESS_EXPRESSION
PsiElement(IDENTIFIER)('data')
INDICES
PsiElement(LBRACKET)('[')
POSTFIX_EXPRESSION
PsiElement(IDENTIFIER)('index')
PsiElement(PLUSPLUS)('++')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
PROPERTY
MODIFIER_LIST
PsiElement(override)('override')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(val)('val') PsiComment(EOL_COMMENT)('// T is inferred')
PsiWhiteSpace(' ') PsiWhiteSpace('\n ')
PsiElement(IDENTIFIER)('hasNext') PROPERTY
PsiWhiteSpace('\n ') MODIFIER_LIST
PROPERTY_ACCESSOR PsiElement(private)('private')
PsiElement(get)('get') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(val)('val')
PsiElement(RPAR)(')') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('index')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(EQ)('=') PsiElement(EQ)('=')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
BINARY_EXPRESSION INTEGER_CONSTANT
PsiElement(IDENTIFIER)('index') PsiElement(INTEGER_LITERAL)('0')
PsiWhiteSpace(' ') PsiWhiteSpace('\n ')
PsiElement(LT)('<') PROPERTY
PsiWhiteSpace(' ') MODIFIER_LIST
PsiElement(IDENTIFIER)('used') PsiElement(private)('private')
PsiWhiteSpace('\n\n\n ') PsiWhiteSpace(' ')
FUN PsiElement(var)('var')
MODIFIER_LIST PsiWhiteSpace(' ')
PsiElement(override)('override') PsiElement(IDENTIFIER)('myVersion')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(fun)('fun') PsiElement(EQ)('=')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('remove') PsiElement(IDENTIFIER)('version')
TYPE_PARAMETER_LIST PsiWhiteSpace('\n\n ')
<empty list> FUN
VALUE_PARAMETER_LIST MODIFIER_LIST
PsiElement(LPAR)('(') PsiElement(private)('private')
PsiElement(RPAR)(')') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') PsiElement(fun)('fun')
BLOCK PsiWhiteSpace(' ')
PsiElement(LBRACE)('{') PsiElement(IDENTIFIER)('checkVersion')
PsiWhiteSpace('\n ') TYPE_PARAMETER_LIST
CALL_EXPRESSION <empty list>
PsiElement(IDENTIFIER)('checkVersion') VALUE_PARAMETER_LIST
VALUE_ARGUMENT_LIST PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
IF
PsiElement(if)('if')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
CONDITION
BINARY_EXPRESSION
PsiElement(IDENTIFIER)('version')
PsiWhiteSpace(' ')
PsiElement(EXCLEQ)('!=')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('myVersion')
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
PROPERTY THEN
PsiElement(val)('val') THROW
PsiWhiteSpace(' ') PsiElement(throw)('throw')
PsiElement(IDENTIFIER)('result') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') NEW
PsiElement(EQ)('=') PsiElement(new)('new')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('ConcurrentModificationException')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
FUN
MODIFIER_LIST
PsiElement(override)('override')
PsiWhiteSpace(' ')
PsiElement(fun)('fun')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('next')
TYPE_PARAMETER_LIST
<empty list>
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
CALL_EXPRESSION CALL_EXPRESSION
DOT_QIALIFIED_EXPRESSION PsiElement(IDENTIFIER)('checkVersion')
DOT_QIALIFIED_EXPRESSION
PsiElement(IDENTIFIER)('ArrayList')
PsiElement(DOT)('.')
PsiElement(this)('this')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('remove')
VALUE_ARGUMENT_LIST VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_ARGUMENT
BINARY_EXPRESSION
PsiElement(IDENTIFIER)('index')
PsiWhiteSpace(' ')
PsiElement(MINUS)('-')
PsiWhiteSpace(' ')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
IF
PsiElement(if)('if')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
CONDITION
PsiElement(IDENTIFIER)('hasNext')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
THEN
THROW
PsiElement(throw)('throw')
PsiWhiteSpace(' ')
NEW
PsiElement(new)('new')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
PsiElement(IDENTIFIER)('NoMoreElementsException')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
ARRAY_ACCESS_EXPRESSION
PsiElement(IDENTIFIER)('data')
INDICES
PsiElement(LBRACKET)('[')
POSTFIX_EXPRESSION
PsiElement(IDENTIFIER)('index')
PsiElement(PLUSPLUS)('++')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
PROPERTY
MODIFIER_LIST
PsiElement(override)('override')
PsiWhiteSpace(' ')
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('hasNext')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
BINARY_EXPRESSION PROPERTY_ACCESSOR
PsiElement(IDENTIFIER)('myVersion') PsiElement(get)('get')
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(EQ)('=') PsiElement(EQ)('=')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('version') BINARY_EXPRESSION
PsiWhiteSpace('\n ') PsiElement(IDENTIFIER)('index')
PsiElement(IDENTIFIER)('result') PsiWhiteSpace(' ')
PsiWhiteSpace('\n ') PsiElement(LT)('<')
PsiElement(RBRACE)('}') PsiWhiteSpace(' ')
PsiWhiteSpace('\n ') PsiElement(IDENTIFIER)('used')
PsiElement(RBRACE)('}') PsiWhiteSpace('\n\n\n ')
FUN
MODIFIER_LIST
PsiElement(override)('override')
PsiWhiteSpace(' ')
PsiElement(fun)('fun')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('remove')
TYPE_PARAMETER_LIST
<empty list>
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
CALL_EXPRESSION
PsiElement(IDENTIFIER)('checkVersion')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('result')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
CALL_EXPRESSION
DOT_QIALIFIED_EXPRESSION
DOT_QIALIFIED_EXPRESSION
PsiElement(IDENTIFIER)('ArrayList')
PsiElement(DOT)('.')
PsiElement(this)('this')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('remove')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
BINARY_EXPRESSION
PsiElement(IDENTIFIER)('index')
PsiWhiteSpace(' ')
PsiElement(MINUS)('-')
PsiWhiteSpace(' ')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
BINARY_EXPRESSION
PsiElement(IDENTIFIER)('myVersion')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('version')
PsiWhiteSpace('\n ')
PsiElement(IDENTIFIER)('result')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
FUN FUN
MODIFIER_LIST MODIFIER_LIST