ujf.verimag.bip.codegen
Class FindInteractionPointsVisitor
java.lang.Object
CBasicVisitor
ujf.verimag.bip.codegen.CBipVisitor
ujf.verimag.bip.codegen.FindInteractionPointsVisitor
public class FindInteractionPointsVisitor
- extends CBipVisitor
This visitor searches for interaction point within the parsed C code.
The interaction point are matched against function call (symbol name).
It can't handle function pointer.
It does not create any BIP code. It simply fills its attributes so that
other software can use the gathered information.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger
protected java.util.logging.Logger logger
contains_interaction
protected java.util.Map<Statement,java.util.Set<InteractionPoint>> contains_interaction
- Contains all objects that contain interaction with one or many interface.
propagate_interaction
protected final java.util.Set<InteractionPoint> propagate_interaction
- This list is used to indicate upper visiting method that a sub
node contains interaction points. Empty means no interaction found
during the last visit()/accept() invocation.
FindInteractionPointsVisitor
public FindInteractionPointsVisitor()
getStatementWithInnerInteraction
public java.util.Map<Statement,java.util.Set<InteractionPoint>> getStatementWithInnerInteraction()
- Returns:
- the map of codegen object that contains interactions (as a list of string)
pre
protected void pre()
localPropagate
protected void localPropagate(java.util.Set<InteractionPoint> local)
- Method to be called immediately after any accept() call.
It takes care of gathering information from the sub just visited through
the 'propagate_interaction' set.
- Parameters:
local
- the current local set of interactions
upPropagate
protected void upPropagate(java.util.Set<InteractionPoint> local,
Statement node)
- Method to be called last within any visit() method. It takes care
of filling the 'propagate_interaction' for the caller method.
- Parameters:
local
- node
-
visit
public <RetTypeClass extends CType> void visit( e)
visit
public void visit(CBasicStatement s)
visit
public <TypeClass extends CType> void visit( d)
visit
public <RetTypeClass extends CType> void visit( d)
visit
public <TypeClass extends CType> void visit( d)
visit
public void visit(EnumTDeclaration d)
visit
public void visit(EnumTPredeclaration d)
visit
public void visit(StructTDeclaration d)
visit
public void visit(StructTPredeclaration d)
visit
public void visit(UnionTDeclaration d)
visit
public void visit(UnionTPredeclaration d)
visit
public <TypeClass extends CType> void visit( d)
visit
public <TypeClass extends CType> void visit( d)
visit
public void visit( t)
visit
public <ElemTypeClass extends CType> void visit( t)
visit
public void visit( t)
visit
public void visit(CharT t)
visit
public void visit(DoubleT t)
visit
public void visit(FloatT t)
visit
public void visit(IntT t)
visit
public void visit(LongT t)
visit
public void visit(LongLongT t)
visit
public void visit(LongDoubleT t)
visit
public void visit(ShortT t)
visit
public void visit(VoidT t)
visit
public void visit(EnumT t)
visit
public <RetTypeClass extends CType> void visit( t)
visit
public <RefTypeClass extends CType> void visit( t)
visit
public void visit(StructT t)
visitStructOrUnionT
protected void visitStructOrUnionT( t)
visit
public void visit(UnionT t)
visit
public void visit( t)
visit
protected void visit( v)
visit
public <ElemTypeClass extends CType> void visit( v)
visit
public void visit( v)
visit
public void visit(Char v)
visit
public void visit(Int v)
visit
public void visit(LongLong v)
visit
public void visit(LongDouble v)
visit
public <RetTypeClass extends CType> void visit( v)
visit
public <RefTypeClass extends CType> void visit( v)
visit
public void visit(Struct v)
visit
public void visit(Union v)
visit
public <VarTypeClass extends CType> void visit( e)
visit
public <TypeClass extends CType> void visit( e)
visit
public <TypeClass extends CType> void visit( e)
visit
public <TypeClass extends CType> void visit( e)
visit
public <TypeClass extends CType> void visit( e)
visit
public <TypeClass extends > void visit( e)
visit
public void visit(CharC e)
visit
public void visit(DoubleC e)
visit
public void visit(FloatC e)
visit
public void visit(IntC e)
visit
public void visit(LongC e)
visit
public void visit(LongDoubleC e)
visit
public void visit(LongLongC e)
visit
public void visit(ShortC e)
visit
public void visit(CString e)
visit
public void visit(EnumC e)
visit
public void visit(StringLiteral e)
visit
public void visit(SizeOfType e)
visit
public void visit(SizeOfVar e)
visit
public void visit(SizeOfExpr e)
visit
public <TypeClass extends CType> void visit( e)
visit
public <TypeClass extends CType> void visit( e)
visit
public <RefTypeClass extends CType> void visit( e)
visit
public <ElementTypeClass extends CType> void visit( e)
visit
public void visit(StructValue e)
visit
public void visit(UnionValue e)
visit
public <TypeClass extends CType> void visit( e)
visitIncDecAbstract
public void visitIncDecAbstract( e)
visit
public <TypeClass extends CType> void visit( e)
visit
public <TypeClass extends CType> void visit( e)
visit
public void visit(Break c)
visit
public void visit(Continue c)
visit
public void visit(GotoStatement c)
visit
public void visit(Label l)
visit
public void visit(IfElse c)
visit
public void visit(Return c)
visit
public void visit(SwitchCase c)
visit
public void visit(DoWhile c)
visit
public void visit(WhileDo c)
visit
public void visit(For c)
visit
public void visit(CBlock b)
visit
public void visit(StatementBlock b)
visit
public void visit( b)
visit
public void visit(ForInit b)
visit
public void visit(ForIter b)
preVisitBlockElement
public void preVisitBlockElement(Statement s)
postVisitBlockElement
public void postVisitBlockElement(Statement s,
boolean lastElement)
preVisitBlock
public void preVisitBlock( b)
postVisitBlock
public void postVisitBlock( b)
visit
public void visit( b)
visit
public void visit(ArgumentBlock b)
visit
public void visit(ParameterBlock b)
visit
public void visit( b)
visit
public void visit(StructOrUnionBlock b)
visit
public void visit(EnumBlock b)
visit
public void visit(StructInitValue b)
visit
public void visit(UnionInitValue b)
visit
public void visit( b)
visit
public void visit(StringInitValue b)
visit
public void visit(CaseBlock b)
visit
public void visit(FunctionBlock b)
visit
public void visit(FieldAssignment c)
visit
public void visit(MacroDeclaration m)
visit
public void visit(MacroUndef m)
visit
public void visit(IfDirective d)
visit
public void visit(IncludeDirective d)
visit
public void visit(Comment c)
visit
public void visit(EmptyLines s)
visit
public void visit(ASMStatement c)
visit
public <TypeClass extends CType> void visit( e)
visit
public void visit(VaArg e)