/** Convenience method; returns true if this class is an interface. */ public boolean isInterface() { checkLevel(HIERARCHY); return Modifier.isInterface(this.getModifiers()); }
if (isInterface(m)) { buffer.append("interface ");
private void handleInnerClassTags(polyglot.ast.ClassBody classBody) { // if this class is an inner class add self if ((InitialResolver.v().getInnerClassInfoMap() != null) && (InitialResolver.v().getInnerClassInfoMap().containsKey(sootClass))) { // hasTag("OuterClassTag")){ InnerClassInfo tag = InitialResolver.v().getInnerClassInfoMap().get(sootClass); Util.addInnerClassTag(sootClass, sootClass.getName(), tag.getInnerType() == InnerClassInfo.ANON ? null : tag.getOuterClass().getName(), tag.getInnerType() == InnerClassInfo.ANON ? null : tag.getSimpleName(), soot.Modifier.isInterface(tag.getOuterClass().getModifiers()) ? soot.Modifier.STATIC | soot.Modifier.PUBLIC : sootClass.getModifiers()); // if this class is an inner class and enclosing class is also // an inner class add enclsing class SootClass outerClass = tag.getOuterClass(); while (InitialResolver.v().getInnerClassInfoMap().containsKey(outerClass)) { InnerClassInfo tag2 = InitialResolver.v().getInnerClassInfoMap().get(outerClass); Util.addInnerClassTag(sootClass, outerClass.getName(), tag2.getInnerType() == InnerClassInfo.ANON ? null : tag2.getOuterClass().getName(), tag2.getInnerType() == InnerClassInfo.ANON ? null : tag2.getSimpleName(), tag2.getInnerType() == InnerClassInfo.ANON && soot.Modifier.isInterface(tag2.getOuterClass().getModifiers()) ? soot.Modifier.STATIC | soot.Modifier.PUBLIC : outerClass.getModifiers()); outerClass = tag2.getOuterClass(); } } }
if (Modifier.isInterface(modifiers)) { modifiers -= Modifier.INTERFACE;
} else if (soot.Modifier.isInterface(receiverTypeClass.getModifiers()) && call.methodInstance().flags().isAbstract()) { invoke = soot.jimple.Jimple.v().newInterfaceInvokeExpr(baseLocal, methToCall, params); } else {
if (Modifier.isInterface(modVal) && host instanceof SootClass) { modifier |= Opcodes.ACC_INTERFACE; } else if (host instanceof SootClass) {
} else if (soot.Modifier.isInterface(receiverTypeClass.getModifiers()) && methodInstance.flags().isAbstract()) {
/** Convenience method; returns true if this class is an interface. */ public boolean isInterface() { checkLevel(HIERARCHY); return Modifier.isInterface(this.getModifiers()); }
/** Convenience method; returns true if this class is an interface. */ public boolean isInterface() { checkLevel(HIERARCHY); return Modifier.isInterface(this.getModifiers()); }
buffer.append("enum "); if(isInterface(m)) buffer.append("interface ");
buffer.append("enum "); if(isInterface(m)) buffer.append("interface ");