package com.coderising.jvm.constant;
import java.util.ArrayList;
import java.util.List;
public class ConstantPool {
private List<ConstantInfo> constantInfos = new ArrayList<ConstantInfo>();
public ConstantPool(){
}
public void addConstantInfo(ConstantInfo info){
System.out.println("added: " + info.getClass().getName() + " current size; " + constantInfos.size());
this.constantInfos.add(info);
}
public ConstantInfo getConstantInfo(int index){
return this.constantInfos.get(index);
}
public String getUTF8String(int index){
return ((UTF8Info)this.constantInfos.get(index)).getValue();
}
public int getSize() {
return this.constantInfos.size() -1;
}
public String toString(){
StringBuilder sb = new StringBuilder();
for(int i = 0; i<constantInfos.size(); i++){
sb.append(constantInfos.get(i) + "\n");
}
return sb.toString();
}
}