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

ClassInfo Class Reference

List of all members.

Public Methods

 ClassInfo (JavaClass cd)
long callMethod (SystemState ss, KernelState ks, ThreadInfo th, String name, int[] args)
long callStaticMethod (SystemState ss, KernelState ks, ThreadInfo th, String name, int[] args)
Fields createFields ()
Fields createStaticFields ()
ThreadInfo executeMain (KernelState ks, int classref)
InstructionHandle executeMethod (SystemState ss, KernelState ks, ThreadInfo th, String name)
InstructionHandle executeStaticMethod (SystemState ss, KernelState ks, ThreadInfo th, String name)
JavaClass getClassData ()
String getClassName ()
ConstantPoolGen getCPG ()
Field[] getDynamicFields ()
String getFieldName (int index)
int getFieldType (int index)
int getFieldType (String fname)
MethodInfo getMethodInfo (String name)
Field[] getStaticFields ()
int getStaticFieldType (int index)
int getStaticFieldType (String fname)
ClassInfo getSuperClassInfo ()
InstructionHandle initialize (SystemState ss, KernelState ks, ThreadInfo th)
boolean isMethodDeterministic (SystemState ss, KernelState ks, ThreadInfo th, String name)
boolean isMethodExecutable (SystemState ss, KernelState ks, ThreadInfo th, String name)
boolean isSafe (int line)
boolean isStaticMethodDeterministic (SystemState ss, KernelState ks, ThreadInfo th, String name)
boolean isStaticMethodExecutable (SystemState ss, KernelState ks, ThreadInfo th, String name)
boolean isThread ()
String reflectionClassName (String name)
String toString ()
Fields createClassFields ()
ThreadInfo createMainThread (SystemState ss, String[] args)
Fields createObjectFields ()
int dynamicFieldIndex (String fname)
Instruction executeMethod (ThreadInfo th, String mname)
Instruction executeStaticMethod (ThreadInfo th, String mname)
FieldInfo getDynamicField (int index)
String getDynamicFieldName (int index)
MethodInfo getDynamicMethod (String mname)
String getName ()
Reflection getReflection ()
Source getSource ()
String getSourceFileName ()
FieldInfo getStaticField (int index)
String getStaticFieldName (int index)
MethodInfo getStaticMethod (String mname)
ClassInfo getSuperClass ()
String getType ()
boolean instanceOf (ClassInfo ci)
boolean instanceOf (String cname)
boolean isMethodDeterministic (ThreadInfo th, String mname)
boolean isMethodExecutable (ThreadInfo th, String mname)
boolean isSafe (int line)
boolean isStaticMethodDeterministic (ThreadInfo th, String mname)
boolean isStaticMethodExecutable (ThreadInfo th, String mname)
boolean isSystemClass ()
int staticFieldIndex (String fname)

Static Public Methods

boolean exists (String cname)
synchronized ClassInfo getClassInfo (String cname)

Private Methods

void DEPEND_ExecuteMainMethod (ThreadInfo th)
void initFields ()
void loadSafeBlocks (JavaClass cd)
void setReflection (String name)
 ClassInfo (JavaClass jc)
FieldInfo[] loadDynamicFields (JavaClass jc)
MethodInfo[] loadDynamicMethods (JavaClass jc)
Reflection loadReflection ()
SafeBlocks loadSafeBlocks ()
SafeBlocks loadSafeBlocks (String fname)
Source loadSource ()
FieldInfo[] loadStaticFields (JavaClass jc)
MethodInfo[] loadStaticMethods (JavaClass jc)

Static Private Methods

void setClassPath ()
String[] loadInterfaces (JavaClass jc)
BSet loadRefs (FieldInfo[] f)
ClassInfo loadSuperClass (JavaClass jc)

Private Attributes

JavaClass classData
ConstantPoolGen classConstantPool
Hashtable methodList = new Hashtable()
Field[] dynamicFields
Field[] staticFields
SafeBlocks safeBlocks
ClassInfo superClass
Hashtable fieldNames = new Hashtable()
Reflection reflection = null
SootClass sootClass
List methodsInfoList
String name
MethodInfo[] staticMethods
MethodInfo[] dynamicMethods
FieldInfo[] staticFields
FieldInfo[] dynamicFields
String[] interfaces
String packageName
String sourceFileName
Source source
BSet dRefs
BSet sRefs

