package me.lzb.jvm.constant;
import me.lzb.jvm.print.PrintVisitor;
/**
* Created by LZB on 2017/4/15.
*/
public class NameAndTypeInfo extends ConstantInfo {
private int type = ConstantInfo.NameAndType_info;
private int index1;
private int index2;
public NameAndTypeInfo(ConstantPool pool) {
super(pool);
}
@Override
public int getType() {
return type;
}
@Override
public void print(PrintVisitor visitor) {
visitor.visitNameAndType(this);
}
public int getIndex1() {
return index1;
}
public void setIndex1(int index1) {
this.index1 = index1;
}
public int getIndex2() {
return index2;
}
public void setIndex2(int index2) {
this.index2 = index2;
}
public String getName() {
ConstantPool pool = this.getConstantPool();
UTF8Info utf8Info1 = (UTF8Info) pool.getConstantInfo(index1);
return utf8Info1.getValue();
}
public String getTypeInfo() {
ConstantPool pool = this.getConstantPool();
UTF8Info utf8Info2 = (UTF8Info) pool.getConstantInfo(index2);
return utf8Info2.getValue();
}
public String toString() {
return getName() + ":" + getTypeInfo();
}
}