/** * Constructs a StaticFieldRef(SootFieldRef) grammar chunk. */ public StaticFieldRef newStaticFieldRef(SootFieldRef f) { return new StaticFieldRef(f); }
public void caseStaticFieldRef(StaticFieldRef v) { emit("getstatic " + slashify(v.getFieldRef().declaringClass().getName()) + "/" + v.getFieldRef().name() + " " + jasminDescriptorOf(v.getFieldRef().type()), sizeOfType(v.getFieldRef().type())); }
StaticFieldRef rightFieldRef = (StaticFieldRef) right; if (Model.v().getArgumentsForStaticField(rightFieldRef.getField().getSignature()) != null) { if (logger.isDebugEnabled()) { logger.debug("Adding constant"); pointsToAnalysis.reachingObjects(sourceFieldRef.getField()); PointsToSet rightPointsToSet = pointsToAnalysis.reachingObjects(rightFieldRef.getField()); || haveCommonFields(sourceFieldRef.getFieldRef().declaringClass(), rightFieldRef .getFieldRef().declaringClass())) { res.add(left);
private void initRefTypeLists(ValueBox box) { Value val = box.getValue(); Type opType = null; if (val instanceof InstanceFieldRef) { InstanceFieldRef ir = (InstanceFieldRef) val; opType = ir.getType(); if (opType instanceof RefType || opType instanceof ArrayType) { EquivalentValue eir = getEquivalentValue(ir); if (!refTypeInstFields.contains(eir)) { refTypeInstFields.add(eir); EquivalentValue eirbase = getEquivalentValue(ir.getBase()); if (!refTypeInstFieldBases.contains(eirbase)) { refTypeInstFieldBases.add(eirbase); } } } } else if (val instanceof StaticFieldRef) { StaticFieldRef sr = (StaticFieldRef) val; opType = sr.getType(); if (opType instanceof RefType || opType instanceof ArrayType) { EquivalentValue esr = getEquivalentValue(sr); if (!refTypeStaticFields.contains(esr)) { refTypeStaticFields.add(esr); } } } }
FieldRef ref = s.getFieldRef(); if ((ref instanceof StaticFieldRef) && (Type.toMachineType(((StaticFieldRef) ref).getType()) instanceof RefLikeType)) { isMethodPure = false; // kills purity isMethodConditionallyPure = false; // kills conditional purity
public int equivHashCode() { return getField().equivHashCode(); }
public Object clone() { return new StaticFieldRef(fieldRef); }
public void caseStaticFieldRef(StaticFieldRef v) { ((ConvertToBaf) rvalue).convertToBaf(context, out); Unit u = Baf.v().newStaticPutInst(v.getFieldRef()); u.addAllTagsOf(JAssignStmt.this); out.add(u); } });
/** Constructs a StaticFieldRef(SootFieldRef) grammar chunk. */ public StaticFieldRef newStaticFieldRef(SootFieldRef f) { return new StaticFieldRef(f); }
private Insn buildStaticFieldGetInsn(Register destinationReg, StaticFieldRef sourceRef) { FieldReference sourceField = DexPrinter.toFieldReference(sourceRef.getFieldRef()); Opcode opc = getPutGetOpcodeWithTypeSuffix(SGET_OPCODE, sourceField.getType()); return new Insn21c(opc, destinationReg, sourceField); }
public void inStaticFieldRef(StaticFieldRef sfr) { if (inDefinitionStmt && (definedLocal != null)) { SootField field = sfr.getField(); info.setFieldName(definedLocal, field.getName()); } }
/** Constructs a StaticFieldRef(SootFieldRef) grammar chunk. */ public StaticFieldRef newStaticFieldRef(SootFieldRef f) { return new StaticFieldRef(f); }
public void caseStaticFieldRef(StaticFieldRef v) { SootFieldRef field = v.getFieldRef(); emitValue(rvalue); emit("putstatic " + slashify(field.declaringClass().getName()) + "/" + field.name() + " " + jasminDescriptorOf(field.type()), -sizeOfType(v.getFieldRef().type())); } });
public Object clone() { return new StaticFieldRef(fieldRef); }
private Insn buildStaticFieldPutInsn(StaticFieldRef destRef, Value source) { Register sourceReg = regAlloc.asImmediate(source, constantV); FieldReference destField = DexPrinter.toFieldReference(destRef.getFieldRef()); Opcode opc = getPutGetOpcodeWithTypeSuffix(SPUT_OPCODE, destField.getType()); return new Insn21c(opc, sourceReg, destField); }
StaticFieldRef v = (StaticFieldRef) fr; try { SootField field = v.getField(); if (field == null) { exceptions.add(new UnitValidationException(unit, body, "Resolved field is null: " + fr.toString()));
public Object clone() { return new StaticFieldRef(fieldRef); }