org.tromer.jie.opportunity
Class NominalBasicBlockOpp

java.lang.Object
  |
  +--org.tromer.jie.visitor.NullObjectVisitor
        |
        +--org.tromer.jie.Opportunity
              |
              +--org.tromer.jie.Opportunity.EntryExitOpp
                    |
                    +--org.tromer.jie.opportunity.NominalBasicBlockOpp

public class NominalBasicBlockOpp
extends Opportunity.EntryExitOpp

Nominal Basic Block (Entry/Exit) Instrumentation Opportunity.

Entry: Before first line of the method.
Exit: After the last executed line of the method.
In contrast with the Method opportunity, the exit action will occur only if the end of the method is reached or a return statement is executed. If the method is quit via an exception throw the exit action will not be executed.

Constructors, static initializers and instance initializers are considered as methods. Note that code in field initializers is not considered to be inside any method.


Inner classes inherited from class org.tromer.jie.Opportunity
Opportunity.EntryExitOpp, Opportunity.SingleActionOpp
 
Fields inherited from class org.tromer.jie.Opportunity.EntryExitOpp
entryAction, exitAction
 
Fields inherited from class org.tromer.jie.Opportunity
classSuffix
 
Constructor Summary
NominalBasicBlockOpp()
           
 
Method Summary
 void doneVisiting()
          Must be called from outside when the visit process has been completed.
 java.lang.Object visit(BreakStatement n, java.lang.Object argu)
          'break' statement
 java.lang.Object visit(CompilationUnit n, java.lang.Object argu)
           nodeOptional -> [ PackageDeclaration() ] nodeListOptional -> ( ImportDeclaration() )* nodeListOptional1 -> ( TypeDeclaration() )* nodeToken -> <EOF>
 java.lang.Object visit(ConditionalAndExpression n, java.lang.Object argu)
           inclusiveOrExpression -> InclusiveOrExpression() nodeListOptional -> ( "&&" InclusiveOrExpression() )*
 java.lang.Object visit(ConditionalOrExpression n, java.lang.Object argu)
          '||' conditional operator
 java.lang.Object visit(ContinueStatement n, java.lang.Object argu)
          'continue' statement
 java.lang.Object visit(DoStatement n, java.lang.Object argu)
          'do' statement
 java.lang.Object visit(ForStatement n, java.lang.Object argu)
          'for' statement
 java.lang.Object visit(IfStatement n, java.lang.Object argu)
          'if' statement
 java.lang.Object visit(LabeledStatement n, java.lang.Object argu)
          Labeled statement ('break' can be used to jump out of it)
 java.lang.Object visit(ReturnStatement n, java.lang.Object argu)
          'return' statement
 java.lang.Object visit(SwitchStatement n, java.lang.Object argu)
          'switch' statement
 java.lang.Object visit(ThrowStatement n, java.lang.Object argu)
           nodeToken -> "throw" expression -> Expression() nodeToken1 -> ";"
 java.lang.Object visit(TopBlockStatements n, java.lang.Object argu)
          Top block statement (not including "super()" calls to constructors)
 java.lang.Object visit(TryStatement n, java.lang.Object argu)
          'try' statement ('catch' and 'finally')
 java.lang.Object visit(WhileStatement n, java.lang.Object argu)
          'while' statement
 
Methods inherited from class org.tromer.jie.Opportunity.EntryExitOpp
init
 
Methods inherited from class org.tromer.jie.Opportunity
getOppName, getOppNameByClass, getTransformsCount, initOpp, log, logging, newContextlessTransform, newTransform, setLog
 
Methods inherited from class org.tromer.jie.visitor.NullObjectVisitor
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NominalBasicBlockOpp

public NominalBasicBlockOpp()
Method Detail

doneVisiting

public void doneVisiting()
Description copied from class: Opportunity
Must be called from outside when the visit process has been completed.
Overrides:
doneVisiting in class Opportunity

visit

public java.lang.Object visit(CompilationUnit n,
                              java.lang.Object argu)
Description copied from class: NullObjectVisitor
 nodeOptional -> [ PackageDeclaration() ]
 nodeListOptional -> ( ImportDeclaration() )*
 nodeListOptional1 -> ( TypeDeclaration() )*
 nodeToken -> <EOF>
 
Overrides:
visit in class NullObjectVisitor

visit

public java.lang.Object visit(TopBlockStatements n,
                              java.lang.Object argu)
Top block statement (not including "super()" calls to constructors)
 nodeListOptional -> ( BlockStatement() )*
 
