New Java parser (work in progress)

This commit is contained in:
Roman Shevchenko
2010-07-22 16:17:30 +04:00
parent 4736a40076
commit 310e1ffc64
100 changed files with 3341 additions and 4 deletions
@@ -0,0 +1,20 @@
PsiJavaFile:Array.java
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Endorsers
PsiIdentifier:Endorsers('Endorsers')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
PsiJavaToken:LPARENTH('(')
PsiNameValuePair
PsiArrayInitializerMemberValue:{"Children", "Unscrupulous dentists"}
PsiJavaToken:LBRACE('{')
PsiLiteralExpression:"Children"
PsiJavaToken:STRING_LITERAL('"Children"')
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiLiteralExpression:"Unscrupulous dentists"
PsiJavaToken:STRING_LITERAL('"Unscrupulous dentists"')
PsiJavaToken:RBRACE('}')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,22 @@
PsiJavaFile:Complex.java
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Author
PsiIdentifier:Author('Author')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
PsiJavaToken:LPARENTH('(')
PsiNameValuePair
PsiIdentifier:first('first')
PsiJavaToken:EQ('=')
PsiLiteralExpression:"Eugene"
PsiJavaToken:STRING_LITERAL('"Eugene"')
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiNameValuePair
PsiIdentifier:second('second')
PsiJavaToken:EQ('=')
PsiLiteralExpression:"Wampirchik"
PsiJavaToken:STRING_LITERAL('"Wampirchik"')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,26 @@
PsiJavaFile:FirstNameMissed.java
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Anno
PsiIdentifier:Anno('Anno')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
PsiJavaToken:LPARENTH('(')
PsiNameValuePair
PsiReferenceExpression:value1
PsiReferenceParameterList
<empty list>
PsiIdentifier:value1('value1')
PsiErrorElement:Annotation attribute must be of the form 'name=value'
<empty list>
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiNameValuePair
PsiIdentifier:param2('param2')
PsiJavaToken:EQ('=')
PsiReferenceExpression:value2
PsiReferenceParameterList
<empty list>
PsiIdentifier:value2('value2')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,9 @@
PsiJavaFile:Marker.java
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Preliminary
PsiIdentifier:Preliminary('Preliminary')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
@@ -0,0 +1,26 @@
PsiJavaFile:Multiple.java
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Preliminary
PsiIdentifier:Preliminary('Preliminary')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Other
PsiIdentifier:Other('Other')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
PsiJavaToken:LPARENTH('(')
PsiNameValuePair
PsiIdentifier:name('name')
PsiJavaToken:EQ('=')
PsiReferenceExpression:value
PsiReferenceParameterList
<empty list>
PsiIdentifier:value('value')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,32 @@
PsiJavaFile:Nested.java
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Author
PsiIdentifier:Author('Author')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
PsiJavaToken:LPARENTH('(')
PsiNameValuePair
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Name
PsiIdentifier:Name('Name')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
PsiJavaToken:LPARENTH('(')
PsiNameValuePair
PsiIdentifier:first('first')
PsiJavaToken:EQ('=')
PsiLiteralExpression:"Eugene"
PsiJavaToken:STRING_LITERAL('"Eugene"')
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiNameValuePair
PsiIdentifier:second('second')
PsiJavaToken:EQ('=')
PsiLiteralExpression:"Wampirchik"
PsiJavaToken:STRING_LITERAL('"Wampirchik"')
PsiJavaToken:RPARENTH(')')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,13 @@
PsiJavaFile:ParameterizedAnnotation.java
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Nullable
PsiIdentifier:Nullable('Nullable')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiErrorElement:Unparsed tokens
PsiJavaToken:LT('<')
PsiIdentifier:T('T')
PsiJavaToken:GT('>')
@@ -0,0 +1,24 @@
PsiJavaFile:QualifiedAnnotation.java
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:org.jetbrains.annotations.Nullable
PsiJavaCodeReferenceElement:org.jetbrains.annotations
PsiJavaCodeReferenceElement:org.jetbrains
PsiJavaCodeReferenceElement:org
PsiIdentifier:org('org')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiIdentifier:jetbrains('jetbrains')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiIdentifier:annotations('annotations')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiIdentifier:Nullable('Nullable')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
@@ -0,0 +1,13 @@
PsiJavaFile:Simple0.java
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Copyright
PsiIdentifier:Copyright('Copyright')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
PsiJavaToken:LPARENTH('(')
PsiNameValuePair
PsiLiteralExpression:"bla-bla-bla"
PsiJavaToken:STRING_LITERAL('"bla-bla-bla"')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,15 @@
PsiJavaFile:Simple1.java
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Copyright
PsiIdentifier:Copyright('Copyright')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
PsiJavaToken:LPARENTH('(')
PsiNameValuePair
PsiReferenceExpression:treatedAsValue
PsiReferenceParameterList
<empty list>
PsiIdentifier:treatedAsValue('treatedAsValue')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,5 @@
PsiJavaFile:ArrayInitializer0.java
PsiArrayInitializerExpression:{ }
PsiJavaToken:LBRACE('{')
PsiWhiteSpace(' ')
PsiJavaToken:RBRACE('}')
@@ -0,0 +1,8 @@
PsiJavaFile:ArrayInitializer1.java
PsiArrayInitializerExpression:{ 1 }
PsiJavaToken:LBRACE('{')
PsiWhiteSpace(' ')
PsiLiteralExpression:1
PsiJavaToken:INTEGER_LITERAL('1')
PsiWhiteSpace(' ')
PsiJavaToken:RBRACE('}')
@@ -0,0 +1,9 @@
PsiJavaFile:ArrayInitializer2.java
PsiArrayInitializerExpression:{ 1, }
PsiJavaToken:LBRACE('{')
PsiWhiteSpace(' ')
PsiLiteralExpression:1
PsiJavaToken:INTEGER_LITERAL('1')
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiJavaToken:RBRACE('}')
@@ -0,0 +1,11 @@
PsiJavaFile:ArrayInitializer3.java
PsiArrayInitializerExpression:{ 1,2 }
PsiJavaToken:LBRACE('{')
PsiWhiteSpace(' ')
PsiLiteralExpression:1
PsiJavaToken:INTEGER_LITERAL('1')
PsiJavaToken:COMMA(',')
PsiLiteralExpression:2
PsiJavaToken:INTEGER_LITERAL('2')
PsiWhiteSpace(' ')
PsiJavaToken:RBRACE('}')
@@ -0,0 +1,13 @@
PsiJavaFile:ArrayInitializer4.java
PsiArrayInitializerExpression:{ 1 2 }
PsiJavaToken:LBRACE('{')
PsiWhiteSpace(' ')
PsiLiteralExpression:1
PsiJavaToken:INTEGER_LITERAL('1')
PsiErrorElement:',' expected
<empty list>
PsiWhiteSpace(' ')
PsiLiteralExpression:2
PsiJavaToken:INTEGER_LITERAL('2')
PsiWhiteSpace(' ')
PsiJavaToken:RBRACE('}')
@@ -0,0 +1,12 @@
PsiJavaFile:ArrayInitializer5.java
PsiArrayInitializerExpression:{ { }
PsiJavaToken:LBRACE('{')
PsiWhiteSpace(' ')
PsiArrayInitializerExpression:{ }
PsiJavaToken:LBRACE('{')
PsiWhiteSpace(' ')
PsiJavaToken:RBRACE('}')
PsiErrorElement:',' expected
<empty list>
PsiErrorElement:'}' expected
<empty list>
@@ -0,0 +1,7 @@
PsiJavaFile:ArrayInitializer6.java
PsiArrayInitializerExpression:{ , }
PsiJavaToken:LBRACE('{')
PsiWhiteSpace(' ')
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiJavaToken:RBRACE('}')
@@ -0,0 +1,16 @@
PsiJavaFile:ArrayInitializer7.java
PsiArrayInitializerExpression:{ , , 7 }
PsiJavaToken:LBRACE('{')
PsiErrorElement:Expression expected
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:COMMA(',')
PsiErrorElement:Expression expected
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiLiteralExpression:7
PsiJavaToken:INTEGER_LITERAL('7')
PsiWhiteSpace(' ')
PsiJavaToken:RBRACE('}')
@@ -0,0 +1,11 @@
PsiJavaFile:Assignment0.java
PsiAssignmentExpression:a = 0
PsiReferenceExpression:a
PsiReferenceParameterList
<empty list>
PsiIdentifier:a('a')
PsiWhiteSpace(' ')
PsiJavaToken:EQ('=')
PsiWhiteSpace(' ')
PsiLiteralExpression:0
PsiJavaToken:INTEGER_LITERAL('0')
@@ -0,0 +1,10 @@
PsiJavaFile:Assignment1.java
PsiAssignmentExpression:a =
PsiReferenceExpression:a
PsiReferenceParameterList
<empty list>
PsiIdentifier:a('a')
PsiWhiteSpace(' ')
PsiJavaToken:EQ('=')
PsiErrorElement:Expression expected
<empty list>
@@ -0,0 +1,13 @@
PsiJavaFile:Cast.java
PsiTypeCastExpression:(Type)var
PsiJavaToken:LPARENTH('(')
PsiTypeElement:Type
PsiJavaCodeReferenceElement:Type
PsiIdentifier:Type('Type')
PsiReferenceParameterList
<empty list>
PsiJavaToken:RPARENTH(')')
PsiReferenceExpression:var
PsiReferenceParameterList
<empty list>
PsiIdentifier:var('var')
@@ -0,0 +1,16 @@
PsiJavaFile:Cond0.java
PsiConditionalExpression:cond ? true : false
PsiReferenceExpression:cond
PsiReferenceParameterList
<empty list>
PsiIdentifier:cond('cond')
PsiWhiteSpace(' ')
PsiJavaToken:QUEST('?')
PsiWhiteSpace(' ')
PsiLiteralExpression:true
PsiJavaToken:TRUE_KEYWORD('true')
PsiWhiteSpace(' ')
PsiJavaToken:COLON(':')
PsiWhiteSpace(' ')
PsiLiteralExpression:false
PsiJavaToken:FALSE_KEYWORD('false')
@@ -0,0 +1,10 @@
PsiJavaFile:Cond1.java
PsiConditionalExpression:cond ?
PsiReferenceExpression:cond
PsiReferenceParameterList
<empty list>
PsiIdentifier:cond('cond')
PsiWhiteSpace(' ')
PsiJavaToken:QUEST('?')
PsiErrorElement:Expression expected
<empty list>
@@ -0,0 +1,13 @@
PsiJavaFile:Cond2.java
PsiConditionalExpression:cond ? true
PsiReferenceExpression:cond
PsiReferenceParameterList
<empty list>
PsiIdentifier:cond('cond')
PsiWhiteSpace(' ')
PsiJavaToken:QUEST('?')
PsiWhiteSpace(' ')
PsiLiteralExpression:true
PsiJavaToken:TRUE_KEYWORD('true')
PsiErrorElement:':' expected
<empty list>
@@ -0,0 +1,15 @@
PsiJavaFile:Cond3.java
PsiConditionalExpression:cond ? true :
PsiReferenceExpression:cond
PsiReferenceParameterList
<empty list>
PsiIdentifier:cond('cond')
PsiWhiteSpace(' ')
PsiJavaToken:QUEST('?')
PsiWhiteSpace(' ')
PsiLiteralExpression:true
PsiJavaToken:TRUE_KEYWORD('true')
PsiWhiteSpace(' ')
PsiJavaToken:COLON(':')
PsiErrorElement:Expression expected
<empty list>
@@ -0,0 +1,21 @@
PsiJavaFile:CondOr0.java
PsiBinaryExpression:a || b || c
PsiBinaryExpression:a || b
PsiReferenceExpression:a
PsiReferenceParameterList
<empty list>
PsiIdentifier:a('a')
PsiWhiteSpace(' ')
PsiJavaToken:OROR('||')
PsiWhiteSpace(' ')
PsiReferenceExpression:b
PsiReferenceParameterList
<empty list>
PsiIdentifier:b('b')
PsiWhiteSpace(' ')
PsiJavaToken:OROR('||')
PsiWhiteSpace(' ')
PsiReferenceExpression:c
PsiReferenceParameterList
<empty list>
PsiIdentifier:c('c')
@@ -0,0 +1,10 @@
PsiJavaFile:CondOr1.java
PsiBinaryExpression:a ||
PsiReferenceExpression:a
PsiReferenceParameterList
<empty list>
PsiIdentifier:a('a')
PsiWhiteSpace(' ')
PsiJavaToken:OROR('||')
PsiErrorElement:Expression expected
<empty list>
@@ -0,0 +1,14 @@
PsiJavaFile:ExprList0.java
PsiMethodCallExpression:f(1,2)
PsiReferenceExpression:f
PsiReferenceParameterList
<empty list>
PsiIdentifier:f('f')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiLiteralExpression:1
PsiJavaToken:INTEGER_LITERAL('1')
PsiJavaToken:COMMA(',')
PsiLiteralExpression:2
PsiJavaToken:INTEGER_LITERAL('2')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,10 @@
PsiJavaFile:ExprList1.java
PsiMethodCallExpression:f(
PsiReferenceExpression:f
PsiReferenceParameterList
<empty list>
PsiIdentifier:f('f')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiErrorElement:')' expected
<empty list>
@@ -0,0 +1,12 @@
PsiJavaFile:ExprList2.java
PsiMethodCallExpression:f(1
PsiReferenceExpression:f
PsiReferenceParameterList
<empty list>
PsiIdentifier:f('f')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiLiteralExpression:1
PsiJavaToken:INTEGER_LITERAL('1')
PsiErrorElement:')' expected
<empty list>
@@ -0,0 +1,17 @@
PsiJavaFile:ExprList3.java
PsiMethodCallExpression:f(1,
PsiReferenceExpression:f
PsiReferenceParameterList
<empty list>
PsiIdentifier:f('f')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiLiteralExpression:1
PsiJavaToken:INTEGER_LITERAL('1')
PsiJavaToken:COMMA(',')
PsiErrorElement:Expression expected
<empty list>
PsiExpression(empty)
<empty list>
PsiErrorElement:')' expected
<empty list>
@@ -0,0 +1,16 @@
PsiJavaFile:ExprList4.java
PsiMethodCallExpression:f(1,)
PsiReferenceExpression:f
PsiReferenceParameterList
<empty list>
PsiIdentifier:f('f')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiLiteralExpression:1
PsiJavaToken:INTEGER_LITERAL('1')
PsiJavaToken:COMMA(',')
PsiErrorElement:Expression expected
<empty list>
PsiExpression(empty)
<empty list>
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,19 @@
PsiJavaFile:ExprList5.java
PsiMethodCallExpression:f(1,,2)
PsiReferenceExpression:f
PsiReferenceParameterList
<empty list>
PsiIdentifier:f('f')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiLiteralExpression:1
PsiJavaToken:INTEGER_LITERAL('1')
PsiJavaToken:COMMA(',')
PsiErrorElement:Expression expected
<empty list>
PsiExpression(empty)
<empty list>
PsiJavaToken:COMMA(',')
PsiLiteralExpression:2
PsiJavaToken:INTEGER_LITERAL('2')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,16 @@
PsiJavaFile:ExprList6.java
PsiMethodCallExpression:f(,2)
PsiReferenceExpression:f
PsiReferenceParameterList
<empty list>
PsiIdentifier:f('f')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiErrorElement:Expression expected
<empty list>
PsiExpression(empty)
<empty list>
PsiJavaToken:COMMA(',')
PsiLiteralExpression:2
PsiJavaToken:INTEGER_LITERAL('2')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,17 @@
PsiJavaFile:GE.java
PsiAssignmentExpression:x >>>= 8 >> 2
PsiReferenceExpression:x
PsiReferenceParameterList
<empty list>
PsiIdentifier:x('x')
PsiWhiteSpace(' ')
PsiJavaToken:GTGTGTEQ('>>>=')
PsiWhiteSpace(' ')
PsiBinaryExpression:8 >> 2
PsiLiteralExpression:8
PsiJavaToken:INTEGER_LITERAL('8')
PsiWhiteSpace(' ')
PsiJavaToken:GTGT('>>')
PsiWhiteSpace(' ')
PsiLiteralExpression:2
PsiJavaToken:INTEGER_LITERAL('2')
@@ -0,0 +1,24 @@
PsiJavaFile:IllegalWildcard.java
PsiConditionalExpression:this.<?
PsiReferenceExpression:this.<
PsiThisExpression:this
PsiReferenceParameterList
<empty list>
PsiKeyword:this('this')
PsiJavaToken:DOT('.')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiErrorElement:Identifier expected
<empty list>
PsiErrorElement:'>' or ',' expected.
<empty list>
PsiErrorElement:Identifier expected
<empty list>
PsiJavaToken:QUEST('?')
PsiErrorElement:Expression expected
<empty list>
PsiErrorElement:Unparsed tokens
PsiJavaToken:GT('>')
PsiIdentifier:foo('foo')
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,26 @@
PsiJavaFile:IncompleteCast.java
PsiMethodCallExpression:f((ArrayList<String>) )
PsiReferenceExpression:f
PsiReferenceParameterList
<empty list>
PsiIdentifier:f('f')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiTypeCastExpression:(ArrayList<String>)
PsiJavaToken:LPARENTH('(')
PsiTypeElement:ArrayList<String>
PsiJavaCodeReferenceElement:ArrayList<String>
PsiIdentifier:ArrayList('ArrayList')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:String
PsiJavaCodeReferenceElement:String
PsiIdentifier:String('String')
PsiReferenceParameterList
<empty list>
PsiJavaToken:GT('>')
PsiJavaToken:RPARENTH(')')
PsiErrorElement:Expression expected
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,14 @@
PsiJavaFile:InstanceOf0.java
PsiInstanceofExpression:a instanceof String
PsiReferenceExpression:a
PsiReferenceParameterList
<empty list>
PsiIdentifier:a('a')
PsiWhiteSpace(' ')
PsiKeyword:instanceof('instanceof')
PsiWhiteSpace(' ')
PsiTypeElement:String
PsiJavaCodeReferenceElement:String
PsiIdentifier:String('String')
PsiReferenceParameterList
<empty list>
@@ -0,0 +1,10 @@
PsiJavaFile:InstanceOf1.java
PsiInstanceofExpression:a instanceof
PsiReferenceExpression:a
PsiReferenceParameterList
<empty list>
PsiIdentifier:a('a')
PsiWhiteSpace(' ')
PsiKeyword:instanceof('instanceof')
PsiErrorElement:Type expected
<empty list>
@@ -0,0 +1,13 @@
PsiJavaFile:New0.java
PsiNewExpression:new A()
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:A
PsiIdentifier:A('A')
PsiReferenceParameterList
<empty list>
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,16 @@
PsiJavaFile:New1.java
PsiNewExpression:new A[1][]
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:A
PsiIdentifier:A('A')
PsiReferenceParameterList
<empty list>
PsiJavaToken:LBRACKET('[')
PsiLiteralExpression:1
PsiJavaToken:INTEGER_LITERAL('1')
PsiJavaToken:RBRACKET(']')
PsiJavaToken:LBRACKET('[')
PsiJavaToken:RBRACKET(']')
@@ -0,0 +1,12 @@
PsiJavaFile:New10.java
PsiNewExpression:new int
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiKeyword:int('int')
PsiErrorElement:'[' expected
<empty list>
PsiErrorElement:Unparsed tokens
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,15 @@
PsiJavaFile:New11.java
PsiNewExpression:new String[0
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:String
PsiIdentifier:String('String')
PsiReferenceParameterList
<empty list>
PsiJavaToken:LBRACKET('[')
PsiLiteralExpression:0
PsiJavaToken:INTEGER_LITERAL('0')
PsiErrorElement:']' expected
<empty list>
@@ -0,0 +1,15 @@
PsiJavaFile:New12.java
PsiNewExpression:new int[1][2]
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiKeyword:int('int')
PsiJavaToken:LBRACKET('[')
PsiLiteralExpression:1
PsiJavaToken:INTEGER_LITERAL('1')
PsiJavaToken:RBRACKET(']')
PsiJavaToken:LBRACKET('[')
PsiLiteralExpression:2
PsiJavaToken:INTEGER_LITERAL('2')
PsiJavaToken:RBRACKET(']')
@@ -0,0 +1,19 @@
PsiJavaFile:New13.java
PsiNewExpression:new int[1][][
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiKeyword:int('int')
PsiJavaToken:LBRACKET('[')
PsiLiteralExpression:1
PsiJavaToken:INTEGER_LITERAL('1')
PsiJavaToken:RBRACKET(']')
PsiJavaToken:LBRACKET('[')
PsiJavaToken:RBRACKET(']')
PsiJavaToken:LBRACKET('[')
PsiErrorElement:']' expected
<empty list>
PsiErrorElement:Unparsed tokens
PsiJavaToken:INTEGER_LITERAL('2')
PsiJavaToken:RBRACKET(']')
@@ -0,0 +1,18 @@
PsiJavaFile:New14.java
PsiNewExpression:Q.new A()
PsiReferenceExpression:Q
PsiReferenceParameterList
<empty list>
PsiIdentifier:Q('Q')
PsiJavaToken:DOT('.')
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:A
PsiIdentifier:A('A')
PsiReferenceParameterList
<empty list>
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,14 @@
PsiJavaFile:New2.java
PsiNewExpression:new A[]
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:A
PsiIdentifier:A('A')
PsiReferenceParameterList
<empty list>
PsiJavaToken:LBRACKET('[')
PsiJavaToken:RBRACKET(']')
PsiErrorElement:Array initializer expected
<empty list>
@@ -0,0 +1,18 @@
PsiJavaFile:New3.java
PsiNewExpression:new A[][
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:A
PsiIdentifier:A('A')
PsiReferenceParameterList
<empty list>
PsiJavaToken:LBRACKET('[')
PsiJavaToken:RBRACKET(']')
PsiJavaToken:LBRACKET('[')
PsiErrorElement:']' expected
<empty list>
PsiErrorElement:Unparsed tokens
PsiJavaToken:INTEGER_LITERAL('1')
PsiJavaToken:RBRACKET(']')
@@ -0,0 +1,19 @@
PsiJavaFile:New4.java
PsiNewExpression:new A[][]{null}
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:A
PsiIdentifier:A('A')
PsiReferenceParameterList
<empty list>
PsiJavaToken:LBRACKET('[')
PsiJavaToken:RBRACKET(']')
PsiJavaToken:LBRACKET('[')
PsiJavaToken:RBRACKET(']')
PsiArrayInitializerExpression:{null}
PsiJavaToken:LBRACE('{')
PsiLiteralExpression:null
PsiJavaToken:NULL_KEYWORD('null')
PsiJavaToken:RBRACE('}')
@@ -0,0 +1,18 @@
PsiJavaFile:New5.java
PsiNewExpression:new A[1]
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:A
PsiIdentifier:A('A')
PsiReferenceParameterList
<empty list>
PsiJavaToken:LBRACKET('[')
PsiLiteralExpression:1
PsiJavaToken:INTEGER_LITERAL('1')
PsiJavaToken:RBRACKET(']')
PsiErrorElement:Unparsed tokens
PsiJavaToken:LBRACE('{')
PsiJavaToken:NULL_KEYWORD('null')
PsiJavaToken:RBRACE('}')
@@ -0,0 +1,7 @@
PsiJavaFile:New6.java
PsiNewExpression:new
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiErrorElement:Identifier expected
<empty list>
@@ -0,0 +1,12 @@
PsiJavaFile:New7.java
PsiNewExpression:new A
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:A
PsiIdentifier:A('A')
PsiReferenceParameterList
<empty list>
PsiErrorElement:'(' or '[' expected
<empty list>
@@ -0,0 +1,13 @@
PsiJavaFile:New8.java
PsiNewExpression:new A[
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:A
PsiIdentifier:A('A')
PsiReferenceParameterList
<empty list>
PsiJavaToken:LBRACKET('[')
PsiErrorElement:']' expected
<empty list>
@@ -0,0 +1,9 @@
PsiJavaFile:New9.java
PsiNewExpression:new int
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiKeyword:int('int')
PsiErrorElement:'[' expected
<empty list>
@@ -0,0 +1,15 @@
PsiJavaFile:NewInExprList.java
PsiMethodCallExpression:call(new)
PsiReferenceExpression:call
PsiReferenceParameterList
<empty list>
PsiIdentifier:call('call')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiNewExpression:new
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiErrorElement:Identifier expected
<empty list>
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,9 @@
PsiJavaFile:Not0.java
PsiPrefixExpression:!!a
PsiJavaToken:EXCL('!')
PsiPrefixExpression:!a
PsiJavaToken:EXCL('!')
PsiReferenceExpression:a
PsiReferenceParameterList
<empty list>
PsiIdentifier:a('a')
@@ -0,0 +1,5 @@
PsiJavaFile:Not1.java
PsiPrefixExpression:!
PsiJavaToken:EXCL('!')
PsiErrorElement:Expression expected
<empty list>
@@ -0,0 +1,21 @@
PsiJavaFile:Or0.java
PsiBinaryExpression:a | b | c
PsiBinaryExpression:a | b
PsiReferenceExpression:a
PsiReferenceParameterList
<empty list>
PsiIdentifier:a('a')
PsiWhiteSpace(' ')
PsiJavaToken:OR('|')
PsiWhiteSpace(' ')
PsiReferenceExpression:b
PsiReferenceParameterList
<empty list>
PsiIdentifier:b('b')
PsiWhiteSpace(' ')
PsiJavaToken:OR('|')
PsiWhiteSpace(' ')
PsiReferenceExpression:c
PsiReferenceParameterList
<empty list>
PsiIdentifier:c('c')
@@ -0,0 +1,10 @@
PsiJavaFile:Or1.java
PsiBinaryExpression:a |
PsiReferenceExpression:a
PsiReferenceParameterList
<empty list>
PsiIdentifier:a('a')
PsiWhiteSpace(' ')
PsiJavaToken:OR('|')
PsiErrorElement:Expression expected
<empty list>
@@ -0,0 +1,8 @@
PsiJavaFile:Parenth0.java
PsiParenthesizedExpression:(c)
PsiJavaToken:LPARENTH('(')
PsiReferenceExpression:c
PsiReferenceParameterList
<empty list>
PsiIdentifier:c('c')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,15 @@
PsiJavaFile:Parenth1.java
PsiPostfixExpression:(this).f--
PsiReferenceExpression:(this).f
PsiParenthesizedExpression:(this)
PsiJavaToken:LPARENTH('(')
PsiThisExpression:this
PsiReferenceParameterList
<empty list>
PsiKeyword:this('this')
PsiJavaToken:RPARENTH(')')
PsiJavaToken:DOT('.')
PsiReferenceParameterList
<empty list>
PsiIdentifier:f('f')
PsiJavaToken:MINUSMINUS('--')
@@ -0,0 +1,22 @@
PsiJavaFile:PinesInReferenceExpression0.java
PsiMethodCallExpression:Collections.<String>sort(null)
PsiReferenceExpression:Collections.<String>sort
PsiReferenceExpression:Collections
PsiReferenceParameterList
<empty list>
PsiIdentifier:Collections('Collections')
PsiJavaToken:DOT('.')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:String
PsiJavaCodeReferenceElement:String
PsiIdentifier:String('String')
PsiReferenceParameterList
<empty list>
PsiJavaToken:GT('>')
PsiIdentifier:sort('sort')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiLiteralExpression:null
PsiJavaToken:NULL_KEYWORD('null')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,22 @@
PsiJavaFile:PinesInReferenceExpression1.java
PsiMethodCallExpression:this.<String>sort(null)
PsiReferenceExpression:this.<String>sort
PsiThisExpression:this
PsiReferenceParameterList
<empty list>
PsiKeyword:this('this')
PsiJavaToken:DOT('.')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:String
PsiJavaCodeReferenceElement:String
PsiIdentifier:String('String')
PsiReferenceParameterList
<empty list>
PsiJavaToken:GT('>')
PsiIdentifier:sort('sort')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiLiteralExpression:null
PsiJavaToken:NULL_KEYWORD('null')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,6 @@
PsiJavaFile:PrimitiveClassObjectAccess.java
PsiClassObjectAccessExpression:int.class
PsiTypeElement:int
PsiKeyword:int('int')
PsiJavaToken:DOT('.')
PsiKeyword:class('class')
@@ -0,0 +1,22 @@
PsiJavaFile:QualifiedSuperMethodCall0.java
PsiMethodCallExpression:new D().super(0)
PsiReferenceExpression:new D().super
PsiNewExpression:new D()
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:D
PsiIdentifier:D('D')
PsiReferenceParameterList
<empty list>
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiJavaToken:DOT('.')
PsiKeyword:super('super')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiLiteralExpression:0
PsiJavaToken:INTEGER_LITERAL('0')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,14 @@
PsiJavaFile:QualifiedSuperMethodCall1.java
PsiMethodCallExpression:d.super(0)
PsiReferenceExpression:d.super
PsiReferenceExpression:d
PsiReferenceParameterList
<empty list>
PsiIdentifier:d('d')
PsiJavaToken:DOT('.')
PsiKeyword:super('super')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiLiteralExpression:0
PsiJavaToken:INTEGER_LITERAL('0')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,11 @@
PsiJavaFile:ShiftRight.java
PsiAssignmentExpression:x >>= 2
PsiReferenceExpression:x
PsiReferenceParameterList
<empty list>
PsiIdentifier:x('x')
PsiWhiteSpace(' ')
PsiJavaToken:GTGTEQ('>>=')
PsiWhiteSpace(' ')
PsiLiteralExpression:2
PsiJavaToken:INTEGER_LITERAL('2')
@@ -0,0 +1,9 @@
PsiJavaFile:SuperMethodCallTypeParameterList.java
PsiMethodCallExpression:super()
PsiReferenceExpression:super
PsiReferenceParameterList
<empty list>
PsiKeyword:super('super')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
@@ -0,0 +1,5 @@
PsiJavaFile:Reference0.java
PsiJavaCodeReferenceElement:a
PsiIdentifier:a('a')
PsiReferenceParameterList
<empty list>
@@ -0,0 +1,9 @@
PsiJavaFile:Reference1.java
PsiJavaCodeReferenceElement:a.
PsiJavaCodeReferenceElement:a
PsiIdentifier:a('a')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiErrorElement:Identifier expected
<empty list>
@@ -0,0 +1,10 @@
PsiJavaFile:Reference2.java
PsiJavaCodeReferenceElement:a.b
PsiJavaCodeReferenceElement:a
PsiIdentifier:a('a')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiIdentifier:b('b')
PsiReferenceParameterList
<empty list>
@@ -0,0 +1,3 @@
PsiJavaFile:Type0.java
PsiTypeElement:int
PsiKeyword:int('int')
@@ -0,0 +1,11 @@
PsiJavaFile:Type1.java
PsiTypeElement:a.b
PsiJavaCodeReferenceElement:a.b
PsiJavaCodeReferenceElement:a
PsiIdentifier:a('a')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiIdentifier:b('b')
PsiReferenceParameterList
<empty list>
@@ -0,0 +1,6 @@
PsiJavaFile:Type2.java
PsiTypeElement:int[]
PsiTypeElement:int
PsiKeyword:int('int')
PsiJavaToken:LBRACKET('[')
PsiJavaToken:RBRACKET(']')
@@ -0,0 +1,9 @@
PsiJavaFile:Type3.java
PsiTypeElement:int[]
PsiTypeElement:int
PsiKeyword:int('int')
PsiJavaToken:LBRACKET('[')
PsiJavaToken:RBRACKET(']')
PsiJavaToken:LBRACKET('[')
PsiErrorElement:']' expected
<empty list>
@@ -0,0 +1,24 @@
PsiJavaFile:Type4.java
PsiTypeElement:Map<String,List<String>>
PsiJavaCodeReferenceElement:Map<String,List<String>>
PsiIdentifier:Map('Map')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:String
PsiJavaCodeReferenceElement:String
PsiIdentifier:String('String')
PsiReferenceParameterList
<empty list>
PsiJavaToken:COMMA(',')
PsiTypeElement:List<String>
PsiJavaCodeReferenceElement:List<String>
PsiIdentifier:List('List')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:String
PsiJavaCodeReferenceElement:String
PsiIdentifier:String('String')
PsiReferenceParameterList
<empty list>
PsiJavaToken:GT('>')
PsiJavaToken:GT('>')
@@ -0,0 +1,8 @@
PsiJavaFile:TypeParams0.java
PsiTypeParameterList
PsiJavaToken:LT('<')
PsiTypeParameter:T
PsiIdentifier:T('T')
PsiElement(EXTENDS_BOUND_LIST)
<empty list>
PsiJavaToken:GT('>')
@@ -0,0 +1,14 @@
PsiJavaFile:TypeParams1.java
PsiTypeParameterList
PsiJavaToken:LT('<')
PsiTypeParameter:T
PsiIdentifier:T('T')
PsiElement(EXTENDS_BOUND_LIST)
<empty list>
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiTypeParameter:U
PsiIdentifier:U('U')
PsiElement(EXTENDS_BOUND_LIST)
<empty list>
PsiJavaToken:GT('>')
@@ -0,0 +1,9 @@
PsiJavaFile:TypeParams2.java
PsiTypeParameterList
PsiJavaToken:LT('<')
PsiTypeParameter:T
PsiIdentifier:T('T')
PsiElement(EXTENDS_BOUND_LIST)
<empty list>
PsiErrorElement:'>' expected.
<empty list>
@@ -0,0 +1,11 @@
PsiJavaFile:TypeParams3.java
PsiTypeParameterList
PsiJavaToken:LT('<')
PsiTypeParameter:T
PsiIdentifier:T('T')
PsiElement(EXTENDS_BOUND_LIST)
<empty list>
PsiWhiteSpace(' ')
PsiErrorElement:Unexpected identifier
PsiIdentifier:hack('hack')
PsiJavaToken:GT('>')
@@ -0,0 +1,12 @@
PsiJavaFile:TypeParams4.java
PsiTypeParameterList
PsiJavaToken:LT('<')
PsiTypeParameter:T
PsiIdentifier:T('T')
PsiElement(EXTENDS_BOUND_LIST)
<empty list>
PsiErrorElement:'>' expected.
<empty list>
PsiWhiteSpace(' ')
PsiErrorElement:Unparsed tokens
PsiIdentifier:hack('hack')
@@ -0,0 +1,27 @@
PsiJavaFile:TypeParams5.java
PsiTypeParameterList
PsiJavaToken:LT('<')
PsiTypeParameter:T
PsiIdentifier:T('T')
PsiWhiteSpace(' ')
PsiKeyword:extends('extends')
PsiWhiteSpace(' ')
PsiElement(EXTENDS_BOUND_LIST)
PsiJavaCodeReferenceElement:X
PsiIdentifier:X('X')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:AND('&')
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:Y<Z>
PsiIdentifier:Y('Y')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:Z
PsiJavaCodeReferenceElement:Z
PsiIdentifier:Z('Z')
PsiReferenceParameterList
<empty list>
PsiJavaToken:GT('>')
PsiJavaToken:GT('>')
@@ -0,0 +1,15 @@
PsiJavaFile:TypeParams6.java
PsiTypeParameterList
PsiJavaToken:LT('<')
PsiTypeParameter:T
PsiIdentifier:T('T')
PsiElement(EXTENDS_BOUND_LIST)
<empty list>
PsiErrorElement:'>' expected.
<empty list>
PsiWhiteSpace(' ')
PsiErrorElement:Unparsed tokens
PsiIdentifier:supers('supers')
PsiWhiteSpace(' ')
PsiIdentifier:X('X')
PsiJavaToken:GT('>')
@@ -0,0 +1,20 @@
PsiJavaFile:TypeParams7.java
PsiTypeParameterList
PsiJavaToken:LT('<')
PsiTypeParameter:T
PsiIdentifier:T('T')
PsiWhiteSpace(' ')
PsiKeyword:extends('extends')
PsiWhiteSpace(' ')
PsiElement(EXTENDS_BOUND_LIST)
PsiJavaCodeReferenceElement:X
PsiIdentifier:X('X')
PsiReferenceParameterList
<empty list>
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiTypeParameter:Y
PsiIdentifier:Y('Y')
PsiElement(EXTENDS_BOUND_LIST)
<empty list>
PsiJavaToken:GT('>')