summaryrefslogtreecommitdiff
path: root/java/java-tests/testData/psi/parser-full/annotationParsing
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-tests/testData/psi/parser-full/annotationParsing')
-rw-r--r--java/java-tests/testData/psi/parser-full/annotationParsing/annotation/Errors.java6
-rw-r--r--java/java-tests/testData/psi/parser-full/annotationParsing/annotation/Errors.txt91
-rw-r--r--java/java-tests/testData/psi/parser-full/annotationParsing/annotation/TypeAnnotations.java6
-rw-r--r--java/java-tests/testData/psi/parser-full/annotationParsing/annotation/TypeAnnotations.txt140
4 files changed, 243 insertions, 0 deletions
diff --git a/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/Errors.java b/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/Errors.java
index 200c37e7fa32..4e90d08eb3ea 100644
--- a/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/Errors.java
+++ b/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/Errors.java
@@ -1,2 +1,8 @@
@Ann(<error descr="Cannot find method 'value'">0</error>) class D {
+
+ <error>@EJB</error>
+ Runnable myMissingEjbRef;
+
+ public <T> @SafeVarargs
+ static void m();
} \ No newline at end of file
diff --git a/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/Errors.txt b/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/Errors.txt
index 9f1efdb6d2e4..678025fdf06a 100644
--- a/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/Errors.txt
+++ b/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/Errors.txt
@@ -69,5 +69,96 @@ PsiJavaFile:Errors.java
<empty list>
PsiWhiteSpace(' ')
PsiJavaToken:LBRACE('{')
+ PsiWhiteSpace('\n\n ')
+ PsiModifierList:
+ <empty list>
+ PsiErrorElement:Identifier or type expected
+ PsiTypeParameterList
+ PsiJavaToken:LT('<')
+ PsiTypeParameter:error
+ PsiIdentifier:error('error')
+ PsiElement(EXTENDS_BOUND_LIST)
+ <empty list>
+ PsiJavaToken:GT('>')
+ PsiModifierList:@EJB
+ PsiAnnotation
+ PsiJavaToken:AT('@')
+ PsiJavaCodeReferenceElement:EJB
+ PsiIdentifier:EJB('EJB')
+ PsiReferenceParameterList
+ <empty list>
+ PsiAnnotationParameterList
+ <empty list>
+ PsiErrorElement:Identifier or type expected
+ PsiTypeParameterList
+ PsiJavaToken:LT('<')
+ PsiErrorElement:Type parameter expected
+ <empty list>
+ PsiErrorElement:'>' expected.
+ <empty list>
+ PsiErrorElement:Unexpected token
+ PsiJavaToken:DIV('/')
+ PsiModifierList:
+ <empty list>
+ PsiTypeElement:error
+ PsiJavaCodeReferenceElement:error
+ PsiIdentifier:error('error')
+ PsiReferenceParameterList
+ <empty list>
+ PsiErrorElement:Identifier expected
+ <empty list>
+ PsiErrorElement:Unexpected token
+ PsiJavaToken:GT('>')
+ PsiWhiteSpace('\n ')
+ PsiField:myMissingEjbRef
+ PsiModifierList:
+ <empty list>
+ PsiTypeElement:Runnable
+ PsiJavaCodeReferenceElement:Runnable
+ PsiIdentifier:Runnable('Runnable')
+ PsiReferenceParameterList
+ <empty list>
+ PsiWhiteSpace(' ')
+ PsiIdentifier:myMissingEjbRef('myMissingEjbRef')
+ PsiJavaToken:SEMICOLON(';')
+ PsiWhiteSpace('\n\n ')
+ PsiModifierList:public
+ PsiKeyword:public('public')
+ PsiWhiteSpace(' ')
+ PsiErrorElement:Identifier or type expected
+ PsiTypeParameterList
+ PsiJavaToken:LT('<')
+ PsiTypeParameter:T
+ PsiIdentifier:T('T')
+ PsiElement(EXTENDS_BOUND_LIST)
+ <empty list>
+ PsiJavaToken:GT('>')
+ PsiWhiteSpace(' ')
+ PsiMethod:m
+ PsiModifierList:@SafeVarargs
+ static
+ PsiAnnotation
+ PsiJavaToken:AT('@')
+ PsiJavaCodeReferenceElement:SafeVarargs
+ PsiIdentifier:SafeVarargs('SafeVarargs')
+ PsiReferenceParameterList
+ <empty list>
+ PsiAnnotationParameterList
+ <empty list>
+ PsiWhiteSpace('\n ')
+ PsiKeyword:static('static')
+ PsiTypeParameterList
+ <empty list>
+ PsiWhiteSpace(' ')
+ PsiTypeElement:void
+ PsiKeyword:void('void')
+ PsiWhiteSpace(' ')
+ PsiIdentifier:m('m')
+ PsiParameterList:()
+ PsiJavaToken:LPARENTH('(')
+ PsiJavaToken:RPARENTH(')')
+ PsiReferenceList
+ <empty list>
+ PsiJavaToken:SEMICOLON(';')
PsiWhiteSpace('\n')
PsiJavaToken:RBRACE('}') \ No newline at end of file
diff --git a/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/TypeAnnotations.java b/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/TypeAnnotations.java
index a74d4d6bbfad..de61404de20d 100644
--- a/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/TypeAnnotations.java
+++ b/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/TypeAnnotations.java
@@ -47,6 +47,11 @@ class SpecSamples {
try (@A Reader r = new @B FileReader("/dev/zero"); @A Writer w = new @B FileWriter("/dev/null")) { }
}
+ interface TestClass {
+ <T> @Nullable List<T> test();
+ <T> @Positive int test(T t);
+ }
+
//
// 2. An annotation on a wildcard type argument appears before the wildcard ...
//
@@ -72,6 +77,7 @@ class SpecSamples {
//
@Immutable SpecSamples() { }
+ <T> @Immutable SpecSamples(T t) { }
//
// todo [r.sh] 5. It is permitted to explicitly declare the method receiver as the first formal parameter ...
diff --git a/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/TypeAnnotations.txt b/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/TypeAnnotations.txt
index 54cf4b873ea8..0cc33a82fa2c 100644
--- a/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/TypeAnnotations.txt
+++ b/java/java-tests/testData/psi/parser-full/annotationParsing/annotation/TypeAnnotations.txt
@@ -1045,6 +1045,104 @@ PsiJavaFile:TypeAnnotations.java
PsiWhiteSpace('\n ')
PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n\n ')
+ PsiClass:TestClass
+ PsiModifierList:
+ <empty list>
+ PsiKeyword:interface('interface')
+ PsiWhiteSpace(' ')
+ PsiIdentifier:TestClass('TestClass')
+ PsiTypeParameterList
+ <empty list>
+ PsiReferenceList
+ <empty list>
+ PsiReferenceList
+ <empty list>
+ PsiWhiteSpace(' ')
+ PsiJavaToken:LBRACE('{')
+ PsiWhiteSpace('\n ')
+ PsiMethod:test
+ PsiModifierList:
+ <empty list>
+ PsiTypeParameterList
+ PsiJavaToken:LT('<')
+ PsiTypeParameter:T
+ PsiIdentifier:T('T')
+ PsiElement(EXTENDS_BOUND_LIST)
+ <empty list>
+ PsiJavaToken:GT('>')
+ PsiWhiteSpace(' ')
+ PsiTypeElement:@Nullable List<T>
+ PsiAnnotation
+ PsiJavaToken:AT('@')
+ PsiJavaCodeReferenceElement:Nullable
+ PsiIdentifier:Nullable('Nullable')
+ PsiReferenceParameterList
+ <empty list>
+ PsiAnnotationParameterList
+ <empty list>
+ PsiWhiteSpace(' ')
+ PsiJavaCodeReferenceElement:List<T>
+ PsiIdentifier:List('List')
+ PsiReferenceParameterList
+ PsiJavaToken:LT('<')
+ PsiTypeElement:T
+ PsiJavaCodeReferenceElement:T
+ PsiIdentifier:T('T')
+ PsiReferenceParameterList
+ <empty list>
+ PsiJavaToken:GT('>')
+ PsiWhiteSpace(' ')
+ PsiIdentifier:test('test')
+ PsiParameterList:()
+ PsiJavaToken:LPARENTH('(')
+ PsiJavaToken:RPARENTH(')')
+ PsiReferenceList
+ <empty list>
+ PsiJavaToken:SEMICOLON(';')
+ PsiWhiteSpace('\n ')
+ PsiMethod:test
+ PsiModifierList:
+ <empty list>
+ PsiTypeParameterList
+ PsiJavaToken:LT('<')
+ PsiTypeParameter:T
+ PsiIdentifier:T('T')
+ PsiElement(EXTENDS_BOUND_LIST)
+ <empty list>
+ PsiJavaToken:GT('>')
+ PsiWhiteSpace(' ')
+ PsiTypeElement:@Positive int
+ PsiAnnotation
+ PsiJavaToken:AT('@')
+ PsiJavaCodeReferenceElement:Positive
+ PsiIdentifier:Positive('Positive')
+ PsiReferenceParameterList
+ <empty list>
+ PsiAnnotationParameterList
+ <empty list>
+ PsiWhiteSpace(' ')
+ PsiKeyword:int('int')
+ PsiWhiteSpace(' ')
+ PsiIdentifier:test('test')
+ PsiParameterList:(T t)
+ PsiJavaToken:LPARENTH('(')
+ PsiParameter:t
+ PsiModifierList:
+ <empty list>
+ PsiTypeElement:T
+ PsiJavaCodeReferenceElement:T
+ PsiIdentifier:T('T')
+ PsiReferenceParameterList
+ <empty list>
+ PsiWhiteSpace(' ')
+ PsiIdentifier:t('t')
+ PsiJavaToken:RPARENTH(')')
+ PsiReferenceList
+ <empty list>
+ PsiJavaToken:SEMICOLON(';')
+ PsiWhiteSpace('\n ')
+ PsiJavaToken:RBRACE('}')
+ PsiWhiteSpace('\n\n ')
PsiComment(END_OF_LINE_COMMENT)('//')
PsiWhiteSpace('\n ')
PsiComment(END_OF_LINE_COMMENT)('// 2. An annotation on a wildcard type argument appears before the wildcard ...')
@@ -1485,6 +1583,48 @@ PsiJavaFile:TypeAnnotations.java
PsiJavaToken:LBRACE('{')
PsiWhiteSpace(' ')
PsiJavaToken:RBRACE('}')
+ PsiWhiteSpace('\n ')
+ PsiMethod:SpecSamples
+ PsiModifierList:
+ <empty list>
+ PsiTypeParameterList
+ PsiJavaToken:LT('<')
+ PsiTypeParameter:T
+ PsiIdentifier:T('T')
+ PsiElement(EXTENDS_BOUND_LIST)
+ <empty list>
+ PsiJavaToken:GT('>')
+ PsiWhiteSpace(' ')
+ PsiAnnotation
+ PsiJavaToken:AT('@')
+ PsiJavaCodeReferenceElement:Immutable
+ PsiIdentifier:Immutable('Immutable')
+ PsiReferenceParameterList
+ <empty list>
+ PsiAnnotationParameterList
+ <empty list>
+ PsiWhiteSpace(' ')
+ PsiIdentifier:SpecSamples('SpecSamples')
+ PsiParameterList:(T t)
+ PsiJavaToken:LPARENTH('(')
+ PsiParameter:t
+ PsiModifierList:
+ <empty list>
+ PsiTypeElement:T
+ PsiJavaCodeReferenceElement:T
+ PsiIdentifier:T('T')
+ PsiReferenceParameterList
+ <empty list>
+ PsiWhiteSpace(' ')
+ PsiIdentifier:t('t')
+ PsiJavaToken:RPARENTH(')')
+ PsiReferenceList
+ <empty list>
+ PsiWhiteSpace(' ')
+ PsiCodeBlock
+ PsiJavaToken:LBRACE('{')
+ PsiWhiteSpace(' ')
+ PsiJavaToken:RBRACE('}')
PsiWhiteSpace('\n\n ')
PsiComment(END_OF_LINE_COMMENT)('//')
PsiWhiteSpace('\n ')