package com.coderising.jvm.constant; public class NameAndTypeInfo extends ConstantInfo { private int type = NAME_AND_TYPE_INFO;// u1 tag private int name_index;// u2 name_index private int descriptor_index;// u2 descriptor_index public NameAndTypeInfo(ConstantPool pool) { super(pool); } @Override public int getType() { return type; } @Override public void print() { System.out.println("u1 tag:" + getType() + " NameAndTypeInfo" + ",u2 name_index:" + getName_index() + ",u2 descriptor_index:" + getDescriptor_index()); } @Override public String toString() { return "(" + getName() + "," + getTypeInfo() + ")"; } public String getName() { UTF8Info u = (UTF8Info) this.constantPool.getConstantInfo(name_index); return u.getValue(); } public String getTypeInfo() { UTF8Info u = (UTF8Info) this.constantPool .getConstantInfo(descriptor_index); return u.getValue(); } /* * getter setter */ public int getName_index() { return name_index; } public void setName_index(int name_index) { this.name_index = name_index; } public int getDescriptor_index() { return descriptor_index; } public void setDescriptor_index(int descriptor_index) { this.descriptor_index = descriptor_index; } }