Overrides:
visit in class NullObjectVisitor

visit

public java.lang.Object visit(IfStatement n,
                              java.lang.Object argu)
'if' statement
 nodeToken -> "if"
 nodeToken1 -> "("
 expression -> Expression()
 nodeToken2 -> ")"
 statement -> Statement()
 nodeOptional -> [ "else" Statement() ]
 
Overrides:
visit in class NullObjectVisitor

visit

public java.lang.Object visit(SwitchStatement n,
                              java.lang.Object argu)
'switch' statement
 nodeToken -> "switch"
 nodeToken1 -> "("
 expression -> Expression()
 nodeToken2 -> ")"
 nodeToken3 -> "{"
 nodeListOptional -> ( SwitchLabel() ( BlockStatement() )* )*
 nodeToken4 -> "}"
 
Overrides:
visit in class NullObjectVisitor

visit

public java.lang.Object visit(WhileStatement n,
                              java.lang.Object argu)
'while' statement
 nodeToken -> "while"
 nodeToken1 -> "("
 expression -> Expression()
 nodeToken2 -> ")"
 statement -> Statement()
 
Overrides:
visit in class NullObjectVisitor

visit

public java.lang.Object visit(DoStatement n,
                              java.lang.Object argu)
'do' statement
 nodeToken -> "do"
 statement -> Statement()
 nodeToken1 -> "while"
 nodeToken2 -> "("
 expression -> Expression()
 nodeToken3 -> ")"
 nodeToken4 -> ";"
 
Overrides:
visit in class NullObjectVisitor

visit

public java.lang.Object visit(ForStatement n,
                              java.lang.Object argu)
'for' statement
 nodeToken -> "for"
 nodeToken1 -> "("
 nodeOptional -> [ ForInit() ]
 nodeToken2 -> ";"
 nodeOptional1 -> [ Expression() ]
 nodeToken3 -> ";"
 nodeOptional2 -> [ ForUpdate() ]
 nodeToken4 -> ")"
 statement -> Statement()
 
Overrides:
visit in class NullObjectVisitor

visit

public java.lang.Object visit(BreakStatement n,
                              java.lang.Object argu)
'break' statement
 nodeToken -> "break"
 nodeOptional -> [ <IDENTIFIER> ]
 nodeToken1 -> ";"
 
Overrides:
visit in class NullObjectVisitor

visit

public java.lang.Object visit(ContinueStatement n,
                              java.lang.Object argu)
'continue' statement
 nodeToken -> "continue"
 nodeOptional -> [ <IDENTIFIER> ]
 nodeToken1 -> ";"
 
Overrides:
visit in class NullObjectVisitor

visit

public java.lang.Object visit(ReturnStatement n,
                              java.lang.Object argu)
'return' statement
 nodeToken -> "return"
 nodeOptional -> [ Expression() ]
 nodeToken1 -> ";"
 
Overrides:
visit in class NullObjectVisitor

visit

public java.lang.Object visit(ThrowStatement n,
                              java.lang.Object argu)
 nodeToken -> "throw"
 expression -> Expression()
 nodeToken1 -> ";"
 
Overrides:
visit in class NullObjectVisitor

visit

public java.lang.Object visit(TryStatement n,
                              java.lang.Object argu)
'try' statement ('catch' and 'finally')
 nodeToken -> "try"
 block -> Block()
 nodeListOptional -> ( "catch" "(" FormalParameter() ")" Block() )*
 nodeOptional -> [ "finally" Block() ]
 
Overrides:
visit in class NullObjectVisitor

visit

public java.lang.Object visit(LabeledStatement n,
                              java.lang.Object argu)
Labeled statement ('break' can be used to jump out of it)
 nodeToken -> <IDENTIFIER>
 nodeToken1 -> ":"
 statement -> Statement()
 
Overrides:
visit in class NullObjectVisitor

visit

public java.lang.Object visit(ConditionalOrExpression n,
                              java.lang.Object argu)
'||' conditional operator
 conditionalAndExpressionWrapper -> ConditionalAndExpressionWrapper()
 nodeListOptional -> ( "||" ConditionalAndExpressionWrapper() )*
 
Overrides:
visit in class NullObjectVisitor

visit

public java.lang.Object visit(ConditionalAndExpression n,
                              java.lang.Object argu)
 inclusiveOrExpression -> InclusiveOrExpression()
 nodeListOptional -> ( "&&" InclusiveOrExpression() )*
 
Overrides:
visit in class NullObjectVisitor