/** * Return whether the given FieldInstruction accesses a long or double * field. * * @param fieldIns * the FieldInstruction * @param cpg * the ConstantPoolGen for the method */ protected static boolean isLongOrDouble(FieldInstruction fieldIns, ConstantPoolGen cpg) { Type type = fieldIns.getFieldType(cpg); int code = type.getType(); return code == Const.T_LONG || code == Const.T_DOUBLE; }
public void modelFieldLoad(FieldInstruction obj) { consumeStack(obj); Type loadType = obj.getFieldType(cpg); XField xfield = Hierarchy.findXField(obj, getCPG()); if (xfield != null) { loadType = getType(xfield); } pushValue(loadType); }
/** @return return type of referenced field */ @Override public Type getType( final ConstantPoolGen cpg ) { return getFieldType(cpg); }
/** @return return type of referenced field */ public Type getType(ConstantPoolGen cpg) { return getFieldType(cpg); }
/** * Return whether the given FieldInstruction accesses a long or double * field. * * @param fieldIns * the FieldInstruction * @param cpg * the ConstantPoolGen for the method */ protected static boolean isLongOrDouble(FieldInstruction fieldIns, ConstantPoolGen cpg) { Type type = fieldIns.getFieldType(cpg); int code = type.getType(); return code == T_LONG || code == T_DOUBLE; }
public void visitFieldInstruction(FieldInstruction i) { short opcode = i.getOpcode(); String class_name = i.getClassName(_cp); String field_name = i.getFieldName(_cp); Type type = i.getFieldType(_cp); _out.println("il.append(_factory.createFieldAccess(\"" + class_name + "\", \"" + field_name + "\", " + BCELifier.printType(type) + ", " + "Constants." + Constants.OPCODE_NAMES[opcode].toUpperCase() + "));"); }
@Override public void visitFieldInstruction( final FieldInstruction i ) { final short opcode = i.getOpcode(); final String class_name = i.getClassName(_cp); final String field_name = i.getFieldName(_cp); final Type type = i.getFieldType(_cp); _out.println("il.append(_factory.createFieldAccess(\"" + class_name + "\", \"" + field_name + "\", " + BCELifier.printType(type) + ", " + CONSTANT_PREFIX + Const.getOpcodeName(opcode).toUpperCase(Locale.ENGLISH) + "));"); }
public void modelFieldLoad(FieldInstruction obj) { consumeStack(obj); Type loadType = obj.getFieldType(cpg); XField xfield = Hierarchy.findXField(obj, getCPG()); if (xfield != null) { loadType = getType(xfield); } pushValue(loadType); }