Java parser tests moved to CE

This commit is contained in:
Roman Shevchenko
2010-08-04 15:28:43 +04:00
parent 05be23db87
commit 5939f7db91
576 changed files with 269982 additions and 2 deletions

View File

@@ -0,0 +1 @@
@Endorsers({"Children", "Unscrupulous dentisits"}) public class Lollilop {}

View File

@@ -0,0 +1,39 @@
PsiJavaFile:Array.java
PsiImportList
<empty list>
PsiClass:Lollilop
PsiModifierList:@Endorsers({"Children", "Unscrupulous dentisits"}) public
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Endorsers
PsiIdentifier:Endorsers('Endorsers')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
PsiJavaToken:LPARENTH('(')
PsiNameValuePair
PsiArrayInitializerMemberValue:{"Children", "Unscrupulous dentisits"}
PsiJavaToken:LBRACE('{')
PsiLiteralExpression:"Children"
PsiJavaToken:STRING_LITERAL('"Children"')
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiLiteralExpression:"Unscrupulous dentisits"
PsiJavaToken:STRING_LITERAL('"Unscrupulous dentisits"')
PsiJavaToken:RBRACE('}')
PsiJavaToken:RPARENTH(')')
PsiWhiteSpace(' ')
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:Lollilop('Lollilop')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
class Fantasy {
@Author(first="Eugene", second="Wampirchik") void compose () {}
}

View File

