BoxedInt.java 684 B

1234567891011121314151617181920212223242526272829303132333435
  1. package com.oblivm.backend.lang.inter;
  2. import com.oblivm.backend.flexsc.CompEnv;
  3. import com.oblivm.backend.flexsc.IWritable;
  4. public class BoxedInt<T1> implements IWritable<BoxedInt<T1>, T1> {
  5. public T1[] value;
  6. public CompEnv<T1> env;
  7. public BoxedInt(CompEnv<T1> env, T1[] data) {
  8. this.value = data;
  9. this.env = env;
  10. }
  11. public BoxedInt(CompEnv<T1> env, T1 data) {
  12. this.value = env.newTArray(1);
  13. this.value[0] = data;
  14. this.env = env;
  15. }
  16. @Override
  17. public int numBits() {
  18. return value.length;
  19. }
  20. @Override
  21. public T1[] getBits() {
  22. return value;
  23. }
  24. @Override
  25. public BoxedInt<T1> newObj(T1[] data) throws Exception {
  26. return new BoxedInt<T1>(env, data);
  27. }
  28. }