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

ExprExtractor Class Reference

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

Public Methods

 ExprExtractor (TransSystem system, Stmt stmt, LocalDefs localDefs, SootMethod method, TypeExtractor typeExtract, PredicateSet predSet)
void caseAddExpr (AddExpr expr)
void caseAndExpr (AndExpr expr)
void caseArrayRef (ArrayRef expr)
void caseCastExpr (CastExpr expr)
void caseChooseExpr (ChooseExpr expr)
void caseComplementExpr (ComplementExpr expr)
void caseDivExpr (DivExpr expr)
void caseEqExpr (EqExpr expr)
void caseGeExpr (GeExpr expr)
void caseGtExpr (GtExpr expr)
void caseInExpr (InExpr expr)
void caseInstanceFieldRef (InstanceFieldRef expr)
void caseInstanceOfExpr (InstanceOfExpr expr)
void caseIntConstant (IntConstant expr)
void caseLeExpr (LeExpr expr)
void caseLengthExpr (LengthExpr expr)
void caseLocal (Local expr)
void caseLocalExpr (LocalExpr expr)
void caseLocationTestExpr (LocationTestExpr expr)
void caseLogicalAndExpr (LogicalAndExpr expr)
void caseLogicalOrExpr (LogicalOrExpr expr)
void caseLtExpr (LtExpr expr)
void caseMulExpr (MulExpr expr)
void caseNeExpr (NeExpr expr)
void caseNegExpr (NegExpr expr)
void caseNewArrayExpr (NewArrayExpr expr)
void caseNewExpr (NewExpr expr)
void caseNullConstant (NullConstant expr)
void caseOrExpr (OrExpr expr)
void caseRemExpr (RemExpr expr)
void caseStaticFieldRef (StaticFieldRef expr)
void caseStaticInvokeExpr (StaticInvokeExpr expr)
void caseStringConstant (StringConstant expr)
void caseSubExpr (SubExpr expr)
void caseThisRef (ThisRef thisRef)
void defaultCase (Object o)
boolean isObservable ()

Static Public Methods

String localKey (SootMethod method, Local local)

Private Attributes

TransSystem system
Stmt stmt
LocalDefs localDefs
SootMethod method
TypeExtractor typeExtract
PredicateSet predSet
boolean observable = false

Detailed Description

A Jimple value switch that translates Jimple expression values into BIR expression values.

Definition at line 55 of file ExprExtractor.java.


Member Function Documentation

void ExprExtractor::caseChooseExpr ChooseExpr   expr [inline, virtual]
 

Jimple extension: choose from a set of values.

Reimplemented from AbstractBanderaValueSwitch.

Definition at line 112 of file ExprExtractor.java.

void ExprExtractor::caseComplementExpr ComplementExpr   expr [inline]
 

Parameters:
expr   edu.ksu.cis.bandera.jext.ComplementExpr

Reimplemented from AbstractBanderaValueSwitch.

Definition at line 125 of file ExprExtractor.java.

void ExprExtractor::caseInExpr InExpr   expr [inline]
 

InExpr is a Jimple extension to support tests on abstracted types. It tests a value for membership in a set of constants. We translate this test to a disjunction of equality tests.

Reimplemented from AbstractBanderaValueSwitch.

Definition at line 174 of file ExprExtractor.java.

void ExprExtractor::caseLocalExpr LocalExpr   expr [inline]
 

A LocalExpr is a Jimple extension that carries its own method (so a Local can appear in a predicate expression, which is extracted outside the context of any method).

Reimplemented from AbstractBanderaValueSwitch.

Definition at line 260 of file ExprExtractor.java.

void ExprExtractor::caseLocationTestExpr LocationTestExpr   expr [inline]
 

Parameters:
e   edu.ksu.cis.bandera.jext.LocationTestExpr

Reimplemented from AbstractBanderaValueSwitch.

Definition at line 269 of file ExprExtractor.java.

void ExprExtractor::caseLogicalAndExpr LogicalAndExpr   expr [inline]
 

Parameters:
expr   edu.ksu.cis.bandera.jext.LogicalAndExpr

Reimplemented from AbstractBanderaValueSwitch.

Definition at line 292 of file ExprExtractor.java.

void ExprExtractor::caseLogicalOrExpr LogicalOrExpr   expr [inline]
 

Parameters:
expr   edu.ksu.cis.bandera.jext.LogicalOrExpr

Reimplemented from AbstractBanderaValueSwitch.

Definition at line 301 of file ExprExtractor.java.

String ExprExtractor::localKey SootMethod   method,
Local   local
[inline, static]
 

Construct a unique key for a Jimple Local by concatenating the class, method, and local name.

We need to do this rather than just use the Local object as a key because the Soot designers decided that two Locals would be equal() if they had the same name, even if they were in different methods.

Definition at line 426 of file ExprExtractor.java.


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