TypeConstructorExpr extends Expr { public void insertArg(int index, Expr arg) { args.add(index, arg); } TypeConstructorExpr(String type, List<Expr> args);  TypeConstructorExpr(String type, Expr... params); String getTypename(); void setTypename(String type); List<Expr> getArgs(); Expr getArg(int index); Expr removeArg(int index); int getNumArgs(); @Override void accept(IAstVisitor visitor); @Override TypeConstructorExpr clone(); void insertArg(int index, Expr arg); @Override boolean hasChild(IAstNode candidateChild); @Override Expr getChild(int index); @Override void setChild(int index, Expr expr); @Override int getNumChildren();  }
@Test public void insertArg() { TypeConstructorExpr tce = new TypeConstructorExpr("foo", exprsList()); tce.insertArg(1, new FloatConstantExpr("12.34")); assertEquals("foo(2.0 * 3.6, 12.34, true, s.f)", tce.getText()); }