soot
Class RefLikeType

java.lang.Object
  extended by soot.Type
      extended by soot.RefLikeType
All Implemented Interfaces:
Serializable, Numberable, Switchable
Direct Known Subclasses:
AnySubType, ArrayType, NullType, RefType

public abstract class RefLikeType
extends Type

Abstract class for Soot classes that model subtypes of java.lang.Object (ie. object references and arrays)

Author:
Ondrej Lhotak
See Also:
Serialized Form

Field Summary
 
Fields inherited from class soot.Type
arrayType
 
Constructor Summary
RefLikeType()
           
 
Method Summary
abstract  Type getArrayElementType()
          If I have a variable x of declared type t, what is a good declared type for the expression ((Object[]) x)[i]? The getArrayElementType() method in RefLikeType was introduced even later to answer this question for all classes implementing RefLikeType.
 
Methods inherited from class soot.Type
apply, getArrayType, getNumber, makeArrayType, merge, setArrayType, setNumber, toMachineType, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RefLikeType

public RefLikeType()
Method Detail

getArrayElementType

public abstract Type getArrayElementType()
If I have a variable x of declared type t, what is a good declared type for the expression ((Object[]) x)[i]? The getArrayElementType() method in RefLikeType was introduced even later to answer this question for all classes implementing RefLikeType. If t is an array, then the answer is the same as getElementType(). But t could also be Object, Serializable, or Cloneable, which can all hold any array, so then the answer is Object.