NestedExp extends Exp { public static NestedExp arg(int num) { return new CodeNestedExp("$" + num); }  static NestedExp arg(int num); static NestedExp field(String name); static NestedExp field(CtField field); static NestedExp var(String name); static List<NestedExp> getArgsList(CtBehavior behavior, int startIndex); static NestedExp field(String name, CtClass parentClass); static NestedExp method(String name, NestedExp... params); StandaloneExp toStandalone(); NestedExp appendCall(String method, NestedExp... params); NestedExp appendCall(String method, List<NestedExp> callParams); NestedExp appendAccess(String field); @Override void insertAfter(CtBehavior behavior); @Override void insertBefore(CtBehavior behavior); @Override void insertCatch(CtClass exceptionType, CtBehavior behavior); @Override void insertFinally(CtBehavior behavior); @Override void replace(Expr expression); static final NestedExp THIS; static final NestedExp NULL; static final NestedExp RETURN_VALUE; static final NestedExp EXCEPTION_VALUE; static final NestedExp CALLING_OBJECT; static final NestedExp PROCEED; static final NestedExp ALL_ARGS; }
@Test public void testArg() { assertEquals("$3", NestedExp.arg(3).getCode()); }