Package cn.wensiqun.info.InvokeInfo

Examples of cn.wensiqun.info.InvokeInfo.FunctionInfo


    this.calledFunNames = new String[calledFuns.size()];//calledFun.getName();
    this.calledFunDescs = new String[calledFuns.size()];//Type.getMethodDescriptor(calledFun);
    this.calledFunOwners = new Class<?>[calledFuns.size()];//calledFun.getDeclaringClass();
   
    for(int i=0, len=calledFuns.size(); i<len; i++){
      FunctionInfo calledFun = calledFuns.get(i);
      this.calledFunNames[i] = calledFun.getName();
      this.calledFunDescs[i] = calledFun.getDescription();
      this.calledFunOwners[i] = calledFun.getDeclaringClass();
    }
   
   
    this.callingFunOwner = callingFunOwner;
    this.invokeInfos = invokeInfoMap;
View Full Code Here


  public void visitMethodInsn(int opcode, String owner, String name, String desc) {
    for(int idx=0, len=calledFuns.size(); idx<len; idx++){
      String calledFunDesc = calledFunDescs[idx];
      String calledFunName = calledFunNames[idx];
      Class<?> calledFunOwner = calledFunOwners[idx];
      FunctionInfo calledFun = calledFuns.get(idx);
     
      if(desc.equals(calledFunDesc) && name.equals(calledFunName)){
        try{
          AClass ownerClass = AClassFactory.getProductClass( CommonUtils.forName(owner.replace("/", "."), true, classLoader));
          AClass byInvokedMethodOwnerAClass = AClassFactory.getProductClass(calledFunOwner);
          if(ownerClass.isChildOrEqual(byInvokedMethodOwnerAClass)){
           
            int argumentsSize = calledFun.getParameterTypes().length;
            List<Type> allTypeInStack = new ArrayList<Type>();
            for(int i=0; i<argumentsSize;i++){
              allTypeInStack.add(stack.get(stack.size() - 1 - i));
            }
           
View Full Code Here

  public void visitMethodInsn(int opcode, String owner, String name, String desc) {
    for(int idx=0, len=calledFuns.size(); idx<len; idx++){
      String calledFunDesc = calledFunDescs[idx];
      String calledFunName = calledFunNames[idx];
      Class<?> calledFunOwner = calledFunOwners[idx];
      FunctionInfo calledFun = calledFuns.get(idx);
     
      if(desc.equals(calledFunDesc) && name.equals(calledFunName)){
        try{
          AClass ownerClass = AClassFactory.getProductClass( CommonUtils.forName(owner.replace("/", "."), true, classLoader));
          AClass byInvokedMethodOwnerAClass = AClassFactory.getProductClass(calledFunOwner);
          if(ownerClass.isChildOrEqual(byInvokedMethodOwnerAClass)){
           
            int argumentsSize = calledFun.getParameterTypes().length;
            List<Type> allTypeInStack = new ArrayList<Type>();
            for(int i=0; i<argumentsSize;i++){
              allTypeInStack.add(stack.get(stack.size() - 1 - i));
            }
           
View Full Code Here

    this.calledFunNames = new String[calledFuns.size()];//calledFun.getName();
    this.calledFunDescs = new String[calledFuns.size()];//Type.getMethodDescriptor(calledFun);
    this.calledFunOwners = new Class<?>[calledFuns.size()];//calledFun.getDeclaringClass();
   
    for(int i=0, len=calledFuns.size(); i<len; i++){
      FunctionInfo calledFun = calledFuns.get(i);
      this.calledFunNames[i] = calledFun.getName();
      this.calledFunDescs[i] = calledFun.getDescription();
      this.calledFunOwners[i] = calledFun.getDeclaringClass();
    }
   
   
    this.callingFunOwner = callingFunOwner;
    this.invokeInfos = invokeInfoMap;
View Full Code Here

TOP

Related Classes of cn.wensiqun.info.InvokeInfo.FunctionInfo

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.