package janala.logger; import janala.interpreters.ClassDepot; import java.io.Serializable; public class FieldInfo implements Serializable { private static final long serialVersionUID = 1L; private final String className; private final String fieldName; private final boolean isStatic; private final ClassDepot classDepot; private int fieldId; public FieldInfo(String className, String fieldName, boolean aStatic, ClassDepot classDepot) { this.className = className.replace('/', '.'); this.fieldName = fieldName; isStatic = aStatic; fieldId = -1; this.classDepot = classDepot; } @Override public String toString() { return "FieldInfo{" + "className='" + className + '\'' + ", fieldName='" + fieldName + '\'' + ", isStatic=" + isStatic + ", fieldId=" + fieldId + '}'; } public int getFieldId() { if (fieldId == -1) { if (isStatic) { fieldId = classDepot.getStaticFieldIndex(className,fieldName); } else { fieldId = classDepot.getFieldIndex(className,fieldName); } } return fieldId; } }