Call extends Operation { public final Variable[] getArgs() { return Arrays.copyOf(this.args, this.args.length - 1); } Call(final Function function, final Variable ... args); final Function getFunction(); final Variable[] getArgs(); final Variable getTarget(); @Override final String toString();  }
@Test public void testGetArgs() throws Exception { Function f = new Function("f", Type.INT, Type.INT); Variable v = Variable.create(Type.INT, "v", "10"); Variable w = Variable.create(Type.INT, "w", null); Call c = new Call(f, v, w); Variable[] args = {v}; assertArrayEquals(args, c.getArgs()); }