Examples of resolveAbstractDispatch()


Examples of soot.Hierarchy.resolveAbstractDispatch()

                methodList = new LinkedList();
                methodList.add(targetMethod);
            } else {
                methodList =
                //      invokeGraph.getTargetsOf((Stmt)unit);
                hierarchy.resolveAbstractDispatch(type.getSootClass(), r
                        .getMethod());
            }

            // If there was only one possible method...
            if (methodList.size() == 1) {
View Full Code Here

Examples of soot.Hierarchy.resolveAbstractDispatch()

                        return doneSomething;
                    }

                    // Then determine the method that was
                    // actually invoked.
                    List methodList = hierarchy.resolveAbstractDispatch(
                            typeClass, r.getMethod());

                    // If there was only one possible method...
                    if (methodList.size() == 1) {
                        // Then inline its code
View Full Code Here

Examples of soot.Hierarchy.resolveAbstractDispatch()

                            // We can invoke methods on arrays...
                            // Ignore them here.
                            continue;
                        }

                        List list = hierarchy.resolveAbstractDispatch(
                                ((RefType) baseType).getSootClass(),
                                invokedMethod);
                        Scene.v().releaseActiveHierarchy();
                        for (Iterator targets = list.iterator(); targets
                                .hasNext();) {
View Full Code Here

Examples of soot.Hierarchy.resolveAbstractDispatch()

            Map<Integer, Automaton> m1Parameters = parameterAutomatonMap.get(m1);
            //if (m1Returns == null && m1Parameters == null)
            //    continue;
            if (m1Parameters == null)
              m1Parameters = Collections.emptyMap();
            for (SootMethod m2 : (List<SootMethod>)h.resolveAbstractDispatch(sootClass, m1)) {
                // HANDLE RETURN TYPES
                if (m1Returns != null) {
                    inheritReturnType(m1, m1Returns, m2);
                }
               
View Full Code Here

Examples of soot.Hierarchy.resolveAbstractDispatch()

        ArrayList<ValueBox> list = new ArrayList<ValueBox>();
        SootMethod targetMethod = Scene.v().getMethod(sig);
        Hierarchy h = Scene.v().getActiveHierarchy();
        if (h == null)
            h = new Hierarchy();
        List<SootMethod> methods = h.resolveAbstractDispatch(targetMethod.getDeclaringClass(), targetMethod);
        for (SootMethod method : methods) {
            if (!method.isConcrete())
                continue;
            for (Unit unit : method.retrieveActiveBody().getUnits()) {
                if (unit instanceof ReturnStmt) {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.