public void reResolve(SootClass cl, int newResolvingLevel) { int resolvingLevel = cl.resolvingLevel(); if (resolvingLevel >= newResolvingLevel) { return; } reResolveHierarchy(cl, SootClass.HIERARCHY); cl.setResolvingLevel(newResolvingLevel); addToResolveWorklist(cl, resolvingLevel); processResolveWorklist(); }
reResolveHierarchy(sc, SootClass.HIERARCHY);
protected void bringToSignaturesUnchecked(SootClass sc) { for (SootField f : sc.getFields()) { addToResolveWorklist(f.getType(), SootClass.HIERARCHY); } for (SootMethod m : sc.getMethods()) { addToResolveWorklist(m.getReturnType(), SootClass.HIERARCHY); for (Type ptype : m.getParameterTypes()) { addToResolveWorklist(ptype, SootClass.HIERARCHY); } List<SootClass> exceptions = m.getExceptionsUnsafe(); if (exceptions != null) { for (SootClass exception : exceptions) { addToResolveWorklist(exception, SootClass.HIERARCHY); } } } // Bring superclasses to signatures reResolveHierarchy(sc, SootClass.SIGNATURES); }
public void reResolve(SootClass cl) { int resolvingLevel = cl.resolvingLevel(); if( resolvingLevel < SootClass.HIERARCHY ) return; reResolveHierarchy(cl); cl.setResolvingLevel(SootClass.HIERARCHY); addToResolveWorklist(cl, resolvingLevel); processResolveWorklist(); }
public void reResolve(SootClass cl) { int resolvingLevel = cl.resolvingLevel(); if( resolvingLevel < SootClass.HIERARCHY ) return; reResolveHierarchy(cl); cl.setResolvingLevel(SootClass.HIERARCHY); addToResolveWorklist(cl, resolvingLevel); processResolveWorklist(); }
classToTypesHierarchy.put( sc, new ArrayList(dependencies.typesToHierarchy) ); reResolveHierarchy(sc);
classToTypesHierarchy.put( sc, new ArrayList(dependencies.typesToHierarchy) ); reResolveHierarchy(sc);