TypeConstructorExpr extends Expr { public List<Expr> getArgs() { return Collections.unmodifiableList(args); } 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 getArgs() throws Exception { List<Expr> args = exprsList(); TypeConstructorExpr e = new TypeConstructorExpr("foo", args); for (int i = 0; i < args.size(); i++) { assertTrue(args.get(i) == e.getArgs().get(i)); } }