Main Page   Packages   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

Ref Class Reference

Inheritance diagram for Ref:
[legend]
Collaboration diagram for Ref:
[legend]
List of all members.

Public Methods

abstract Object clone ()
boolean equals (Object o)
int getReference ()
boolean isClass ()
boolean isNull ()
String toString ()
 Ref (StateVar target)
 Ref (StateVarVector targets, TransSystem system)
 Ref (TransSystem system)
void addTarget (StateVar var)
void addTarget (StateVar var, SootClass sootClass, TypeExtractor extractor)
void addTarget (String name)
void apply (TypeSwitch sw, Object o)
boolean containsValue (Object value)
Expr defaultVal ()
boolean equals (Object o)
StateVarVector getTargets ()
Type getTargetType ()
boolean isKind (int kind)
boolean isSubtypeOf (Type type)
void resolveTargets ()
String toString ()
abstract Object clone ()
boolean equals (Object o)
int getReference ()
int hashCode ()
boolean isClass ()
boolean isNull ()
String toString ()

Static Public Attributes

final ObjRef NULL = new ObjRef(-1)

Protected Methods

 Ref (int r, boolean c)
 Ref (int r, boolean c)

Private Methods

Type computeTargetType ()
Type liftCollectionType (Type type)
Type superType (Type type1, Type type2)

Private Attributes

int reference
boolean isClass
TransSystem system
StateVarVector targets
Vector targetNames
Type targetType
SootClass sootType

Detailed Description

A reference type.

A reference in BIR is defined with a set of state variables (which must be records or arrays) to which it can refer. A reference can also refer to a collection, in which case the reference points to an element of the collection.

Since reference types can be declared before the state variables to which they refer, reference types must be resolved by finding the variables named in the type and connecting them to the reference type.

Definition at line 3 of file lib/jpf/gov/nasa/arc/ase/jpf/jvm/Ref.java.


Constructor & Destructor Documentation

Ref::Ref StateVar   target [inline]
 

Create a resolved reference type that can refer to a specific state variable.

Definition at line 69 of file src/edu/ksu/cis/bandera/bir/Ref.java.

Ref::Ref StateVarVector   targets,
TransSystem   system
[inline]
 

Create a resolved reference type that can refer to a specific set of state variables.

Definition at line 81 of file src/edu/ksu/cis/bandera/bir/Ref.java.

Ref::Ref TransSystem   system [inline]
 

Create an empty, unresolved reference type

Definition at line 89 of file src/edu/ksu/cis/bandera/bir/Ref.java.


Member Function Documentation

Type Ref::computeTargetType   [inline, private]
 

The target type of a reference type is the least common supertype of all the types of its targets. The empty record is a supertype of all types since no operations can be performed to it.

Definition at line 140 of file src/edu/ksu/cis/bandera/bir/Ref.java.

boolean Ref::equals Object   o [inline]
 

Returns:
boolean
Parameters:
otherType   java.lang.Object

Reimplemented from Type.

Definition at line 11 of file src/gov/nasa/arc/ase/jpf/jvm/Ref.java.

boolean Ref::equals Object   o [inline]
 

Returns:
boolean
Parameters:
otherType   java.lang.Object

Reimplemented from Type.

Definition at line 154 of file src/edu/ksu/cis/bandera/bir/Ref.java.

boolean Ref::equals Object   o [inline]
 

Returns:
boolean
Parameters:
otherType   java.lang.Object

Reimplemented from Type.

Definition at line 11 of file lib/jpf/gov/nasa/arc/ase/jpf/jvm/Ref.java.

Referenced by Lock::equals().

boolean Ref::isSubtypeOf Type   type [inline]
 

Test if type is a subtype of another (i.e., contains a subset of its targets).

Reimplemented from Type.

Definition at line 167 of file src/edu/ksu/cis/bandera/bir/Ref.java.

Type Ref::liftCollectionType Type   type [inline, private]
 

Return the base type of a collection.

Definition at line 180 of file src/edu/ksu/cis/bandera/bir/Ref.java.

void Ref::resolveTargets   [inline]
 

Resolve a reference type by finding the state variables named in the type and computing the target type.

Definition at line 188 of file src/edu/ksu/cis/bandera/bir/Ref.java.

Type Ref::superType Type   type1,
Type   type2
[inline, private]
 

Compute the least common supertype of two types.

Definition at line 207 of file src/edu/ksu/cis/bandera/bir/Ref.java.

String Ref::toString   [inline]
 

Returns:
Type string, e.g. `int[]'

Reimplemented from Type.

Definition at line 16 of file src/gov/nasa/arc/ase/jpf/jvm/Ref.java.

String Ref::toString   [inline]
 

Returns:
Type string, e.g. `int[]'

Reimplemented from Type.

Definition at line 242 of file src/edu/ksu/cis/bandera/bir/Ref.java.

String Ref::toString   [inline]
 

Returns:
Type string, e.g. `int[]'

Reimplemented from Type.

Definition at line 15 of file lib/jpf/gov/nasa/arc/ase/jpf/jvm/Ref.java.


The documentation for this class was generated from the following files:
Generated at Thu Feb 7 07:21:04 2002 for Bandera by doxygen1.2.10 written by Dimitri van Heesch, © 1997-2001