envgen.codegen
Class UnitInterface

java.lang.Object
  |
  +--envgen.codegen.UnitInterface

public class UnitInterface
extends java.lang.Object

Discovers unit's interface that consists of visible methods and fields of the unit.


Field Summary
(package private)  int debug
          Set to print debugging messages.
(package private)  java.util.List defaultInstantiations
           
(package private)  java.util.List defaultPropositions
          List that holds MethodCall objects defining public nonabstract methods that are used for generation of universal drivers.
(package private)  java.util.HashMap envTable
          Table of environment components, in the case of the driver, components that make a driver.
(package private)  java.util.HashMap unitTable
          Table of unit (internal) classes.
 
Constructor Summary
UnitInterface(java.util.HashMap unitTable, java.util.HashMap envTable)
           
 
Method Summary
 void findUnitInterface()
          Discovers the interface of the unit.
 java.util.List getDefaultInstantiations()
           
protected  MethodCall getDefaultMethodCall(soot.SootClass internalClass, soot.SootMethod internalMethod)
          Creates a default proposition for invocation of internalMethod, used for creation of universal drivers and for creation of propositions universe for an LTL specification.
 java.util.List getDefaultPropositions()
           
 java.util.HashMap getEnvTable()
           
protected  void getInstanceClasses()
          Gathers classes of the unit that need to be instantiated in the driver.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

unitTable

java.util.HashMap unitTable
Table of unit (internal) classes.


envTable

java.util.HashMap envTable
Table of environment components, in the case of the driver, components that make a driver.


defaultPropositions

java.util.List defaultPropositions
List that holds MethodCall objects defining public nonabstract methods that are used for generation of universal drivers. Since we don't have parameters specified for the universal driver, we construct default code for such methods using TOP tokens of appropriate type for all parameters.


defaultInstantiations

java.util.List defaultInstantiations

debug

int debug
Set to print debugging messages.

Constructor Detail

UnitInterface

public UnitInterface(java.util.HashMap unitTable,
                     java.util.HashMap envTable)
Method Detail

findUnitInterface

public void findUnitInterface()
Discovers the interface of the unit.


getInstanceClasses

protected void getInstanceClasses()
Gathers classes of the unit that need to be instantiated in the driver. Extends abstract classes with concrete classes in order to exercise nonabstract public methods of abstract classes of the unit.


getDefaultMethodCall

protected MethodCall getDefaultMethodCall(soot.SootClass internalClass,
                                          soot.SootMethod internalMethod)
Creates a default proposition for invocation of internalMethod, used for creation of universal drivers and for creation of propositions universe for an LTL specification.


getDefaultPropositions

public java.util.List getDefaultPropositions()

getDefaultInstantiations

public java.util.List getDefaultInstantiations()

getEnvTable

public java.util.HashMap getEnvTable()