forked from JavaTX/JavaCompilerCore
37 lines
1.1 KiB
Java
37 lines
1.1 KiB
Java
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<Constant, Integer> 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;
|
|
}
|
|
|
|
}
|