Static Private Attributes

String[] reflectionPath
String[] classPath = null
Hashtable loadedClasses = new Hashtable()
Hashtable safeBlocksPool = new Hashtable()

Detailed Description

The class of storing information about the class need to be analysed and sliced.

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


Constructor & Destructor Documentation

ClassInfo::ClassInfo JavaClass   jc [inline, private]
 

Creates a new class from the JavaClass information.

Definition at line 116 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by getClassInfo().


Member Function Documentation

Fields ClassInfo::createClassFields   [inline]
 

Creates the fields for a class.

Definition at line 143 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

ThreadInfo ClassInfo::createMainThread SystemState   ss,
String   args[]
[inline]
 

Creates the environment to execute the main method.

Definition at line 189 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by VirtualMachine::init(), and VirtualMachine::reinit().

Fields ClassInfo::createObjectFields   [inline]
 

Creates the fields for an object.

Definition at line 227 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

int ClassInfo::dynamicFieldIndex String   fname [inline]
 

Returns the index for a dynamic field.

Definition at line 273 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Instruction ClassInfo::executeMethod ThreadInfo   th,
String   mname
[inline]
 

Executes a method.

Definition at line 285 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Instruction ClassInfo::executeStaticMethod ThreadInfo   th,
String   mname
[inline]
 

Executes a static method.

Definition at line 296 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

synchronized ClassInfo ClassInfo::getClassInfo String   cname [inline, static]
 

Loads a class.

Definition at line 310 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

FieldInfo ClassInfo::getDynamicField int   index [inline]
 

Returns the information about a dynamic field.

Definition at line 333 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by Fields::getFieldName().

String ClassInfo::getDynamicFieldName int   index [inline]
 

Returns the name of a dynamic field.

Definition at line 339 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

MethodInfo ClassInfo::getDynamicMethod String   mname [inline]
 

Returns the method info a given dynamic method.

Definition at line 345 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by executeMethod(), isMethodDeterministic(), and isMethodExecutable().

String ClassInfo::getName   [inline]
 

Returns the name of the class.

Definition at line 358 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by dynamicFieldIndex(), MethodInfo::getCompleteName(), methodsInfoList(), staticFieldIndex(), ThreadInfo::throwException(), and FieldInfo::toString().

Reflection ClassInfo::getReflection   [inline]
 

Returns the reflection object associated with the class.

Definition at line 364 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

FieldInfo ClassInfo::getStaticField int   index [inline]
 

Returns the information about a static field.

Definition at line 379 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by Fields::getFieldName().

String ClassInfo::getStaticFieldName int   index [inline]
 

Returns the name of a static field.

Definition at line 385 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

MethodInfo ClassInfo::getStaticMethod String   mname [inline]
 

Returns the method info for a given static method.

Definition at line 391 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by createMainThread(), executeStaticMethod(), isStaticMethodDeterministic(), and isStaticMethodExecutable().

ClassInfo ClassInfo::getSuperClass   [inline]
 

Return the super class.

Definition at line 408 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

String ClassInfo::getType   [inline]
 

Returns the type of a class.

Definition at line 414 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by createClassFields(), and createObjectFields().

boolean ClassInfo::instanceOf String   cname [inline]
 

Returns true if the given class is an instance of the class or interface specified.

Definition at line 432 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

boolean ClassInfo::instanceOf ClassInfo   ci [inline]
 

Returns true if this class is an instance of the given class.

Definition at line 420 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by instanceOf(), and ThreadInfo::throwException().

boolean ClassInfo::isMethodDeterministic ThreadInfo   th,
String   mname
[inline]
 

Checks if a method call is deterministic.

Definition at line 449 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

boolean ClassInfo::isMethodExecutable ThreadInfo   th,
String   mname
[inline]
 

Checks if a method is executable.

Definition at line 459 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

boolean ClassInfo::isSafe int   line [inline]
 

Returns true if a line is defined as safe.

Definition at line 469 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

boolean ClassInfo::isStaticMethodDeterministic ThreadInfo   th,
String   mname
[inline]
 

Checks if a static method call is deterministic.

