boolean isNative= AccessFlags.isNative(accessFlags); boolean isStatic= AccessFlags.isStatic(accessFlags); boolean isAbstract= AccessFlags.isAbstract(accessFlags);
/** * Sets attributes in the element according to the access flags given. */ private static void processAccessFlags(int accessFlags, Element element) { boolean isStatic= AccessFlags.isStatic(accessFlags); boolean isPrivate= AccessFlags.isPrivate(accessFlags); boolean isPublic= AccessFlags.isPublic(accessFlags); boolean isNative= AccessFlags.isNative(accessFlags); boolean isAbstract= AccessFlags.isAbstract(accessFlags); boolean isSynthetic= AccessFlags.isSynthetic(accessFlags); boolean isInterface= AccessFlags.isInterface(accessFlags); setAttributeIfTrue(element, "isStatic", isStatic); setAttributeIfTrue(element, "isPrivate", isPrivate); setAttributeIfTrue(element, "isPublic", isPublic); setAttributeIfTrue(element, "isNative", isNative); setAttributeIfTrue(element, "isAbstract", isAbstract); setAttributeIfTrue(element, "isSynthetic", isSynthetic); setAttributeIfTrue(element, "isInterface", isInterface); }
/** * Extracts the code block from the given method of the given class, or * <code>null</code>, if method is native or abstract. */ private static DalvCode getCode(Method method, DirectClassFile classFile) { boolean isNative= AccessFlags.isNative(method.getAccessFlags()); boolean isStatic= AccessFlags.isStatic(method.getAccessFlags()); boolean isAbstract= AccessFlags.isAbstract(method.getAccessFlags()); if (isNative || isAbstract) { return null; } ConcreteMethod concrete= new ConcreteMethod(method, classFile, false, false); TranslationAdvice advice= DexTranslationAdvice.THE_ONE; RopMethod rmeth= Ropper.convert(concrete, advice); CstMethodRef meth= new CstMethodRef(method.getDefiningClass(), method.getNat()); int paramSize= meth.getParameterWordCount(isStatic); DalvCode code= RopTranslator.translate(rmeth, PositionList.NONE, null, paramSize); DalvCode.AssignIndicesCallback callback= new DalvCode.AssignIndicesCallback() { public int getIndex(Constant cst) { // Everything is at index 0! return 0; } }; code.assignIndices(callback); return code; }
boolean isStatic = AccessFlags.isStatic(accessFlags); boolean isPrivate = AccessFlags.isPrivate(accessFlags); boolean isNative = AccessFlags.isNative(accessFlags); boolean isAbstract = AccessFlags.isAbstract(accessFlags); boolean isConstructor = meth.isInstanceInit() ||
boolean isStatic = AccessFlags.isStatic(accessFlags); boolean isPrivate = AccessFlags.isPrivate(accessFlags); boolean isNative = AccessFlags.isNative(accessFlags); boolean isAbstract = AccessFlags.isAbstract(accessFlags); boolean isConstructor = meth.isInstanceInit() ||
boolean isStatic = AccessFlags.isStatic(accessFlags); boolean isPrivate = AccessFlags.isPrivate(accessFlags); boolean isNative = AccessFlags.isNative(accessFlags); boolean isAbstract = AccessFlags.isAbstract(accessFlags); boolean isConstructor = meth.isInstanceInit() ||
boolean isStatic = AccessFlags.isStatic(accessFlags); boolean isPrivate = AccessFlags.isPrivate(accessFlags); boolean isNative = AccessFlags.isNative(accessFlags); boolean isAbstract = AccessFlags.isAbstract(accessFlags); boolean isConstructor = meth.isInstanceInit() ||
boolean isStatic = AccessFlags.isStatic(accessFlags); boolean isPrivate = AccessFlags.isPrivate(accessFlags); boolean isNative = AccessFlags.isNative(accessFlags); boolean isAbstract = AccessFlags.isAbstract(accessFlags); boolean isConstructor = meth.isInstanceInit() ||
boolean isStatic = AccessFlags.isStatic(accessFlags); boolean isPrivate = AccessFlags.isPrivate(accessFlags); boolean isNative = AccessFlags.isNative(accessFlags); boolean isAbstract = AccessFlags.isAbstract(accessFlags); boolean isConstructor = meth.isInstanceInit() ||