Package soot.jimple

Examples of soot.jimple.SpecialInvokeExpr


                while (boxes.hasNext()) {
                    ValueBox box = (ValueBox) boxes.next();
                    Value value = box.getValue();

                    if (value instanceof SpecialInvokeExpr) {
                        SpecialInvokeExpr r = (SpecialInvokeExpr) value;

                        if (PtolemyUtilities.executableInterface
                                .declaresMethod(r.getMethod().getSubSignature())) {
                            if (r.getMethod().getName().equals("prefire")
                                    || r.getMethod().getName().equals(
                                            "postfire")) {
                                box.setValue(IntConstant.v(1));
                            } else {
                                body.getUnits().remove(unit);
                            }
                        } else if (!r.getMethod().getName().equals("<init>")) {
                            System.out.println("superCall:" + r);
                        }
                    }
                }
            }
View Full Code Here


    InvokeExpr expr = arg0.getInvokeExpr();
    if(expr instanceof SpecialInvokeExpr == false){
      super.caseInvokeStmt(arg0);
      return;
    }
    SpecialInvokeExpr sexpr = (SpecialInvokeExpr) expr;
    if(needsReWriting(sexpr) == false){
      super.caseInvokeStmt(arg0);
      return;
    }
    SootMethod soot_method = sexpr.getMethod();
    SootClass soot_class = soot_method.getDeclaringClass();
    if(soot_class.getName().equals("java.lang.Object"))
      return;
    OpenCLMethod ocl_method = new OpenCLMethod(soot_method, soot_class);
    m_output.append(ocl_method.getConstructorBodyInvokeString(sexpr));
View Full Code Here

TOP

Related Classes of soot.jimple.SpecialInvokeExpr

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.