New Java parser - diamonds support

This commit is contained in:
Roman Shevchenko
2010-09-01 21:45:09 +04:00
parent 2f3c82c575
commit 593c0519f5
11 changed files with 114 additions and 32 deletions
@@ -0,0 +1,5 @@
class Foo {
{
new A<>();
}
}
@@ -0,0 +1,46 @@
PsiJavaFile:New15.java
PsiImportList
<empty list>
PsiClass:Foo
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:Foo('Foo')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiClassInitializer
PsiModifierList:
<empty list>
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiExpressionStatement
PsiNewExpression:new A<>()
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:A<>
PsiIdentifier:A('A')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:
PsiElement(DIAMOND_TYPE)
<empty list>
PsiJavaToken:GT('>')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')
@@ -0,0 +1,10 @@
PsiJavaFile:Type7.java
PsiTypeElement:Diamond<>
PsiJavaCodeReferenceElement:Diamond<>
PsiIdentifier:Diamond('Diamond')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:
PsiElement(DIAMOND_TYPE)
<empty list>
PsiJavaToken:GT('>')