| @interface Annotation { |
| class foo { |
| } |
| |
| def Field field = new Field() |
| |
| } |
| ----- |
| Groovy script |
| Annotation definition |
| Modifiers |
| <empty list> |
| PsiElement(@)('@') |
| PsiElement(interface)('interface') |
| PsiWhiteSpace(' ') |
| PsiElement(identifier)('Annotation') |
| PsiWhiteSpace(' ') |
| Type definition body |
| PsiElement({)('{') |
| PsiWhiteSpace('\n ') |
| Class definition |
| Modifiers |
| <empty list> |
| PsiElement(class)('class') |
| PsiWhiteSpace(' ') |
| PsiElement(identifier)('foo') |
| Extends clause |
| <empty list> |
| Implements clause |
| <empty list> |
| PsiWhiteSpace(' ') |
| Type definition body |
| PsiElement({)('{') |
| PsiWhiteSpace('\n ') |
| PsiElement(})('}') |
| PsiElement(new line)('\n\n ') |
| Variable definitions |
| Modifiers |
| PsiElement(def)('def') |
| PsiWhiteSpace(' ') |
| Type element |
| Reference element |
| PsiElement(identifier)('Field') |
| PsiWhiteSpace(' ') |
| Field |
| PsiElement(identifier)('field') |
| PsiWhiteSpace(' ') |
| PsiElement(=)('=') |
| PsiWhiteSpace(' ') |
| NEW expression |
| PsiElement(new)('new') |
| PsiWhiteSpace(' ') |
| Reference element |
| PsiElement(identifier)('Field') |
| Arguments |
| PsiElement(()('(') |
| PsiElement())(')') |
| PsiElement(new line)('\n\n') |
| PsiElement(})('}') |