Definition at line 478 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

boolean ClassInfo::isStaticMethodExecutable ThreadInfo   th,
String   mname
[inline]
 

Checks if a static method is executable.

Definition at line 488 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

boolean ClassInfo::isSystemClass   [inline]
 

Returns true if the class is a system class.

Definition at line 498 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by MethodInfo::isSystemMethod(), MethodInfo::loadLocalVariableNames(), and MethodInfo::loadLocalVariableTypes().

FieldInfo [] ClassInfo::loadDynamicFields JavaClass   jc [inline, private]
 

Loads the dynamic fields of a class.

Definition at line 504 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by ClassInfo().

MethodInfo [] ClassInfo::loadDynamicMethods JavaClass   jc [inline, private]
 

Loads the dynamic methods of a class.

Definition at line 535 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by ClassInfo().

String [] ClassInfo::loadInterfaces JavaClass   jc [inline, static, private]
 

Loads the interfaces of a class.

Definition at line 555 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by ClassInfo().

Reflection ClassInfo::loadReflection   [inline, private]
 

Loads the reflection class.

Definition at line 571 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by ClassInfo().

SafeBlocks ClassInfo::loadSafeBlocks   [inline, private]
 

Loads the safe blocks.

Definition at line 588 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by ClassInfo().

FieldInfo [] ClassInfo::loadStaticFields JavaClass   jc [inline, private]
 

Loads the static fields of a class.

Definition at line 624 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by ClassInfo().

MethodInfo [] ClassInfo::loadStaticMethods JavaClass   jc [inline, private]
 

Loads the static methods of a class.

Definition at line 647 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by ClassInfo().

ClassInfo ClassInfo::loadSuperClass JavaClass   jc [inline, static, private]
 

Loads the super class of a class.

Definition at line 667 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Referenced by ClassInfo().

int ClassInfo::staticFieldIndex String   fname [inline]
 

Returns the index for a static field.

Definition at line 676 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.


Member Data Documentation

BSet ClassInfo::dRefs [private]
 

Which fields are references.

Definition at line 103 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

FieldInfo [] ClassInfo::dynamicFields [private]
 

List of dynamic fields.

Definition at line 61 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

MethodInfo [] ClassInfo::dynamicMethods [private]
 

List of dynamic methods.

Definition at line 51 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

String [] ClassInfo::interfaces [private]
 

Interfaces implemented by the class.

Definition at line 76 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Hashtable ClassInfo::loadedClasses = new Hashtable() [static, private]
 

Map of the loaded classes.

Definition at line 31 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

List ClassInfo::methodsInfoList [private]
 

a list of MethodInfo which representing all methods in the class.

Definition at line 48 of file src/edu/ksu/cis/bandera/pdgslicer/ClassInfo.java.

String ClassInfo::name [private]
 

Name of the class.

Definition at line 41 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

String ClassInfo::packageName [private]
 

Name of the package.

Definition at line 81 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Reflection ClassInfo::reflection = null [private]
 

Reflection object for this class.

Definition at line 91 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

String [] ClassInfo::reflectionPath [static, private]
 

Initial value:

 {
    "gov.nasa.arc.ase.jpf.jvm.reflection", ""
  }

Definition at line 33 of file lib/jpf/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

BSet ClassInfo::sRefs [private]
 

Which static fields are references.

Definition at line 108 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

SafeBlocks ClassInfo::safeBlocks [private]
 

Information about safe blocks in the code.

Definition at line 66 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Hashtable ClassInfo::safeBlocksPool = new Hashtable() [static, private]
 

Map of the loaded safe blocks.

Definition at line 36 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

Source ClassInfo::source [private]
 

Source file associated with the class.

Definition at line 96 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

String ClassInfo::sourceFileName [private]
 

Name of the file which contains the source of this class.

Definition at line 86 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

FieldInfo [] ClassInfo::staticFields [private]
 

List of static fields.

Definition at line 56 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

MethodInfo [] ClassInfo::staticMethods [private]
 

List of static methods.

Definition at line 46 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.

ClassInfo ClassInfo::superClass [private]
 

Reference to the super class.

Definition at line 71 of file src/gov/nasa/arc/ase/jpf/jvm/ClassInfo.java.


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