@@ -0,0 +1,60 @@
PsiJavaFile:Complex.java
PsiImportList
<empty list>
PsiClass:Fantasy
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:Fantasy('Fantasy')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiMethod:compose
PsiModifierList:@Author(first="Eugene", second="Wampirchik")
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(')')
PsiTypeParameterList
<empty list>
PsiWhiteSpace(' ')
PsiTypeElement:void
PsiKeyword:void('void')
PsiWhiteSpace(' ')
PsiIdentifier:compose('compose')
PsiWhiteSpace(' ')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace(' \n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,8 @@
@Preliminary(A.B
#) public class TimeTravel {}
@Preliminary(a=A.B
#) public class TimeTravel {}
@Preliminary(a=A.B
#, b=c) public class TimeTravel {}

View File

@@ -0,0 +1,141 @@
PsiJavaFile:EnumSmartTypeCompletion.java
PsiImportList
<empty list>
PsiClass:TimeTravel
PsiModifierList:@Preliminary(A.B
#) public
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Preliminary
PsiIdentifier:Preliminary('Preliminary')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
PsiJavaToken:LPARENTH('(')
PsiNameValuePair
PsiReferenceExpression:A.B
PsiReferenceExpression:A
PsiReferenceParameterList
<empty list>
PsiIdentifier:A('A')
PsiJavaToken:DOT('.')
PsiReferenceParameterList
<empty list>
PsiIdentifier:B('B')
PsiErrorElement:',' or ')' expected
<empty list>
PsiWhiteSpace('\n')
PsiElement(BAD_CHARACTER)('#')
PsiJavaToken:RPARENTH(')')
PsiWhiteSpace(' ')
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:TimeTravel('TimeTravel')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n\n')
PsiClass:TimeTravel
PsiModifierList:@Preliminary(a=A.B
#) public
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Preliminary
PsiIdentifier:Preliminary('Preliminary')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
PsiJavaToken:LPARENTH('(')
PsiNameValuePair
PsiIdentifier:a('a')
PsiJavaToken:EQ('=')
PsiReferenceExpression:A.B
PsiReferenceExpression:A
PsiReferenceParameterList
<empty list>
PsiIdentifier:A('A')
PsiJavaToken:DOT('.')
PsiReferenceParameterList
<empty list>
PsiIdentifier:B('B')
PsiErrorElement:',' or ')' expected
<empty list>
PsiWhiteSpace('\n')
PsiElement(BAD_CHARACTER)('#')
PsiJavaToken:RPARENTH(')')
PsiWhiteSpace(' ')
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:TimeTravel('TimeTravel')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n\n')
PsiClass:TimeTravel
PsiModifierList:@Preliminary(a=A.B
#, b=c) public
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Preliminary
PsiIdentifier:Preliminary('Preliminary')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
PsiJavaToken:LPARENTH('(')
PsiNameValuePair
PsiIdentifier:a('a')
PsiJavaToken:EQ('=')
PsiReferenceExpression:A.B
PsiReferenceExpression:A
PsiReferenceParameterList
<empty list>
PsiIdentifier:A('A')
PsiJavaToken:DOT('.')
PsiReferenceParameterList
<empty list>
PsiIdentifier:B('B')
PsiErrorElement:',' or ')' expected
<empty list>
PsiWhiteSpace('\n')
PsiElement(BAD_CHARACTER)('#')
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiNameValuePair
PsiIdentifier:b('b')
PsiJavaToken:EQ('=')
PsiReferenceExpression:c
PsiReferenceParameterList
<empty list>
PsiIdentifier:c('c')
PsiJavaToken:RPARENTH(')')
PsiWhiteSpace(' ')
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:TimeTravel('TimeTravel')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1 @@
@Preliminary public class TimeTravel {}

View File

@@ -0,0 +1,28 @@
PsiJavaFile:Marker.java
PsiImportList
<empty list>
PsiClass:TimeTravel
PsiModifierList:@Preliminary public
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Preliminary
PsiIdentifier:Preliminary('Preliminary')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:TimeTravel('TimeTravel')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1 @@
@Preliminary public @Other(name=value) class TimeTravel {}

View File

@@ -0,0 +1,45 @@
PsiJavaFile:Multiple.java
PsiImportList
<empty list>
PsiClass:TimeTravel
PsiModifierList:@Preliminary public @Other(name=value)
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Preliminary
PsiIdentifier:Preliminary('Preliminary')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiKeyword:public('public')
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(')')
PsiWhiteSpace(' ')
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:TimeTravel('TimeTravel')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
class Fantasy {
@Author(@Name(first="Eugene", second="Wampirchik")) void compose () {}
}

View File

@@ -0,0 +1,70 @@
PsiJavaFile:Nested.java
PsiImportList
<empty list>
PsiClass:Fantasy
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:Fantasy('Fantasy')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiMethod:compose
PsiModifierList:@Author(@Name(first="Eugene", second="Wampirchik"))
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(')')
PsiTypeParameterList
<empty list>
PsiWhiteSpace(' ')
PsiTypeElement:void
PsiKeyword:void('void')
PsiWhiteSpace(' ')
PsiIdentifier:compose('compose')
PsiWhiteSpace(' ')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace(' \n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1 @@
@Annotation package P;

View File

@@ -0,0 +1,21 @@
PsiJavaFile:PackageAnnotation.java
PsiPackageStatement:P
PsiModifierList:@Annotation
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Annotation
PsiIdentifier:Annotation('Annotation')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiKeyword:package('package')
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:P
PsiIdentifier:P('P')
PsiReferenceParameterList
<empty list>
PsiJavaToken:SEMICOLON(';')
PsiImportList
<empty list>

View File

@@ -0,0 +1,4 @@
public class Annotated {
void foo (@Annotation(value=77) int param) {
}
}

View File

@@ -0,0 +1,62 @@
PsiJavaFile:ParameterAnnotation.java
PsiImportList
<empty list>
PsiClass:Annotated
PsiModifierList:public
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:Annotated('Annotated')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiMethod:foo
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiTypeElement:void
PsiKeyword:void('void')
PsiWhiteSpace(' ')
PsiIdentifier:foo('foo')
PsiWhiteSpace(' ')
PsiParameterList:(@Annotation(value=77) int param)
PsiJavaToken:LPARENTH('(')
PsiParameter:param
PsiModifierList:@Annotation(value=77)
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Annotation
PsiIdentifier:Annotation('Annotation')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
PsiJavaToken:LPARENTH('(')
PsiNameValuePair
PsiIdentifier:value('value')
PsiJavaToken:EQ('=')
PsiLiteralExpression:77
PsiJavaToken:INTEGER_LITERAL('77')
PsiJavaToken:RPARENTH(')')
PsiWhiteSpace(' ')
PsiTypeElement:int
PsiKeyword:int('int')
PsiWhiteSpace(' ')
PsiIdentifier:param('param')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,5 @@
class Tester {
@Nullable <T> T bar() {
return null;
}
}

View File

@@ -0,0 +1,63 @@
PsiJavaFile:ParameterizedMethod.java
PsiImportList
<empty list>
PsiClass:Tester
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:Tester('Tester')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiMethod:bar
PsiModifierList:@Nullable
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Nullable
PsiIdentifier:Nullable('Nullable')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiTypeParameterList
PsiJavaToken:LT('<')
PsiTypeParameter:T
PsiIdentifier:T('T')
PsiElement(EXTENDS_BOUND_LIST)
<empty list>
PsiJavaToken:GT('>')
PsiWhiteSpace(' ')
PsiTypeElement:T
PsiJavaCodeReferenceElement:T
PsiIdentifier:T('T')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:bar('bar')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiReturnStatement
PsiKeyword:return('return')
PsiWhiteSpace(' ')
PsiLiteralExpression:null
PsiJavaToken:NULL_KEYWORD('null')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
interface PsiElement {
@org.jetbrains.annotations.Nullable <T> T getCopyableUserData(Key<T> key);
}

View File

@@ -0,0 +1,83 @@
PsiJavaFile:QualifiedAnnotation.java
PsiImportList
<empty list>
PsiClass:PsiElement
PsiModifierList:
<empty list>
PsiKeyword:interface('interface')
PsiWhiteSpace(' ')
PsiIdentifier:PsiElement('PsiElement')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiMethod:getCopyableUserData
PsiModifierList:@org.jetbrains.annotations.Nullable
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>
PsiWhiteSpace(' ')
PsiTypeParameterList
PsiJavaToken:LT('<')
PsiTypeParameter:T
PsiIdentifier:T('T')
PsiElement(EXTENDS_BOUND_LIST)
<empty list>
PsiJavaToken:GT('>')
PsiWhiteSpace(' ')
PsiTypeElement:T
PsiJavaCodeReferenceElement:T
PsiIdentifier:T('T')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:getCopyableUserData('getCopyableUserData')
PsiParameterList:(Key<T> key)
PsiJavaToken:LPARENTH('(')
PsiParameter:key
PsiModifierList:
<empty list>
PsiTypeElement:Key<T>
PsiJavaCodeReferenceElement:Key<T>
PsiIdentifier:Key('Key')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:T
PsiJavaCodeReferenceElement:T
PsiIdentifier:T('T')
PsiReferenceParameterList
<empty list>
PsiJavaToken:GT('>')
PsiWhiteSpace(' ')
PsiIdentifier:key('key')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1 @@
public @Copyright("bla-bla-bla") class TimeTravel {}

View File

@@ -0,0 +1,32 @@
PsiJavaFile:Simple.java
PsiImportList
<empty list>
PsiClass:TimeTravel
PsiModifierList:public @Copyright("bla-bla-bla")
PsiKeyword:public('public')
PsiWhiteSpace(' ')
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(')')
PsiWhiteSpace(' ')
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:TimeTravel('TimeTravel')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1 @@
public @Copyright(treatedAsValue) class TimeTravel {}

View File

@@ -0,0 +1,34 @@
PsiJavaFile:Simple2.java
PsiImportList
<empty list>
PsiClass:TimeTravel
PsiModifierList:public @Copyright(treatedAsValue)
PsiKeyword:public('public')
PsiWhiteSpace(' ')
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(')')
PsiWhiteSpace(' ')
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:TimeTravel('TimeTravel')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,9 @@
class C<@D T extends @F Object> extends @F Object {
@F int @F[] methodf() @F throws @F Exception {
a = this instanceof @F C;
C<@F @G C> c = new @Q C<@F C>();
c = (@F Object)c;
Class c = @TA String.class;
@F C.field++;
}
}

View File

@@ -0,0 +1,325 @@
PsiJavaFile:TypeAnno.java
PsiImportList
<empty list>
PsiClass:C
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:C('C')
PsiTypeParameterList
PsiJavaToken:LT('<')
PsiTypeParameter:T
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:D
PsiIdentifier:D('D')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:T('T')
PsiWhiteSpace(' ')
PsiElement(EXTENDS_BOUND_LIST)
PsiKeyword:extends('extends')
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:@F Object
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:F
PsiIdentifier:F('F')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:Object('Object')
PsiReferenceParameterList
<empty list>
PsiJavaToken:GT('>')
PsiWhiteSpace(' ')
PsiReferenceList
PsiKeyword:extends('extends')
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:@F Object
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:F
PsiIdentifier:F('F')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:Object('Object')
PsiReferenceParameterList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiMethod:methodf
PsiModifierList:@F
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:F
PsiIdentifier:F('F')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiTypeParameterList
<empty list>
PsiWhiteSpace(' ')
PsiTypeElement:int @F[]
PsiTypeElement:int
PsiKeyword:int('int')
PsiWhiteSpace(' ')
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:F
PsiIdentifier:F('F')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiJavaToken:LBRACKET('[')
PsiJavaToken:RBRACKET(']')
PsiWhiteSpace(' ')
PsiIdentifier:methodf('methodf')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiWhiteSpace(' ')
PsiElement(METHOD_RECEIVER)
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:F
PsiIdentifier:F('F')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiReferenceList
PsiKeyword:throws('throws')
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:@F Exception
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:F
PsiIdentifier:F('F')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:Exception('Exception')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiExpressionStatement
PsiAssignmentExpression:a = this instanceof @F C
PsiReferenceExpression:a
PsiReferenceParameterList
<empty list>
PsiIdentifier:a('a')
PsiWhiteSpace(' ')
PsiJavaToken:EQ('=')
PsiWhiteSpace(' ')
PsiInstanceofExpression:this instanceof @F C
PsiThisExpression:this
PsiReferenceParameterList
<empty list>
PsiKeyword:this('this')
PsiWhiteSpace(' ')
PsiKeyword:instanceof('instanceof')
PsiWhiteSpace(' ')
PsiTypeElement:@F C
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:F
PsiIdentifier:F('F')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:C
PsiIdentifier:C('C')
PsiReferenceParameterList
<empty list>
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n ')
PsiDeclarationStatement
PsiLocalVariable:c
PsiModifierList:
<empty list>
PsiTypeElement:C<@F @G C>
PsiJavaCodeReferenceElement:C<@F @G C>
PsiIdentifier:C('C')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:@F @G C
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:F
PsiIdentifier:F('F')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:G
PsiIdentifier:G('G')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:C
PsiIdentifier:C('C')
PsiReferenceParameterList
<empty list>
PsiJavaToken:GT('>')
PsiWhiteSpace(' ')
PsiIdentifier:c('c')
PsiWhiteSpace(' ')
PsiJavaToken:EQ('=')
PsiWhiteSpace(' ')
PsiNewExpression:new @Q C<@F C>()
PsiKeyword:new('new')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:@Q C<@F C>
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Q
PsiIdentifier:Q('Q')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:C('C')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:@F C
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:F
PsiIdentifier:F('F')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:C
PsiIdentifier:C('C')
PsiReferenceParameterList
<empty list>
PsiJavaToken:GT('>')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n ')
PsiExpressionStatement
PsiAssignmentExpression:c = (@F Object)c
PsiReferenceExpression:c
PsiReferenceParameterList
<empty list>
PsiIdentifier:c('c')
PsiWhiteSpace(' ')
PsiJavaToken:EQ('=')
PsiWhiteSpace(' ')
PsiTypeCastExpression:(@F Object)c
PsiJavaToken:LPARENTH('(')
PsiTypeElement:@F Object
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:F
PsiIdentifier:F('F')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:Object
PsiIdentifier:Object('Object')
PsiReferenceParameterList
<empty list>
PsiJavaToken:RPARENTH(')')
PsiReferenceExpression:c
PsiReferenceParameterList
<empty list>
PsiIdentifier:c('c')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n ')
PsiDeclarationStatement
PsiLocalVariable:c
PsiModifierList:
<empty list>
PsiTypeElement:Class
PsiJavaCodeReferenceElement:Class
PsiIdentifier:Class('Class')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:c('c')
PsiWhiteSpace(' ')
PsiJavaToken:EQ('=')
PsiWhiteSpace(' ')
PsiClassObjectAccessExpression:@TA String.class
PsiTypeElement:@TA String
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:TA
PsiIdentifier:TA('TA')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:String
PsiIdentifier:String('String')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiKeyword:class('class')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n ')
PsiExpressionStatement
PsiPostfixExpression:@F C.field++
PsiReferenceExpression:@F C.field
PsiReferenceExpression:@F C
PsiReferenceParameterList
<empty list>
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:F
PsiIdentifier:F('F')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:C('C')
PsiJavaToken:DOT('.')
PsiReferenceParameterList
<empty list>
PsiIdentifier:field('field')
PsiJavaToken:PLUSPLUS('++')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
@interface Annotation {
Class foo () default String.class;
}

View File

@@ -0,0 +1,51 @@
PsiJavaFile:Default.java
PsiImportList
<empty list>
PsiClass:Annotation
PsiModifierList:
<empty list>
PsiJavaToken:AT('@')
PsiKeyword:interface('interface')
PsiWhiteSpace(' ')
PsiIdentifier:Annotation('Annotation')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiAnnotationMethod:foo
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiTypeElement:Class
PsiJavaCodeReferenceElement:Class
PsiIdentifier:Class('Class')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:foo('foo')
PsiWhiteSpace(' ')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiKeyword:default('default')
PsiWhiteSpace(' ')
PsiClassObjectAccessExpression:String.class
PsiTypeElement:String
PsiJavaCodeReferenceElement:String
PsiIdentifier:String('String')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiKeyword:class('class')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,5 @@
class Annotation {
@interface Inner {
double bar () default 0.0;
}
}

View File

@@ -0,0 +1,59 @@
PsiJavaFile:Inner.java
PsiImportList
<empty list>
PsiClass:Annotation
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:Annotation('Annotation')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiClass:Inner
PsiModifierList:
<empty list>
PsiJavaToken:AT('@')
PsiKeyword:interface('interface')
PsiWhiteSpace(' ')
PsiIdentifier:Inner('Inner')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiAnnotationMethod:bar
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiTypeElement:double
PsiKeyword:double('double')
PsiWhiteSpace(' ')
PsiIdentifier:bar('bar')
PsiWhiteSpace(' ')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiKeyword:default('default')
PsiWhiteSpace(' ')
PsiLiteralExpression:0.0
PsiJavaToken:DOUBLE_LITERAL('0.0')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,7 @@
@interface Annotation {
Class foo () default String.class;
@interface Inner {
String bar () default "<unspecified>";
}
}

View File

@@ -0,0 +1,94 @@
PsiJavaFile:Nested.java
PsiImportList
<empty list>
PsiClass:Annotation
PsiModifierList:
<empty list>
PsiJavaToken:AT('@')
PsiKeyword:interface('interface')
PsiWhiteSpace(' ')
PsiIdentifier:Annotation('Annotation')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiAnnotationMethod:foo
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiTypeElement:Class
PsiJavaCodeReferenceElement:Class
PsiIdentifier:Class('Class')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:foo('foo')
PsiWhiteSpace(' ')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiKeyword:default('default')
PsiWhiteSpace(' ')
PsiClassObjectAccessExpression:String.class
PsiTypeElement:String
PsiJavaCodeReferenceElement:String
PsiIdentifier:String('String')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiKeyword:class('class')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n\n ')
PsiClass:Inner
PsiModifierList:
<empty list>
PsiJavaToken:AT('@')
PsiKeyword:interface('interface')
PsiWhiteSpace(' ')
PsiIdentifier:Inner('Inner')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiAnnotationMethod:bar
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiTypeElement:String
PsiJavaCodeReferenceElement:String
PsiIdentifier:String('String')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:bar('bar')
PsiWhiteSpace(' ')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiKeyword:default('default')
PsiWhiteSpace(' ')
PsiLiteralExpression:"<unspecified>"
PsiJavaToken:STRING_LITERAL('"<unspecified>"')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,7 @@
@interface Annotation {
Class foo () default String.class;
int field;
void m() {}
class C {}
interface I {}
}

View File

@@ -0,0 +1,111 @@
PsiJavaFile:OtherMembers.java
PsiImportList
<empty list>
PsiClass:Annotation
PsiModifierList:
<empty list>
PsiJavaToken:AT('@')
PsiKeyword:interface('interface')
PsiWhiteSpace(' ')
PsiIdentifier:Annotation('Annotation')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiAnnotationMethod:foo
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiTypeElement:Class
PsiJavaCodeReferenceElement:Class
PsiIdentifier:Class('Class')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:foo('foo')
PsiWhiteSpace(' ')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiKeyword:default('default')
PsiWhiteSpace(' ')
PsiClassObjectAccessExpression:String.class
PsiTypeElement:String
PsiJavaCodeReferenceElement:String
PsiIdentifier:String('String')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiKeyword:class('class')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n ')
PsiField:field
PsiModifierList:
<empty list>
PsiTypeElement:int
PsiKeyword:int('int')
PsiWhiteSpace(' ')
PsiIdentifier:field('field')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n ')
PsiAnnotationMethod:m
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiTypeElement:void
PsiKeyword:void('void')
PsiWhiteSpace(' ')
PsiIdentifier:m('m')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n ')
PsiClass:C
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:C('C')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n ')
PsiClass:I
PsiModifierList:
<empty list>
PsiKeyword:interface('interface')
PsiWhiteSpace(' ')
PsiIdentifier:I('I')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,5 @@
import java.util.*;
public @interface Annotation {
int foo ();
}

View File

@@ -0,0 +1,53 @@
PsiJavaFile:Simple.java
PsiImportList
PsiImportStatement
PsiKeyword:import('import')
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:java.util
PsiJavaCodeReferenceElement:java
PsiIdentifier:java('java')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiIdentifier:util('util')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiJavaToken:ASTERISK('*')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n\n')
PsiClass:Annotation
PsiModifierList:public
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiJavaToken:AT('@')
PsiKeyword:interface('interface')
PsiWhiteSpace(' ')
PsiIdentifier:Annotation('Annotation')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiAnnotationMethod:foo
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiTypeElement:int
PsiKeyword:int('int')
PsiWhiteSpace(' ')
PsiIdentifier:foo('foo')
PsiWhiteSpace(' ')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,2 @@
/**//******/class AClass{
}

View File

@@ -0,0 +1,23 @@
PsiJavaFile:ImportListBug.java
PsiDocComment
PsiDocToken:DOC_COMMENT_END('/**/')
PsiImportList
<empty list>
PsiClass:AClass
PsiDocComment
PsiDocToken:DOC_COMMENT_START('/**')
PsiDocToken:DOC_COMMENT_END('****/')
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:AClass('AClass')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,5 @@
class A {
void method() {
<identifier
}
}

View File

@@ -0,0 +1,49 @@
PsiJavaFile:IncompleteCodeBlock.java
PsiImportList
<empty list>
PsiClass:A
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:A('A')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiMethod:method
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiTypeElement:void
PsiKeyword:void('void')
PsiWhiteSpace(' ')
PsiIdentifier:method('method')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiErrorElement:Unexpected token
PsiJavaToken:LT('<')
PsiExpressionStatement
PsiReferenceExpression:identifier
PsiReferenceParameterList
<empty list>
PsiIdentifier:identifier('identifier')
PsiErrorElement:';' expected
<empty list>
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,6 @@
class FreezeTest {
void test() {
String.class.
String[] strings;
}
}

View File

@@ -0,0 +1,69 @@
PsiJavaFile:SCR5202.java
PsiImportList
<empty list>
PsiClass:FreezeTest
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:FreezeTest('FreezeTest')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n\t')
PsiMethod:test
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiTypeElement:void
PsiKeyword:void('void')
PsiWhiteSpace(' ')
PsiIdentifier:test('test')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n\t\t')
PsiExpressionStatement
PsiReferenceExpression:String.class.
String
PsiClassObjectAccessExpression:String.class
PsiTypeElement:String
PsiJavaCodeReferenceElement:String
PsiIdentifier:String('String')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiKeyword:class('class')
PsiJavaToken:DOT('.')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace('\n\t\t')
PsiIdentifier:String('String')
PsiErrorElement:';' expected
<empty list>
PsiErrorElement:Unexpected token
PsiJavaToken:LBRACKET('[')
PsiErrorElement:Unexpected token
PsiJavaToken:RBRACKET(']')
PsiWhiteSpace(' ')
PsiExpressionStatement
PsiReferenceExpression:strings
PsiReferenceParameterList
<empty list>
PsiIdentifier:strings('strings')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n\t')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,4 @@
/**
*/
public abstract class Test {
}

View File

@@ -0,0 +1,27 @@
PsiJavaFile:EmptyImportList.java
PsiImportList
<empty list>
PsiClass:Test
PsiDocComment
PsiDocToken:DOC_COMMENT_START('/**')
PsiWhiteSpace('\n')
PsiDocToken:DOC_COMMENT_END('*/')
PsiWhiteSpace('\n')
PsiModifierList:public abstract
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:abstract('abstract')
PsiWhiteSpace(' ')
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:Test('Test')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,2 @@
public enum OurEnum {
}

View File

@@ -0,0 +1,20 @@
PsiJavaFile:Enum1.java
PsiImportList
<empty list>
PsiClass:OurEnum
PsiModifierList:public
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:enum('enum')
PsiWhiteSpace(' ')
PsiIdentifier:OurEnum('OurEnum')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,2 @@
enum OurEnum {
}

View File

@@ -0,0 +1,19 @@
PsiJavaFile:Enum2.java
PsiImportList
<empty list>
PsiClass:OurEnum
PsiModifierList:
<empty list>
PsiKeyword:enum('enum')
PsiWhiteSpace(' ')
PsiIdentifier:OurEnum('OurEnum')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
enum OurEnum {
@ANNOTATION A(10)
}

View File

@@ -0,0 +1,37 @@
PsiJavaFile:EnumWithAnnotatedConstants.java
PsiImportList
<empty list>
PsiClass:OurEnum
PsiModifierList:
<empty list>
PsiKeyword:enum('enum')
PsiWhiteSpace(' ')
PsiIdentifier:OurEnum('OurEnum')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiEnumConstant:A
PsiModifierList:@ANNOTATION
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:ANNOTATION
PsiIdentifier:ANNOTATION('ANNOTATION')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:A('A')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiLiteralExpression:10
PsiJavaToken:INTEGER_LITERAL('10')
PsiJavaToken:RPARENTH(')')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
public enum OurEnum {
;
}

View File

@@ -0,0 +1,22 @@
PsiJavaFile:EnumWithConstants1.java
PsiImportList
<empty list>
PsiClass:OurEnum
PsiModifierList:public
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:enum('enum')
PsiWhiteSpace(' ')
PsiIdentifier:OurEnum('OurEnum')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
public enum OurEnum {
RED, GREEN, BLUE;
}

View File

@@ -0,0 +1,44 @@
PsiJavaFile:EnumWithConstants2.java
PsiImportList
<empty list>
PsiClass:OurEnum
PsiModifierList:public
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:enum('enum')
PsiWhiteSpace(' ')
PsiIdentifier:OurEnum('OurEnum')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiEnumConstant:RED
PsiModifierList:
<empty list>
PsiIdentifier:RED('RED')
PsiExpressionList
<empty list>
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiEnumConstant:GREEN
PsiModifierList:
<empty list>
PsiIdentifier:GREEN('GREEN')
PsiExpressionList
<empty list>
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiEnumConstant:BLUE
PsiModifierList:
<empty list>
PsiIdentifier:BLUE('BLUE')
PsiExpressionList
<empty list>
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
public enum OurEnum {
RED, GREEN, BLUE
}

View File

@@ -0,0 +1,43 @@
PsiJavaFile:EnumWithConstants3.java
PsiImportList
<empty list>
PsiClass:OurEnum
PsiModifierList:public
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:enum('enum')
PsiWhiteSpace(' ')
PsiIdentifier:OurEnum('OurEnum')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiEnumConstant:RED
PsiModifierList:
<empty list>
PsiIdentifier:RED('RED')
PsiExpressionList
<empty list>
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiEnumConstant:GREEN
PsiModifierList:
<empty list>
PsiIdentifier:GREEN('GREEN')
PsiExpressionList
<empty list>
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiEnumConstant:BLUE
PsiModifierList:
<empty list>
PsiIdentifier:BLUE('BLUE')
PsiExpressionList
<empty list>
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
public enum OurEnum {
RED, GREEN, BLUE,
}

View File

@@ -0,0 +1,44 @@
PsiJavaFile:EnumWithConstants4.java
PsiImportList
<empty list>
PsiClass:OurEnum
PsiModifierList:public
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:enum('enum')
PsiWhiteSpace(' ')
PsiIdentifier:OurEnum('OurEnum')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiEnumConstant:RED
PsiModifierList:
<empty list>
PsiIdentifier:RED('RED')
PsiExpressionList
<empty list>
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiEnumConstant:GREEN
PsiModifierList:
<empty list>
PsiIdentifier:GREEN('GREEN')
PsiExpressionList
<empty list>
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiEnumConstant:BLUE
PsiModifierList:
<empty list>
PsiIdentifier:BLUE('BLUE')
PsiExpressionList
<empty list>
PsiJavaToken:COMMA(',')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,6 @@
public enum OurEnum {
RED, GREEN, BLUE
OurEnum() {
}
}

View File

@@ -0,0 +1,62 @@
PsiJavaFile:EnumWithConstants5.java
PsiImportList
<empty list>
PsiClass:OurEnum
PsiModifierList:public
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:enum('enum')
PsiWhiteSpace(' ')
PsiIdentifier:OurEnum('OurEnum')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiEnumConstant:RED
PsiModifierList:
<empty list>
PsiIdentifier:RED('RED')
PsiExpressionList
<empty list>
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiEnumConstant:GREEN
PsiModifierList:
<empty list>
PsiIdentifier:GREEN('GREEN')
PsiExpressionList
<empty list>
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiEnumConstant:BLUE
PsiModifierList:
<empty list>
PsiIdentifier:BLUE('BLUE')
PsiExpressionList
<empty list>
PsiErrorElement:',' or ';' expected
<empty list>
PsiWhiteSpace('\n\n ')
PsiMethod:OurEnum
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiIdentifier:OurEnum('OurEnum')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
public enum OurEnum {
RED(0), GREEN(1), BLUE(2);
}

View File

@@ -0,0 +1,53 @@
PsiJavaFile:EnumWithConstants6.java
PsiImportList
<empty list>
PsiClass:OurEnum
PsiModifierList:public
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:enum('enum')
PsiWhiteSpace(' ')
PsiIdentifier:OurEnum('OurEnum')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiEnumConstant:RED
PsiModifierList:
<empty list>
PsiIdentifier:RED('RED')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiLiteralExpression:0
PsiJavaToken:INTEGER_LITERAL('0')
PsiJavaToken:RPARENTH(')')
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiEnumConstant:GREEN
PsiModifierList:
<empty list>
PsiIdentifier:GREEN('GREEN')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiLiteralExpression:1
PsiJavaToken:INTEGER_LITERAL('1')
PsiJavaToken:RPARENTH(')')
PsiJavaToken:COMMA(',')
PsiWhiteSpace(' ')
PsiEnumConstant:BLUE
PsiModifierList:
<empty list>
PsiIdentifier:BLUE('BLUE')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiLiteralExpression:2
PsiJavaToken:INTEGER_LITERAL('2')
PsiJavaToken:RPARENTH(')')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
public enum OurEnum {
;
}

View File

@@ -0,0 +1,22 @@
PsiJavaFile:EnumWithImport.java
PsiImportList
<empty list>
PsiClass:OurEnum
PsiModifierList:public
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:enum('enum')
PsiWhiteSpace(' ')
PsiIdentifier:OurEnum('OurEnum')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,6 @@
enum OurEnum {
A(10) { },
B {
void method() {}
}
}

View File

@@ -0,0 +1,66 @@
PsiJavaFile:EnumWithInitializedConstants.java
PsiImportList
<empty list>
PsiClass:OurEnum
PsiModifierList:
<empty list>
PsiKeyword:enum('enum')
PsiWhiteSpace(' ')
PsiIdentifier:OurEnum('OurEnum')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiEnumConstant:A
PsiModifierList:
<empty list>
PsiIdentifier:A('A')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiLiteralExpression:10
PsiJavaToken:INTEGER_LITERAL('10')
PsiJavaToken:RPARENTH(')')
PsiWhiteSpace(' ')
PsiAnonymousClass (PsiEnumConstantInitializerImpl)):
PsiJavaToken:LBRACE('{')
PsiWhiteSpace(' ')
PsiJavaToken:RBRACE('}')
PsiJavaToken:COMMA(',')
PsiWhiteSpace('\n ')
PsiEnumConstant:B
PsiModifierList:
<empty list>
PsiIdentifier:B('B')
PsiExpressionList
<empty list>
PsiWhiteSpace(' ')
PsiAnonymousClass (PsiEnumConstantInitializerImpl)):
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiMethod:method
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiTypeElement:void
PsiKeyword:void('void')
PsiWhiteSpace(' ')
PsiIdentifier:method('method')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
public enum OurEnum {
private A
}

View File

@@ -0,0 +1,33 @@
PsiJavaFile:EnumWithoutConstants.java
PsiImportList
<empty list>
PsiClass:OurEnum
PsiModifierList:public
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:enum('enum')
PsiWhiteSpace(' ')
PsiIdentifier:OurEnum('OurEnum')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiErrorElement:';' expected
<empty list>
PsiWhiteSpace('\n ')
PsiModifierList:private
PsiKeyword:private('private')
PsiWhiteSpace(' ')
PsiTypeElement:A
PsiJavaCodeReferenceElement:A
PsiIdentifier:A('A')
PsiReferenceParameterList
<empty list>
PsiErrorElement:Identifier expected
<empty list>
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,10 @@
class Foo {
public void testSomething() {
}
}
public void testSomething() {
}
}

View File

@@ -0,0 +1,65 @@
PsiJavaFile:ExtraClosingBraceInMethod.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 ')
PsiMethod:testSomething
PsiModifierList:public
PsiKeyword:public('public')
PsiTypeParameterList
<empty list>
PsiWhiteSpace(' ')
PsiTypeElement:void
PsiKeyword:void('void')
PsiWhiteSpace(' ')
PsiIdentifier:testSomething('testSomething')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiErrorElement:'class' or 'interface' expected
<empty list>
PsiWhiteSpace('\n\n ')
PsiMethod:testSomething
PsiModifierList:public
PsiKeyword:public('public')
PsiTypeParameterList
<empty list>
PsiWhiteSpace(' ')
PsiTypeElement:void
PsiKeyword:void('void')
PsiWhiteSpace(' ')
PsiIdentifier:testSomething('testSomething')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,12 @@
package foo;
public class Foo {
public void testSomething() {
{
}
public void testSomething() {
}
}

View File

@@ -0,0 +1,77 @@
PsiJavaFile:ExtraOpeningBraceInMethod.java
PsiPackageStatement:foo
PsiKeyword:package('package')
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:foo
PsiIdentifier:foo('foo')
PsiReferenceParameterList
<empty list>
PsiJavaToken:SEMICOLON(';')
PsiImportList
<empty list>
PsiWhiteSpace('\n\n')
PsiClass:Foo
PsiModifierList:public
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:Foo('Foo')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiMethod:testSomething
PsiModifierList:public
PsiKeyword:public('public')
PsiTypeParameterList
<empty list>
PsiWhiteSpace(' ')
PsiTypeElement:void
PsiKeyword:void('void')
PsiWhiteSpace(' ')
PsiIdentifier:testSomething('testSomething')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiBlockStatement
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiErrorElement:'}' expected
<empty list>
PsiWhiteSpace('\n\n ')
PsiMethod:testSomething
PsiModifierList:public
PsiKeyword:public('public')
PsiTypeParameterList
<empty list>
PsiWhiteSpace(' ')
PsiTypeElement:void
PsiKeyword:void('void')
PsiWhiteSpace(' ')
PsiIdentifier:testSomething('testSomething')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,5 @@
class Test{
{
for(int i = 0; i < 10;<EOLError/>
}
}

View File

@@ -0,0 +1,75 @@
PsiJavaFile:ForError.java
PsiImportList
<empty list>
PsiClass:Test
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:Test('Test')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiClassInitializer
PsiModifierList:
<empty list>
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiForStatement
PsiKeyword:for('for')
PsiJavaToken:LPARENTH('(')
PsiDeclarationStatement
PsiLocalVariable:i
PsiModifierList:
<empty list>
PsiTypeElement:int
PsiKeyword:int('int')
PsiWhiteSpace(' ')
PsiIdentifier:i('i')
PsiWhiteSpace(' ')
PsiJavaToken:EQ('=')
PsiWhiteSpace(' ')
PsiLiteralExpression:0
PsiJavaToken:INTEGER_LITERAL('0')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace(' ')
PsiBinaryExpression:i < 10
PsiReferenceExpression:i
PsiReferenceParameterList
<empty list>
PsiIdentifier:i('i')
PsiWhiteSpace(' ')
PsiJavaToken:LT('<')
PsiWhiteSpace(' ')
PsiLiteralExpression:10
PsiJavaToken:INTEGER_LITERAL('10')
PsiJavaToken:SEMICOLON(';')
PsiErrorElement:')' expected
<empty list>
PsiErrorElement:Unexpected token
PsiJavaToken:LT('<')
PsiExpressionStatement
PsiBinaryExpression:EOLError/>
PsiBinaryExpression:EOLError/
PsiReferenceExpression:EOLError
PsiReferenceParameterList
<empty list>
PsiIdentifier:EOLError('EOLError')
PsiJavaToken:DIV('/')
PsiErrorElement:Expression expected
<empty list>
PsiJavaToken:GT('>')
PsiErrorElement:Expression expected
<empty list>
PsiErrorElement:';' expected
<empty list>
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,7 @@
package foo;
public class Foo {
public void testSomething();
@Null
}

View File

@@ -0,0 +1,58 @@
PsiJavaFile:IncompleteAnnotation.java
PsiPackageStatement:foo
PsiKeyword:package('package')
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:foo
PsiIdentifier:foo('foo')
PsiReferenceParameterList
<empty list>
PsiJavaToken:SEMICOLON(';')
PsiImportList
<empty list>
PsiWhiteSpace('\n\n')
PsiClass:Foo
PsiModifierList:public
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:Foo('Foo')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiMethod:testSomething
PsiModifierList:public
PsiKeyword:public('public')
PsiTypeParameterList
<empty list>
PsiWhiteSpace(' ')
PsiTypeElement:void
PsiKeyword:void('void')
PsiWhiteSpace(' ')
PsiIdentifier:testSomething('testSomething')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n\n ')
PsiModifierList:@Null
PsiAnnotation
PsiJavaToken:AT('@')
PsiJavaCodeReferenceElement:Null
PsiIdentifier:Null('Null')
PsiReferenceParameterList
<empty list>
PsiAnnotationParameterList
<empty list>
PsiErrorElement:Identifier or type expected
<empty list>
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
import a.b;
public ClassName{
}

View File

@@ -0,0 +1,26 @@
PsiJavaFile:NoClass.java
PsiImportList
PsiImportStatement
PsiKeyword:import('import')
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:a.b
PsiJavaCodeReferenceElement:a
PsiIdentifier:a('a')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiIdentifier:b('b')
PsiReferenceParameterList
<empty list>
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n\n')
PsiModifierList:public
PsiKeyword:public('public')
PsiErrorElement:'class' or 'interface' expected
<empty list>
PsiWhiteSpace(' ')
PsiErrorElement:'class' or 'interface' expected
PsiIdentifier:ClassName('ClassName')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
class ClassName{
new X();
}

View File

@@ -0,0 +1,34 @@
PsiJavaFile:NoType.java
PsiImportList
<empty list>
PsiClass:ClassName
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:ClassName('ClassName')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiErrorElement:Unexpected token
PsiKeyword:new('new')
PsiWhiteSpace(' ')
PsiMethod:X
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiIdentifier:X('X')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
public class A <T extends java.util.List> {
T x;
}

View File

@@ -0,0 +1,54 @@
PsiJavaFile:ParametrizedClass.java
PsiImportList
<empty list>
PsiClass:A
PsiModifierList:public
PsiKeyword:public('public')
PsiWhiteSpace(' ')
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:A('A')
PsiWhiteSpace(' ')
PsiTypeParameterList
PsiJavaToken:LT('<')
PsiTypeParameter:T
PsiIdentifier:T('T')
PsiWhiteSpace(' ')
PsiElement(EXTENDS_BOUND_LIST)
PsiKeyword:extends('extends')
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:java.util.List
PsiJavaCodeReferenceElement:java.util
PsiJavaCodeReferenceElement:java
PsiIdentifier:java('java')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiIdentifier:util('util')
PsiReferenceParameterList
<empty list>
PsiJavaToken:DOT('.')
PsiIdentifier:List('List')
PsiReferenceParameterList
<empty list>
PsiJavaToken:GT('>')
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiField:x
PsiModifierList:
<empty list>
PsiTypeElement:T
PsiJavaCodeReferenceElement:T
PsiIdentifier:T('T')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:x('x')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,5 @@
class A<T extends List<String>> extends List<List<Integer>> {
int method(T x) {
return x.size() >> 2;
}
}

View File

@@ -0,0 +1,108 @@
PsiJavaFile:Pines.java
PsiImportList
<empty list>
PsiClass:A
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:A('A')
PsiTypeParameterList
PsiJavaToken:LT('<')
PsiTypeParameter:T
PsiIdentifier:T('T')
PsiWhiteSpace(' ')
PsiElement(EXTENDS_BOUND_LIST)
PsiKeyword:extends('extends')
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:List<String>
PsiIdentifier:List('List')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:String
PsiJavaCodeReferenceElement:String
PsiIdentifier:String('String')
PsiReferenceParameterList
<empty list>
PsiJavaToken:GT('>')
PsiJavaToken:GT('>')
PsiWhiteSpace(' ')
PsiReferenceList
PsiKeyword:extends('extends')
PsiWhiteSpace(' ')
PsiJavaCodeReferenceElement:List<List<Integer>>
PsiIdentifier:List('List')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:List<Integer>
PsiJavaCodeReferenceElement:List<Integer>
PsiIdentifier:List('List')
PsiReferenceParameterList
PsiJavaToken:LT('<')
PsiTypeElement:Integer
PsiJavaCodeReferenceElement:Integer
PsiIdentifier:Integer('Integer')
PsiReferenceParameterList
<empty list>
PsiJavaToken:GT('>')
PsiJavaToken:GT('>')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiMethod:method
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiTypeElement:int
PsiKeyword:int('int')
PsiWhiteSpace(' ')
PsiIdentifier:method('method')
PsiParameterList:(T x)
PsiJavaToken:LPARENTH('(')
PsiParameter:x
PsiModifierList:
<empty list>
PsiTypeElement:T
PsiJavaCodeReferenceElement:T
PsiIdentifier:T('T')
PsiReferenceParameterList
<empty list>
PsiWhiteSpace(' ')
PsiIdentifier:x('x')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiWhiteSpace(' ')
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiReturnStatement
PsiKeyword:return('return')
PsiWhiteSpace(' ')
PsiBinaryExpression:x.size() >> 2
PsiMethodCallExpression:x.size()
PsiReferenceExpression:x.size
PsiReferenceExpression:x
PsiReferenceParameterList
<empty list>
PsiIdentifier:x('x')
PsiJavaToken:DOT('.')
PsiReferenceParameterList
<empty list>
PsiIdentifier:size('size')
PsiExpressionList
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiWhiteSpace(' ')
PsiJavaToken:GTGT('>>')
PsiWhiteSpace(' ')
PsiLiteralExpression:2
PsiJavaToken:INTEGER_LITERAL('2')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,6 @@
class ClassName{
void f(){
};
void g(){
};
}

View File

@@ -0,0 +1,58 @@
PsiJavaFile:Semicolon.java
PsiImportList
<empty list>
PsiClass:ClassName
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:ClassName('ClassName')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiMethod:f
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiTypeElement:void
PsiKeyword:void('void')
PsiWhiteSpace(' ')
PsiIdentifier:f('f')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n ')
PsiMethod:g
PsiModifierList:
<empty list>
PsiTypeParameterList
<empty list>
PsiTypeElement:void
PsiKeyword:void('void')
PsiWhiteSpace(' ')
PsiIdentifier:g('g')
PsiParameterList:()
PsiJavaToken:LPARENTH('(')
PsiJavaToken:RPARENTH(')')
PsiReferenceList
<empty list>
PsiCodeBlock
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,2 @@
class ClassName{
};

View File

@@ -0,0 +1,19 @@
PsiJavaFile:Semicolon2.java
PsiImportList
<empty list>
PsiClass:ClassName
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:ClassName('ClassName')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')
PsiJavaToken:SEMICOLON(';')

View File

@@ -0,0 +1,4 @@
class A{
// comment
int field;
}

View File

@@ -0,0 +1,29 @@
PsiJavaFile:BindBefore1.java
PsiImportList
<empty list>
PsiClass:A
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:A('A')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiField:field
PsiComment(END_OF_LINE_COMMENT)('// comment')
PsiWhiteSpace('\n ')
PsiModifierList:
<empty list>
PsiTypeElement:int
PsiKeyword:int('int')
PsiWhiteSpace(' ')
PsiIdentifier:field('field')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,5 @@
class A{
// comment
int field;
}

View File

@@ -0,0 +1,29 @@
PsiJavaFile:BindBefore2.java
PsiImportList
<empty list>
PsiClass:A
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:A('A')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiComment(END_OF_LINE_COMMENT)('// comment')
PsiWhiteSpace('\n\n ')
PsiField:field
PsiModifierList:
<empty list>
PsiTypeElement:int
PsiKeyword:int('int')
PsiWhiteSpace(' ')
PsiIdentifier:field('field')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
class A{ // comment
int field;
}

View File

@@ -0,0 +1,29 @@
PsiJavaFile:BindBefore3.java
PsiImportList
<empty list>
PsiClass:A
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:A('A')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiJavaToken:LBRACE('{')
PsiWhiteSpace(' ')
PsiComment(END_OF_LINE_COMMENT)('// comment')
PsiWhiteSpace('\n ')
PsiField:field
PsiModifierList:
<empty list>
PsiTypeElement:int
PsiKeyword:int('int')
PsiWhiteSpace(' ')
PsiIdentifier:field('field')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,3 @@
class A{// comment
int field;
}

View File

@@ -0,0 +1,28 @@
PsiJavaFile:BindBefore3a.java
PsiImportList
<empty list>
PsiClass:A
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:A('A')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiJavaToken:LBRACE('{')
PsiComment(END_OF_LINE_COMMENT)('// comment')
PsiWhiteSpace('\n ')
PsiField:field
PsiModifierList:
<empty list>
PsiTypeElement:int
PsiKeyword:int('int')
PsiWhiteSpace(' ')
PsiIdentifier:field('field')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

View File

@@ -0,0 +1,6 @@
class A{
// comment 1
// comment 2
// comment 3
int field;
}

View File

@@ -0,0 +1,33 @@
PsiJavaFile:BindBefore4.java
PsiImportList
<empty list>
PsiClass:A
PsiModifierList:
<empty list>
PsiKeyword:class('class')
PsiWhiteSpace(' ')
PsiIdentifier:A('A')
PsiTypeParameterList
<empty list>
PsiReferenceList
<empty list>
PsiReferenceList
<empty list>
PsiJavaToken:LBRACE('{')
PsiWhiteSpace('\n ')
PsiField:field
PsiComment(END_OF_LINE_COMMENT)('// comment 1')
PsiWhiteSpace('\n ')
PsiComment(END_OF_LINE_COMMENT)('// comment 2')
PsiWhiteSpace('\n ')
PsiComment(END_OF_LINE_COMMENT)('// comment 3')
PsiWhiteSpace('\n ')
PsiModifierList:
<empty list>
PsiTypeElement:int
PsiKeyword:int('int')
PsiWhiteSpace(' ')
PsiIdentifier:field('field')
PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}')

Some files were not shown because too many files have changed in this diff Show More