| def string = foo a as String |
| ----- |
| Groovy script |
| Variable definitions |
| Modifiers |
| PsiElement(def)('def') |
| PsiWhiteSpace(' ') |
| Variable |
| PsiElement(identifier)('string') |
| PsiWhiteSpace(' ') |
| PsiElement(=)('=') |
| PsiWhiteSpace(' ') |
| Call expression |
| Reference expression |
| PsiElement(identifier)('foo') |
| PsiWhiteSpace(' ') |
| Command arguments |
| Safe cast expression |
| Reference expression |
| PsiElement(identifier)('a') |
| PsiWhiteSpace(' ') |
| PsiElement(as)('as') |
| PsiWhiteSpace(' ') |
| Type element |
| Reference element |
| PsiElement(identifier)('String') |