package com.coderising.jvm.constant;
public class NameAndTypeInfo extends ConstantInfo{
public int type = ConstantInfo.NAME_AND_TYPE_INFO;
private int name_index;
private int descriptor_index;
public NameAndTypeInfo(ConstantPool pool) {
super(pool);
}
public int getNameIndex() {
return name_index;
}
public void setNameIndex(int name_index) {
this.name_index = name_index;
}
public int getDescriptorIndex() {
return descriptor_index;
}
public void setDescriptorIndex(int descriptor_index) {
this.descriptor_index = descriptor_index;
}
public int getType() {
return type;
}
public String getName(){
ConstantPool pool = this.getConstantPool();
UTF8Info utf8Info1 = (UTF8Info)pool.getConstantInfo(name_index);
return utf8Info1.getValue();
}
public String getTypeInfo(){
ConstantPool pool = this.getConstantPool();
UTF8Info utf8Info2 = (UTF8Info)pool.getConstantInfo(descriptor_index);
return utf8Info2.getValue();
}
public String toString(){
return "(" + getName() + "," + getTypeInfo()+")";
}
@Override
public void accept(Visitor visitor) {
visitor.visitNameAndType(this);
}
}