/testability-explorer/src/main/java/com/google/test/metric/method/op/stack/MultiANewArrayIns.java

http://testability-explorer.googlecode.com/ · Java · 39 lines · 30 code · 9 blank · 0 comment · 1 complexity · faa561c3ad352cb1f83bee729d91358b MD5 · raw file

  1. package com.google.test.metric.method.op.stack;
  2. import java.util.List;
  3. import com.google.test.metric.Type;
  4. import com.google.test.metric.Variable;
  5. import com.google.test.metric.method.Constant;
  6. public class MultiANewArrayIns extends StackOperation {
  7. private final Type clazz;
  8. private final int dims;
  9. public MultiANewArrayIns(int lineNumber, Type clazz, int dims) {
  10. super(lineNumber);
  11. this.clazz = clazz;
  12. this.dims = dims;
  13. }
  14. @Override
  15. public int getOperatorCount() {
  16. return dims;
  17. }
  18. @Override
  19. public List<Variable> apply(List<Variable> input) {
  20. Type array = clazz;
  21. for (int i = 0; i < dims; i++) {
  22. array = array.toArray();
  23. }
  24. return list(new Constant("?", array));
  25. }
  26. @Override
  27. public String toString() {
  28. return "MultiANewArray dims=" + dims;
  29. }
  30. }