| const annotation = null; |
| |
| class Annotation { |
| final String message; |
| const Annotation(this.message); |
| } |
| |
| class A<E> {} |
| |
| class C { |
| m() => new A<@annotation @Annotation("test") C>(); |
| } |
| |
| |
| const[KeywordToken] annotation[StringToken] =[SimpleToken] null[KeywordToken];[SimpleToken] |
| |
| class[KeywordToken] Annotation[StringToken] {[BeginToken] |
| final[KeywordToken] String[StringToken] message[StringToken];[SimpleToken] |
| const[KeywordToken] Annotation[StringToken]([BeginToken]this[KeywordToken].[SimpleToken]message[StringToken])[SimpleToken];[SimpleToken] |
| }[SimpleToken] |
| |
| class[KeywordToken] A[StringToken]<[BeginToken]E[StringToken]>[SimpleToken] {[BeginToken]}[SimpleToken] |
| |
| class[KeywordToken] C[StringToken] {[BeginToken] |
| m[StringToken]([BeginToken])[SimpleToken] =>[SimpleToken] new[KeywordToken] A[StringToken]<[BeginToken]@[SimpleToken]annotation[StringToken] @[SimpleToken]Annotation[StringToken]([BeginToken]"test"[StringToken])[SimpleToken] C[StringToken]>[SimpleToken]([BeginToken])[SimpleToken];[SimpleToken] |
| }[SimpleToken] |
| [SimpleToken] |