congrats Icon
New! Tabnine Pro 14-day free trial
Start a free trial
Tabnine Logo
FastHierarchy.isVisible
Code IndexAdd Tabnine to your IDE (free)

How to use
isVisible
method
in
soot.FastHierarchy

Best Java code snippets using soot.FastHierarchy.isVisible (Showing top 6 results out of 315)

origin: Sable/soot

SootMethod method = concreteType.getMethodUnsafe(methodSig);
if (method != null) {
 if (isVisible(concreteType, m)) {
  if (method.isAbstract()) {
   throw new RuntimeException("abstract dispatch resolved to abstract method!\nAbstract Type: " + abstractType
origin: Sable/soot

/**
 * Given an object of actual type C (o = new C()), returns the method which will be called on an o.f() invocation.
 */
public SootMethod resolveConcreteDispatch(SootClass concreteType, SootMethod m) {
 concreteType.checkLevel(SootClass.HIERARCHY);
 if (concreteType.isInterface()) {
  throw new RuntimeException("A concrete type cannot be an interface: " + concreteType);
 }
 String methodSig = m.getSubSignature();
 while (true) {
  SootMethod method = concreteType.getMethodUnsafe(methodSig);
  if (method != null) {
   if (isVisible(concreteType, m)) {
    if (method.isAbstract()) {
     throw new RuntimeException("Error: Method call resolves to abstract method!");
    }
    return method;
   }
  }
  concreteType = concreteType.getSuperclassUnsafe();
  if (concreteType == null) {
   break;
  }
 }
 // When there is no proper dispatch found, we simply return null to let
 // the caller decide what to do
 return null;
 // throw new RuntimeException("could not resolve concrete
 // dispatch!\nType: "+concreteType+"\nMethod: "+m);
}
origin: ibinti/bugvm

  throw new RuntimeException("abstract dispatch resolved to abstract method!\nAbstract Type: "+abstractType+"\nConcrete Type: "+savedConcreteType+"\nMethod: "+m);
if( isVisible( concreteType, m ) ) {
  ret.add( concreteType.getMethod( methodSig ) );
  break;
origin: com.bugvm/bugvm-soot

  throw new RuntimeException("abstract dispatch resolved to abstract method!\nAbstract Type: "+abstractType+"\nConcrete Type: "+savedConcreteType+"\nMethod: "+m);
if( isVisible( concreteType, m ) ) {
  ret.add( concreteType.getMethod( methodSig ) );
  break;
origin: ibinti/bugvm

  /** Given an object of actual type C (o = new C()), returns the method which will be called
    on an o.f() invocation. */
  public SootMethod resolveConcreteDispatch(SootClass concreteType, SootMethod m)
  {
    concreteType.checkLevel(SootClass.HIERARCHY);
    if( concreteType.isInterface() ) {
      throw new RuntimeException(
        "A concrete type cannot be an interface: "+concreteType );
    }

    String methodSig = m.getSubSignature();
    while( true ) {
      if( concreteType.declaresMethod( methodSig ) ) {
        if( isVisible( concreteType, m ) ) {
          SootMethod method = concreteType.getMethod( methodSig );
          if(method.isAbstract()) {
            throw new RuntimeException("Error: Method call resolves to abstract method!");
          }
          return method;
        }
      }
      if( !concreteType.hasSuperclass() ) break;
      concreteType = concreteType.getSuperclass();
    }
   // When there is no proper dispatch found, we simply return null to let the caller decide what to do 
    return null;
//        throw new RuntimeException("could not resolve concrete dispatch!\nType: "+concreteType+"\nMethod: "+m);
  }

origin: com.bugvm/bugvm-soot

  /** Given an object of actual type C (o = new C()), returns the method which will be called
    on an o.f() invocation. */
  public SootMethod resolveConcreteDispatch(SootClass concreteType, SootMethod m)
  {
    concreteType.checkLevel(SootClass.HIERARCHY);
    if( concreteType.isInterface() ) {
      throw new RuntimeException(
        "A concrete type cannot be an interface: "+concreteType );
    }

    String methodSig = m.getSubSignature();
    while( true ) {
      if( concreteType.declaresMethod( methodSig ) ) {
        if( isVisible( concreteType, m ) ) {
          SootMethod method = concreteType.getMethod( methodSig );
          if(method.isAbstract()) {
            throw new RuntimeException("Error: Method call resolves to abstract method!");
          }
          return method;
        }
      }
      if( !concreteType.hasSuperclass() ) break;
      concreteType = concreteType.getSuperclass();
    }
   // When there is no proper dispatch found, we simply return null to let the caller decide what to do 
    return null;
//        throw new RuntimeException("could not resolve concrete dispatch!\nType: "+concreteType+"\nMethod: "+m);
  }

sootFastHierarchyisVisible

Javadoc

Returns true if the method m is visible from code in the class from.

Popular methods of FastHierarchy

  • canStoreType
    Given an object of declared type child, returns true if the object can be stored in a variable of ty
  • isSubclass
    Return true if class child is a subclass of class parent, neither of them being allowed to be interf
  • <init>
    Constructs a hierarchy from the current scene.
  • canStoreClass
    Given an object of declared type child, returns true if the object can be stored in a variable of ty
  • dfsVisit
  • getAllImplementersOfInterface
    For an interface parent (MUST be an interface), returns set of all implementers of it but NOT their
  • getAllSubinterfaces
    For an interface parent (MUST be an interface), returns set of all subinterfaces.
  • getSubclassesOf
  • resolveConcreteDispatch
    Given an object of actual type C (o = new C()), returns the method which will be called on an o.f()
  • put
  • canStoreClassClassic
    "Classic" implementation using the intuitive approach (without using Interval) to check whetherchild
  • resolveAbstractDispatch
    Given an object of declared type C, returns the methods which could be called on an o.f() invocation
  • canStoreClassClassic,
  • resolveAbstractDispatch

Popular in Java

  • Start an intent from android
  • startActivity (Activity)
  • addToBackStack (FragmentTransaction)
  • compareTo (BigDecimal)
  • FileWriter (java.io)
    A specialized Writer that writes to a file in the file system. All write requests made by calling me
  • BigInteger (java.math)
    An immutable arbitrary-precision signed integer.FAST CRYPTOGRAPHY This implementation is efficient f
  • DecimalFormat (java.text)
    A concrete subclass of NumberFormat that formats decimal numbers. It has a variety of features desig
  • Iterator (java.util)
    An iterator over a sequence of objects, such as a collection.If a collection has been changed since
  • JOptionPane (javax.swing)
  • FileUtils (org.apache.commons.io)
    General file manipulation utilities. Facilities are provided in the following areas: * writing to a
  • Sublime Text for Python
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimAtomGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyStudentsTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now