A -> UClass (name = A)
str -> UParameter (name = str)
String -> USimpleNameReferenceExpression (identifier = String)
constructor -> UAnnotationMethod (name = A)
i -> UParameter (name = i)
Int -> USimpleNameReferenceExpression (identifier = Int)
this -> UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
i -> USimpleNameReferenceExpression (identifier = i)
toString -> UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
foo -> UAnnotationMethod (name = foo)
a -> UParameter (name = a)
Long -> USimpleNameReferenceExpression (identifier = Long)
B -> UClass (name = B)
param -> UParameter (name = param)
String -> USimpleNameReferenceExpression (identifier = String)
A -> UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
param -> USimpleNameReferenceExpression (identifier = param)
C -> UClass (name = C)
A -> USimpleNameReferenceExpression (identifier = A)
constructor -> UAnnotationMethod (name = C)
p -> UParameter (name = p)
String -> USimpleNameReferenceExpression (identifier = String)
super -> UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
p -> USimpleNameReferenceExpression (identifier = p)
constructor -> UAnnotationMethod (name = C)
i -> UParameter (name = i)
Int -> USimpleNameReferenceExpression (identifier = Int)
super -> UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
i -> USimpleNameReferenceExpression (identifier = i)
    println -> UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0))
foo -> UAnnotationMethod (name = foo)
a -> UParameter (name = a)
Long -> USimpleNameReferenceExpression (identifier = Long)
    super -> USimpleNameReferenceExpression (identifier = super)
    foo -> UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))
    a -> USimpleNameReferenceExpression (identifier = a)
O -> UClass (name = O)
A -> UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
anon -> UField (name = anon)
object -> UClass (name = null)
A -> UObjectLiteralExpression
bar -> UAnnotationMethod (name = bar)
    cons -> UCallExpression (kind = UastCallKind(name='method_call'), argCount = 1))
    object -> UClass (name = null)
    A -> UObjectLiteralExpression
innerObject -> UClass (name = innerObject)
A -> UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
InnerClass -> UClass (name = InnerClass)
A -> UCallExpression (kind = UastCallKind(name='constructor_call'), argCount = 1))
cons -> UAnnotationMethod (name = cons)
a -> UParameter (name = a)
A -> USimpleNameReferenceExpression (identifier = A)
