Public Methods | |
FGNodeAST | build (Value v, Stmt s) |
void | caseAddExpr (AddExpr v) |
void | caseAndExpr (AndExpr v) |
void | caseArrayRef (ArrayRef v) |
void | caseCastExpr (CastExpr v) |
void | caseCaughtExceptionRef (CaughtExceptionRef v) |
void | caseChooseExpr (ChooseExpr v) |
void | caseCmpExpr (CmpExpr v) |
void | caseCmpgExpr (CmpgExpr v) |
void | caseCmplExpr (CmplExpr v) |
void | caseComplementExpr (ComplementExpr expr) |
void | caseDivExpr (DivExpr v) |
void | caseDoubleConstant (DoubleConstant v) |
void | caseEqExpr (EqExpr v) |
void | caseFloatConstant (FloatConstant v) |
void | caseGeExpr (GeExpr v) |
void | caseGtExpr (GtExpr v) |
void | caseInExpr (InExpr v) |
void | caseInstanceFieldRef (InstanceFieldRef v) |
void | caseInstanceOfExpr (InstanceOfExpr v) |
void | caseIntConstant (IntConstant v) |
void | caseInterfaceInvokeExpr (InterfaceInvokeExpr v) |
void | caseLeExpr (LeExpr v) |
void | caseLengthExpr (LengthExpr v) |
void | caseLocal (Local v) |
void | caseLocalExpr (LocalExpr v) |
void | caseLocationTestExpr (LocationTestExpr e) |
void | caseLogicalAndExpr (LogicalAndExpr expr) |
void | caseLogicalOrExpr (LogicalOrExpr expr) |
void | caseLongConstant (LongConstant v) |
void | caseLtExpr (LtExpr v) |
void | caseMulExpr (MulExpr v) |
void | caseNeExpr (NeExpr v) |
void | caseNegExpr (NegExpr v) |
void | caseNewArrayExpr (NewArrayExpr v) |
void | caseNewExpr (NewExpr v) |
void | caseNewMultiArrayExpr (NewMultiArrayExpr v) |
void | caseNullConstant (NullConstant v) |
void | caseOrExpr (OrExpr v) |
void | caseParameterRef (ParameterRef v) |
void | caseRemExpr (RemExpr v) |
void | caseShlExpr (ShlExpr v) |
void | caseShrExpr (ShrExpr v) |
void | caseSpecialInvokeExpr (SpecialInvokeExpr v) |
void | caseStaticFieldRef (StaticFieldRef v) |
void | caseStaticInvokeExpr (StaticInvokeExpr v) |
void | caseStringConstant (StringConstant v) |
void | caseSubExpr (SubExpr v) |
void | caseThisRef (ThisRef v) |
void | caseUshrExpr (UshrExpr v) |
void | caseVirtualInvokeExpr (VirtualInvokeExpr v) |
void | caseXorExpr (XorExpr v) |
void | defaultCase (Object v) |
Static Public Methods | |
FGExpr (MethodVariant methodVariant, Map astNodes) | |
Protected Methods | |
Value | getValue (String base) |
Static Protected Methods | |
ClassTokenSimple | getToken (String type) |
Private Attributes | |
MethodVariant | methodVariant |
Map | astNodes |
Value | value |
Stmt | stmt |
Static Private Attributes | |
Hashtable | commonTokens = new Hashtable() |
Category | cat |
Definition at line 64 of file FGExpr.java.
|
Constructor of the class.
Definition at line 114 of file FGExpr.java. |
|
Builds the flow graph node for the given expression.
Definition at line 131 of file FGExpr.java. Referenced by FGStmt::caseAssignStmt(), FGStmt::caseEnterMonitorStmt(), FGStmt::caseExitMonitorStmt(), FGStmt::caseIdentityStmt(), FGStmt::caseIfStmt(), FGStmt::caseInvokeStmt(), FGStmt::caseReturnStmt(), and FGStmt::caseThrowStmt().
|
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 147 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 156 of file FGExpr.java. |
|
Handles the case when the expression is an array reference on RHS.
Definition at line 165 of file FGExpr.java. |
|
Handles a case when the expression is a cast expression.
Reimplemented from ExprSwitch. Definition at line 195 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Definition at line 212 of file FGExpr.java. |
|
This method was created in VisualAge by robbyjo.
Reimplemented from AbstractBanderaValueSwitch. Definition at line 220 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 257 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 266 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 275 of file FGExpr.java. |
|
This method was created in VisualAge by robbyjo.
Reimplemented from AbstractBanderaValueSwitch. Definition at line 283 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 291 of file FGExpr.java. |
|
We do not handle double values.
Definition at line 305 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 314 of file FGExpr.java. |
|
We do not handle float values.
Definition at line 323 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 332 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 341 of file FGExpr.java. |
|
This method was created in VisualAge by robbyjo.
Reimplemented from AbstractBanderaValueSwitch. Definition at line 349 of file FGExpr.java. |
|
Handles the case when the expression is an instance field reference expression.
Definition at line 369 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 385 of file FGExpr.java. |
|
We do not handle integer values.
Definition at line 394 of file FGExpr.java. |
|
Handles the case when the expression is an interface invoke expression.
Reimplemented from ExprSwitch. Definition at line 412 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 456 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 465 of file FGExpr.java. |
|
Handles the case when the expression is an local variable reference expression.
Definition at line 475 of file FGExpr.java. |
|
This method was created in VisualAge by robbyjo.
Reimplemented from AbstractBanderaValueSwitch. Definition at line 488 of file FGExpr.java. |
|
This method was created in VisualAge by robbyjo.
Reimplemented from AbstractBanderaValueSwitch. Definition at line 495 of file FGExpr.java. |
|
This method was created in VisualAge by robbyjo.
Reimplemented from AbstractBanderaValueSwitch. Definition at line 502 of file FGExpr.java. |
|
This method was created in VisualAge by robbyjo.
Reimplemented from AbstractBanderaValueSwitch. Definition at line 510 of file FGExpr.java. |
|
We do not handle long values.
Definition at line 518 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 527 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 536 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 545 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 554 of file FGExpr.java. |
|
Handles the case when the expression is an new array object creation expression.
Reimplemented from ExprSwitch. Definition at line 564 of file FGExpr.java. |
|
Handles the case when the expression is an new object creation expression.
Reimplemented from ExprSwitch. Definition at line 634 of file FGExpr.java. |
|
Handles the case when the expression is an new multidimensional array object creation expression.
Reimplemented from ExprSwitch. Definition at line 672 of file FGExpr.java. |
|
Handles the case where the expression evaluates to a null object. This is necessary as reference types can evaluate to null values.
Definition at line 771 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 787 of file FGExpr.java. |
|
Handles the case when the expression is an parameter reference expression.
Definition at line 797 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 812 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 821 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 830 of file FGExpr.java. |
|
Handles the case when the expression is an special invoke expression.
Reimplemented from ExprSwitch. Definition at line 839 of file FGExpr.java. |
|
Handles the case when the expression is an static field reference expression.
Definition at line 895 of file FGExpr.java. |
|
Handles the case when the expression is an static invoke expression.
Reimplemented from ExprSwitch. Definition at line 921 of file FGExpr.java. |
|
Handles the case where the expression evaluates to a string.
Definition at line 953 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 975 of file FGExpr.java. |
|
Handles the case when the expression is an "this" variable reference expression.
Definition at line 985 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 999 of file FGExpr.java. |
|
Handles the case when the expression is an virtual invoke expression.
Reimplemented from ExprSwitch. Definition at line 1008 of file FGExpr.java. |
|
We donot handle expressions that do not evaluate to objects.
Reimplemented from ExprSwitch. Definition at line 1047 of file FGExpr.java. |
|
Handles the cases which BOFA is not interested in.
Reimplemented from ExprSwitch. Definition at line 1056 of file FGExpr.java. |
|
Returns ClassTokenSimple object for the class, type. A New ClassToken is created if one doesnot exist of the given class and registered along with type. If a ClassToken already exists then it is returned.
Definition at line 1068 of file FGExpr.java. |
|
Returns the value representing the default initial values of type, base.
Definition at line 1082 of file FGExpr.java. |
|
Maps AST nodes and flow graph nodes. Definition at line 82 of file FGExpr.java. |
|
Provides logging capabilities through log4j. Definition at line 102 of file FGExpr.java. |
|
Stores the common set of class tokens used during analysis. An example would be a class corresponding to null object. Definition at line 71 of file FGExpr.java. |
|
Represents the method enclosing the expressions being processed by this object. Definition at line 77 of file FGExpr.java. |
|
Represents the statement in which the expression being processed occurs. Definition at line 96 of file FGExpr.java. |
|
Represents the expression being processed. We shall use the the Jimple expression to denote the allocator site. This will be unique in terms of object involved and not the value of the object Definition at line 89 of file FGExpr.java. |