Package soot.jimple.internal

Examples of soot.jimple.internal.JInvokeStmt


          List<Unit> succs = mbug.getSuccsOf(s1);
          if (succs.size() == 1) {
            Stmt s2 = (Stmt) succs.get(0);
            if (s1 instanceof JAssignStmt && s2 instanceof JInvokeStmt && mbug.getPredsOf(s2).size() == 1) {
              JAssignStmt js1 = (JAssignStmt) s1;
              JInvokeStmt js2 = (JInvokeStmt) s2;
              if (js1.containsInvokeExpr()
                  && (js1.getInvokeExpr().getMethod().getSignature().equals("<dk.brics.xact.XML: java.util.Map getNamespaceMap()>")
                      || js1.getInvokeExpr().getMethod().getSignature().equals("<dk.brics.xact.XML: java.util.Map getThreadNamespaceMap()>"))
                  && js2.getInvokeExpr().getMethod().getSignature().equals("<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>")
                  && js1.getDefBoxes().size() == 1 && js1.getDefBoxes().get(0) instanceof AbstractValueBox
                  && js2.getInvokeExpr() instanceof JInterfaceInvokeExpr) {
                Value v = ((AbstractValueBox) js1.getDefBoxes().get(0)).getValue();
                JInterfaceInvokeExpr put = (JInterfaceInvokeExpr) js2.getInvokeExpr();
                if (put.getBase().equivTo(v)) {
                  Origin origin = new Origin(m.getDeclaringClass().getName() + "." + m.getName(), getLineNumber(u), 0);
                  String prefix = getConstantString(put.getArg(0), origin);
                  String uri = getConstantString(put.getArg(1), origin);
                  String oldUri = namespaces.put(prefix, uri);
View Full Code Here


          continue;
        DirectedGraph<Unit> mbug = new ExceptionalUnitGraph(m.retrieveActiveBody());
        for (Unit u : mbug) {
          Stmt s = (Stmt) u;
          if (s instanceof JInvokeStmt) {
            JInvokeStmt js = (JInvokeStmt) s;
            if (js.getInvokeExpr().getMethod().getSignature().equals("<dk.brics.xact.XML: void loadXMLSchema(java.lang.String)>")) {
              Origin origin = new Origin(m.getDeclaringClass().getName() + "." + m.getName(), getLineNumber(s), 0);
              String schema = getConstantString(js.getInvokeExpr().getArg(0), origin);
              schema = config.translateSchemaLocation(schema);
              Debug.println(1, true, "Using schema: " + schema);
              schemas.put(schema, origin);
            }
          }
View Full Code Here

TOP

Related Classes of soot.jimple.internal.JInvokeStmt

Copyright © 2018 www.massapicom. 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.