package :
annotation @X:

package :
annotation @V:
    int value

package :
class NonClass$A:

    method m(Ljava/lang/Object;)V:
        return:
        insert-annotation Method.parameter 0, Variable.type: @X

package :
class NonClass$B:

    method m()V:
        return:
        insert-annotation Method.body, Block.statement 0, Variable.type: @X

package :
class NonClass$C:

    method value()Ljava/lang/String;:
        return:
        insert-annotation Method.type: @X

package :
class NonClass$E:

    field D:
        insert-annotation Variable.initializer, NewClass.argument 0, TypeCast.type: @V(value=1)
        insert-annotation Variable.initializer, NewClass.identifier: @V(value=2)
        insert-annotation Variable.type: @V(value=3)

package :
class NonClass$E:

    field a:
        insert-annotation Variable.type: @X

package :
class NonClass$E:

    method <init>(Ljava/lang/String;)V:
        insert-annotation Method.body, Block.statement 1, ExpressionStatement.expression, Assignment.expression, NewClass.identifier: @V(value=0)

package :
class NonClass$I:
    insert-annotation Class.bound 0: @X
    insert-annotation Class.bound 0, ParameterizedType.typeArgument 0: @X