soot
Class RefType

java.lang.Object
  |
  +--soot.Type
        |
        +--soot.RefLikeType
              |
              +--soot.RefType

public class RefType
extends RefLikeType
implements java.lang.Comparable

A class that models Java's reference types. RefTypes are parametrized by a class name. Two RefType are equal iff they are parametrized by the same class name as a String.

See Also:
Serialized Form

Fields inherited from class soot.Type
arrayType
 
Constructor Summary
RefType(Singletons.Global g)
           
 
Method Summary
 void apply(Switch sw)
          Method required for use of Switchable.
 int compareTo(java.lang.Object o)
           
 boolean equals(java.lang.Object t)
          2 RefTypes are considered equal if they are parametrized by the same class name String.
 AnySubType getAnySubType()
           
 Type getArrayElementType()
           
 java.lang.String getClassName()
           
 SootClass getSootClass()
          Get the SootClass object corresponding to this RefType.
 int hashCode()
           
 Type merge(Type other, Scene cm)
          Returns the least common superclass of this type and other.
 void setAnySubType(AnySubType anySubType)
           
 void setSootClass(SootClass sootClass)
          Set the SootClass object corresponding to this RefType.
 java.lang.String toString()
          Returns a textual representation of this type.
static RefType v()
           
static RefType v(SootClass c)
          Create a RefType for a class.
static RefType v(java.lang.String className)
          Create a RefType for a class.
 
Methods inherited from class soot.Type
getArrayType, getNumber, makeArrayType, setArrayType, setNumber, toMachineType
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RefType

public RefType(Singletons.Global g)
Method Detail

v

public static RefType v()

getClassName

public java.lang.String getClassName()

v

public static RefType v(java.lang.String className)
Create a RefType for a class.
Parameters:
className - The name of the class used to parametrize the created RefType.
Returns:
a RefType for the given class name.

compareTo

public int compareTo(java.lang.Object o)
              throws java.lang.ClassCastException
Specified by:
compareTo in interface java.lang.Comparable

v

public static RefType v(SootClass c)
Create a RefType for a class.
Parameters:
c - A SootClass for which to create a RefType.
Returns:
a RefType for the given SootClass..

getSootClass

public SootClass getSootClass()
Get the SootClass object corresponding to this RefType.
Returns:
the corresponding SootClass

setSootClass

public void setSootClass(SootClass sootClass)
Set the SootClass object corresponding to this RefType.
Parameters:
sootClass - The SootClass corresponding to this RefType.

equals

public boolean equals(java.lang.Object t)
2 RefTypes are considered equal if they are parametrized by the same class name String.
Overrides:
equals in class java.lang.Object
Parameters:
t - an object to test for equality.

toString

public java.lang.String toString()
Description copied from class: Type
Returns a textual representation of this type.
Overrides:
toString in class Type

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

apply

public void apply(Switch sw)
Description copied from class: Type
Method required for use of Switchable.
Overrides:
apply in class Type

merge

public Type merge(Type other,
                  Scene cm)
Returns the least common superclass of this type and other.
Overrides:
merge in class Type

getArrayElementType

public Type getArrayElementType()
Overrides:
getArrayElementType in class RefLikeType

getAnySubType

public AnySubType getAnySubType()

setAnySubType

public void setAnySubType(AnySubType anySubType)