/** * Removes the given class from the list of interfaces which are directly implemented by this class. */ public void removeInterface(SootClass interfaceClass) { checkLevel(HIERARCHY); if (!implementsInterface(interfaceClass.getName())) { throw new RuntimeException("no such interface: " + interfaceClass.getName()); } interfaces.remove(interfaceClass); }
/** * Add the given class to the list of interfaces which are directly implemented by this class. */ public void addInterface(SootClass interfaceClass) { checkLevel(HIERARCHY); if (implementsInterface(interfaceClass.getName())) { throw new RuntimeException("duplicate interface: " + interfaceClass.getName()); } if (interfaces == null) { interfaces = new HashChain<>(); } interfaces.add(interfaceClass); }
for (String interfaceName : defItem.getInterfaces()) { String interfaceClassName = Util.dottedClassName(interfaceName); if (sc.implementsInterface(interfaceClassName)) { continue;
/** * @ast method * @aspect EmitJimple * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/EmitJimple.jrag:186 */ public void jimplify1phase2() { SootClass sc = getSootClassDecl(); sc.setResolvingLevel(SootClass.DANGLING); sc.setModifiers(sootTypeModifiers()); sc.setApplicationClass(); SourceFileTag st = new soot.tagkit.SourceFileTag(sourceNameWithoutPath()); st.setAbsolutePath(compilationUnit().pathName()); sc.addTag(st); sc.setSuperclass(typeObject().getSootClassDecl()); for(Iterator iter = superinterfacesIterator(); iter.hasNext(); ) { TypeDecl typeDecl = (TypeDecl)iter.next(); if(typeDecl != typeObject() && !sc.implementsInterface(typeDecl.getSootClassDecl().getName())) sc.addInterface(typeDecl.getSootClassDecl()); } if(isNestedType()) sc.setOuterClass(enclosingType().getSootClassDecl()); sc.setResolvingLevel(SootClass.HIERARCHY); super.jimplify1phase2(); sc.setResolvingLevel(SootClass.SIGNATURES); } /**
/** * @ast method * @aspect EmitJimple * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/EmitJimple.jrag:163 */ public void jimplify1phase2() { SootClass sc = getSootClassDecl(); sc.setResolvingLevel(SootClass.DANGLING); sc.setModifiers(sootTypeModifiers()); sc.setApplicationClass(); SourceFileTag st = new soot.tagkit.SourceFileTag(sourceNameWithoutPath()); st.setAbsolutePath(compilationUnit().pathName()); sc.addTag(st); if(hasSuperclass()) { sc.setSuperclass(superclass().getSootClassDecl()); } for(Iterator iter = interfacesIterator(); iter.hasNext(); ) { TypeDecl typeDecl = (TypeDecl)iter.next(); if(!sc.implementsInterface(typeDecl.getSootClassDecl().getName())) sc.addInterface(typeDecl.getSootClassDecl()); } if(isNestedType()) sc.setOuterClass(enclosingType().getSootClassDecl()); sc.setResolvingLevel(SootClass.HIERARCHY); super.jimplify1phase2(); sc.setResolvingLevel(SootClass.SIGNATURES); } /**
/** Removes the given class from the list of interfaces which are direclty implemented by this class. */ public void removeInterface(SootClass interfaceClass) { checkLevel(HIERARCHY); if(!implementsInterface(interfaceClass.getName())) throw new RuntimeException("no such interface: "+interfaceClass.getName()); interfaces.remove(interfaceClass); }
/** Add the given class to the list of interfaces which are directly implemented by this class. */ public void addInterface(SootClass interfaceClass) { checkLevel(HIERARCHY); if(implementsInterface(interfaceClass.getName())) throw new RuntimeException("duplicate interface: "+interfaceClass.getName()); interfaces.add(interfaceClass); }
/** Removes the given class from the list of interfaces which are direclty implemented by this class. */ public void removeInterface(SootClass interfaceClass) { checkLevel(HIERARCHY); if(!implementsInterface(interfaceClass.getName())) throw new RuntimeException("no such interface: "+interfaceClass.getName()); interfaces.remove(interfaceClass); }
/** Add the given class to the list of interfaces which are directly implemented by this class. */ public void addInterface(SootClass interfaceClass) { checkLevel(HIERARCHY); if(implementsInterface(interfaceClass.getName())) throw new RuntimeException("duplicate interface: "+interfaceClass.getName()); interfaces.add(interfaceClass); }
haveCommonFields = sootClass2.implementsInterface(sootClass1.getName()); if (logger.isDebugEnabled()) { logger.debug("2: " + haveCommonFields); haveCommonFields = sootClass1.implementsInterface(sootClass2.getName()); if (logger.isDebugEnabled()) { logger.debug("3: " + haveCommonFields);
if (fromClass.implementsInterface(toClass.toString())) { return true;