/** * Convenience method returning true if this method is private. */ @Override public boolean isPrivate() { return Modifier.isPrivate(this.getModifiers()); }
/** * Convenience method returning true if this method is final. */ public boolean isFinal() { return Modifier.isFinal(this.getModifiers()); }
/** * Convenience method returning true if this method is protected. */ @Override public boolean isProtected() { return Modifier.isProtected(this.getModifiers()); }
/** * Convenience method returning true if this method is abstract. */ public boolean isAbstract() { return Modifier.isAbstract(this.getModifiers()); }
/** * Convenience method returning true if this method is native. */ public boolean isNative() { return Modifier.isNative(this.getModifiers()); }
/** * Convenience method returning true if this method is synchronized. */ public boolean isSynchronized() { return Modifier.isSynchronized(this.getModifiers()); }
/** * Convenience method returning true if this method is static. */ @Override public boolean isStatic() { return Modifier.isStatic(this.getModifiers()); }
/** * Convenience method returning true if this method is public. */ @Override public boolean isPublic() { return Modifier.isPublic(this.getModifiers()); }
MethodBuilder(SootMethod method, SootClassBuilder scb, String desc, String[] ex) { super(Opcodes.ASM5, null, method.getModifiers(), method.getName(), desc, null, ex); this.method = method; this.scb = scb; }
public static int getDexAccessFlags(SootMethod m) { int dexAccessFlags = m.getModifiers(); // dex constructor flag is not included in the Soot modifiers, so add it if // necessary if (m.isConstructor() || m.getName().equals(SootMethod.staticInitializerName)) { dexAccessFlags |= Modifier.CONSTRUCTOR; } // add declared_synchronized for dex if synchronized if (m.isSynchronized()) { dexAccessFlags |= Modifier.DECLARED_SYNCHRONIZED; // even remove synchronized if not native, since only allowed there if (!m.isNative()) { dexAccessFlags &= ~Modifier.SYNCHRONIZED; } } return dexAccessFlags; }
StringTokenizer st = new StringTokenizer(Modifier.toString(this.getModifiers())); if (st.hasMoreTokens()) { buffer.append(st.nextToken());
while (methodIt.hasNext()) { SootMethod m = methodIt.next(); if (!privateOnly || Modifier.isPrivate(m.getModifiers())) { String newMethodName = "__method" + (methodCount++); m.setName(newMethodName);
if (Modifier.isPublic(meth.getModifiers())) { actual = "Public"; } else if (Modifier.isProtected(meth.getModifiers())) { actual = "Protected"; } else if (Modifier.isPrivate(meth.getModifiers())) { actual = "Private"; } else {
if (Modifier.isPublic(sm.getModifiers())) { analyzePublicMethod(sm, callingClass); else if (Modifier.isProtected(sm.getModifiers())) { analyzeProtectedMethod(sm, callingClass); else if (Modifier.isPrivate(sm.getModifiers())) {
if (Modifier.isStatic(maybeInline.getModifiers())) {
int access = getModifiers(sm.getModifiers(), sm); String name = sm.getName(); StringBuilder descBuilder = new StringBuilder(5);
emit(".method " + Modifier.toString(method.getModifiers()) + " " + method.getName() + jasminDescriptorOf(method.makeRef())); emit(".throws " + exceptClass.getName()); if (method.hasTag("SyntheticTag") || Modifier.isSynthetic(method.getModifiers())) { emit(".synthetic");
@Override protected void internalTransform(Body b, String phaseName, Map<String, String> options) { for (Iterator<Unit> unitIt = b.getUnits().snapshotIterator(); unitIt.hasNext();) { Unit u = unitIt.next(); if (u instanceof Stmt) { Stmt s = (Stmt) u; if (s.containsInvokeExpr()) { InvokeExpr iexpr = s.getInvokeExpr(); if (iexpr instanceof StaticInvokeExpr) { if (isClassLoaded(iexpr.getMethodRef().declaringClass())) { SootMethod target = Scene.v().grabMethod(iexpr.getMethodRef().getSignature()); if (target != null && !target.isStatic()) { if (canBeMadeStatic(target)) { // Remove the this-assignment to prevent // 'this-assignment in a static method!' exception target.getActiveBody().getUnits().remove(target.getActiveBody().getThisUnit()); target.setModifiers(target.getModifiers() | Modifier.STATIC); logger.warn(target.getName() + " changed into a static method"); } } } } } } } }
boolean isStatic = Modifier.isStatic(jmethod.getModifiers());
if (!m.isPublic()) { int mod = Modifier.PUBLIC | m.getModifiers(); mod &= ~Modifier.PRIVATE; mod &= ~Modifier.PROTECTED;