package de.dhbwstuttgart.bytecode; import java.util.HashMap; import org.apache.commons.bcel6.classfile.Constant; import org.apache.commons.bcel6.classfile.ConstantMethodHandle; import org.apache.commons.bcel6.classfile.ConstantMethodType; import org.apache.commons.bcel6.generic.ConstantPoolGen; public class DHBWConstantPoolGen extends ConstantPoolGen{ private static final long serialVersionUID = -8282768548793548585L; private final HashMap constantTable = new HashMap<>(); //private static final String DELIMITER = "$"; /* public int addConstantMethodType(ConstantMethodType methodType) { if(constantTable.containsKey(methodType))return constantTable.get(methodType); } public int addConstantMethodHandle(ConstantMethodHandle methodHandle) { if(constantTable.containsKey(methodHandle))return constantTable.get(methodHandle); int ret = this.index; return ret; } */ public int addConstant(Constant c){ if(constantTable.containsKey(c))return constantTable.get(c); int ret = this.index; this.constants[this.index++] = c; constantTable.put(c, ret); return ret; } }