| switch(age){ |
| case 16..20 : insuranceRate = 0.05 ; break |
| default: throw new IllegalArgumentException() |
| } |
| ----- |
| Groovy script |
| Switch statement |
| PsiElement(switch)('switch') |
| PsiElement(()('(') |
| Reference expression |
| PsiElement(identifier)('age') |
| PsiElement())(')') |
| PsiElement({)('{') |
| PsiWhiteSpace('\n') |
| Case section |
| Case label |
| PsiElement(case)('case') |
| PsiWhiteSpace(' ') |
| Range expression |
| Literal |
| PsiElement(Integer)('16') |
| PsiElement(..)('..') |
| Literal |
| PsiElement(Integer)('20') |
| PsiWhiteSpace(' ') |
| PsiElement(:)(':') |
| PsiWhiteSpace(' ') |
| Assignment expression |
| Reference expression |
| PsiElement(identifier)('insuranceRate') |
| PsiWhiteSpace(' ') |
| PsiElement(=)('=') |
| PsiWhiteSpace(' ') |
| Literal |
| PsiElement(BigDecimal)('0.05') |
| PsiWhiteSpace(' ') |
| PsiElement(;)(';') |
| PsiWhiteSpace(' ') |
| BREAK statement |
| PsiElement(break)('break') |
| PsiElement(new line)('\n') |
| Case section |
| Case label |
| PsiElement(default)('default') |
| PsiElement(:)(':') |
| PsiWhiteSpace(' ') |
| THROW statement |
| PsiElement(throw)('throw') |
| PsiWhiteSpace(' ') |
| NEW expression |
| PsiElement(new)('new') |
| PsiWhiteSpace(' ') |
| Reference element |
| PsiElement(identifier)('IllegalArgumentException') |
| Arguments |
| PsiElement(()('(') |
| PsiElement())(')') |
| PsiElement(new line)('\n') |
| PsiElement(})('}') |