exec.rawExpression(expr);
set(node, exec);
}
@Override public void visitApply(JCMethodInvocation node) {
MethodInvocation inv = new MethodInvocation();
JCTree sel = node.getMethodSelect();
Identifier id = new Identifier();
if (sel instanceof JCIdent) {
String name = ((JCIdent) sel).getName().toString();
if ("this".equals(name)) {
AlternateConstructorInvocation aci = new AlternateConstructorInvocation();
fillList(node.getTypeArguments(), aci.rawConstructorTypeArguments(), FlagKey.TYPE_REFERENCE);
fillList(node.getArguments(), aci.rawArguments());
set(node, aci);
setConversionPositionInfo(aci, "this", getPosition(sel));
return;
}
if ("super".equals(name)) {
SuperConstructorInvocation sci = new SuperConstructorInvocation();
fillList(node.getTypeArguments(), sci.rawConstructorTypeArguments(), FlagKey.TYPE_REFERENCE);
fillList(node.getArguments(), sci.rawArguments());
set(node, sci);
setConversionPositionInfo(sci, "super", getPosition(sel));
return;
}
setPos(sel, id.astValue(name));
sel = null;
} else if (sel instanceof JCFieldAccess) {
String name = ((JCFieldAccess) sel).getIdentifier().toString();
if ("super".equals(name)) {
SuperConstructorInvocation sci = new SuperConstructorInvocation();
fillList(node.getTypeArguments(), sci.rawConstructorTypeArguments(), FlagKey.TYPE_REFERENCE);
fillList(node.getArguments(), sci.rawArguments());
sci.rawQualifier(toTree(((JCFieldAccess) sel).getExpression()));
set(node, sci);
setConversionPositionInfo(sci, "super", getPosition(sel));
return;
}
setPos(sel, id.astValue(name));
sel = ((JCFieldAccess) sel).getExpression();
}
inv.astName(id).rawOperand(toTree(sel));
fillList(node.getTypeArguments(), inv.rawMethodTypeArguments(), FlagKey.TYPE_REFERENCE);
fillList(node.getArguments(), inv.rawArguments());
set(node, inv);
}