Class SemanticCfgGuidedVisitor<OtherInfo, Cfg, Ast, Dfg, Config>

This visitor extends on the DataflowAwareCfgGuidedVisitor by dispatching visitors for separate function calls as well, providing more information! In a way, this is the mixin of syntactic and dataflow guided visitation.

Overwrite the functions starting with on to implement your logic. In general, there is just one special case that you need to be aware of:

In the context of a function call, flowR may be unsure to which origin the call relate! Consider the following example:

if(u) foo <- library else foo <- rm
foo(x)

Obtaining the origins of the call to foo will return both built-in functions library and rm. The general semantic visitor can not decide on how to combine these cases, and it is up to your overload of SemanticCfgGuidedVisitor#onDispatchFunctionCallOrigins|onDispatchFunctionCallOrigins to decide how to handle this.

Use BasicCfgGuidedVisitor#start to start the traversal.

Type Parameters

Hierarchy (View Summary)

Hierarchy-Diagram

UML class diagram of SemanticCfgGuidedVisitor

Constructors

Properties

config: Config
visited: Map<NodeId, number>

Methods