Package soot.rbclassload

Examples of soot.rbclassload.StringToType


    if(visited.contains(signature)){
      return;
    }
    visited.add(signature);
       
    StringToType converter = new StringToType();
    FieldSignatureUtil futil = new FieldSignatureUtil();
   
    //load all virtual methods to be followed
    ClassHierarchy class_hierarchy = RootbeerClassLoader.v().getClassHierarchy();
    List<HierarchySignature> virt_methods = class_hierarchy.getVirtualMethods(signature);
    for(HierarchySignature virt_method : virt_methods){
      if(virt_method.equals(signature) == false){
        queue.add(virt_method);
      }
    }

    //if we should follow into method, don't
    if(RootbeerClassLoader.v().dontFollow(signature)){
      return;
    }
   
    m_currDfsInfo.addType(signature.getClassName());
    m_currDfsInfo.addType(signature.getReturnType());
    m_currDfsInfo.addMethod(signature.toString());
   
    //go into the method
    HierarchyValueSwitch value_switch = RootbeerClassLoader.v().getValueSwitch(signature);
    for(Integer num : value_switch.getAllTypesInteger()){
      String type_str = StringNumbers.v().getString(num);
      Type type = converter.convert(type_str);
      m_currDfsInfo.addType(type);
    }   

    for(HierarchySignature method_sig : value_switch.getMethodRefsHierarchy()){
      m_currDfsInfo.addMethod(signature.toString());
      queue.add(method_sig);
    }

    for(String field_ref : value_switch.getFieldRefs()){
      futil.parse(field_ref);
      SootField soot_field = futil.getSootField();
      m_currDfsInfo.addField(soot_field);
    }

    for(Integer num : value_switch.getInstanceOfsInteger()){
      String type_str = StringNumbers.v().getString(num);
      Type type = converter.convert(type_str);
      m_currDfsInfo.addInstanceOf(type);
    }
  }
View Full Code Here

TOP

Related Classes of soot.rbclassload.StringToType

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.