/** * Convenience method returning true if this field is protected. */ public boolean isProtected() { return Modifier.isProtected(this.getModifiers()); }
/** * Convenience method returning true if this field is static. */ public boolean isStatic() { return Modifier.isStatic(this.getModifiers()); }
/** * Convenience method returning true if this field is public. */ public boolean isPublic() { return Modifier.isPublic(this.getModifiers()); }
/** * Convenience method returning true if this field is private. */ public boolean isPrivate() { return Modifier.isPrivate(this.getModifiers()); }
/** * Convenience method returning true if this field is final. */ public boolean isFinal() { return Modifier.isFinal(this.getModifiers()); }
public FinalFieldDefinition(ASTMethodNode node) { davaBody = node.getDavaBody(); sootMethod = davaBody.getMethod(); sootClass = sootMethod.getDeclaringClass(); String subSignature = sootMethod.getName(); if (!(subSignature.compareTo("<clinit>") == 0 || subSignature.compareTo("<init>") == 0)) { // dont care about these since we want only static block and // constructors // System.out.println("\n\nName"+sootMethod.getName()+" // SubSignature:"+sootMethod.getSubSignature()); return; } // create a list of interesting vars ArrayList<SootField> interesting = findFinalFields(); if (interesting.size() == 0) { // no final fields of interest return; } cancelFinalModifier = new ArrayList<SootField>(); analyzeMethod(node, interesting); Iterator<SootField> it = cancelFinalModifier.iterator(); while (it.hasNext()) { SootField field = it.next(); field.setModifiers((soot.Modifier.FINAL ^ 0xFFFF) & field.getModifiers()); } }
if (Modifier.isPublic(f.getModifiers())) { } else if (Modifier.isProtected(f.getModifiers())) { actual = "Protected"; } else if (Modifier.isPrivate(f.getModifiers())) { actual = "Private"; } else {
while (fieldIt.hasNext()) { SootField field = fieldIt.next(); int modifiers = field.getModifiers();
while (fieldIt.hasNext()) { SootField f = fieldIt.next(); if (!privateOnly || Modifier.isPrivate(f.getModifiers())) { String newFieldName = "__field" + (fieldCount++); f.setName(newFieldName);
SootField f = fieldRef.getField(); if (f.equals(sf)) { if (Modifier.isPublic(sf.getModifiers())) { if (analyzePublicField(sf, appClass)) { return; } else if (Modifier.isProtected(sf.getModifiers())) { analyzeProtectedField(sf, appClass); } else if (Modifier.isPrivate(sf.getModifiers())) { } else { analyzePackageField(sf, appClass);
String qualifiers = Modifier.toString(f.getModifiers()) + " ";
XMLNode xmlModifiersNode = xmlFieldNode.addChild("modifiers"); StringTokenizer st = new StringTokenizer(Modifier.toString(f.getModifiers())); while (st.hasMoreTokens()) { xmlModifiersNode.addChild("modifier", new String[] { "name" }, new String[] { st.nextToken() + "" });
f.getModifiers(), staticInit, fieldAnnotations); fields.add(field);
SootField field = (SootField) fieldIt.next(); String fieldString = ".field " + Modifier.toString(field.getModifiers()) + " " + "\"" + field.getName() + "\"" + " " + jasminDescriptorOf(field.getType()); fieldString += doubleToString(val.getDoubleValue()); if (field.hasTag("SyntheticTag") || Modifier.isSynthetic(field.getModifiers())) { fieldString += " .synthetic";
/** * Emits the bytecode for all fields of the class */ protected void generateFields() { for (SootField f : sc.getFields()) { if (f.isPhantom()) { continue; } String name = f.getName(); String desc = toTypeDesc(f.getType()); String sig = null; if (f.hasTag("SignatureTag")) { SignatureTag genericSignature = (SignatureTag) f.getTag("SignatureTag"); sig = genericSignature.getSignature(); } Object value = getDefaultValue(f); int access = getModifiers(f.getModifiers(), f); FieldVisitor fv = cv.visitField(access, name, desc, sig, value); if (fv != null) { generateAnnotations(fv, f); generateAttributes(fv, f); fv.visitEnd(); } } }
/** * Convenience method returning true if this field is protected. */ public boolean isProtected() { return Modifier.isProtected(this.getModifiers()); }
/** * Convenience method returning true if this field is private. */ public boolean isPrivate() { return Modifier.isPrivate(this.getModifiers()); }
/** * Convenience method returning true if this field is static. */ public boolean isStatic() { return Modifier.isStatic(this.getModifiers()); }
/** * Convenience method returning true if this field is static. */ public boolean isStatic() { return Modifier.isStatic(this.getModifiers()); }
/** * Convenience method returning true if this field is final. */ public boolean isFinal() { return Modifier.isFinal(this.getModifiers()); }