Code Listener  [unstable] git snapshot
Data Structures
Here are the data structures with brief descriptions:
[detail level 1234]
oNCodeStorageObject model that describes the analyzed code on the input
|oNCallGraph
||oCNodeCall-graph node (there is a 1:1 relation with Fnc, if the CG is built)
||\CGraph
|oNPointsTo
||oCItem
||oCNode
||oCGraph
||oCGlobalData
||\CBuildCtx
|| oCdebug
|| \Cplot
|oCVarHigh-level variable representation
|oCVarDbLookup container for set of Var objects
|oCTypeDbType lookup table
|oCNameDbName to UID mapping for global/static symbols
|oCKillVarValue type describing a single 'kill variable' hint
|oCltKillVarFIXME: inserting <id,0> and <id,1> could break the consistency of std::set
|oCInsnHigh-level representation of an intermediate code instruction
|oCBlockBasic block - a single node in ControlFlow graph
|oCControlFlowControl flow graph - an easy to analyse representation of the intermediate code
|oCFncFunction definition
|oCFncDbLookup container for set of Fnc objects
|\CStorageValue type representing the whole serialised model of code
oCcl_accessorAccessor definition, available for some operands
oCcl_code_listenerListener object - the core part of this interface
oCcl_cstConstant, in the C language terminology: literal
oCcl_init_dataCollection of call-backs for writing various types of messages
oCcl_initializerInitializer, used mainly for global/static variables
oCcl_insnSingle instruction definition
oCcl_locGeneric location info
oCcl_operandGeneric operand
oCcl_typeType definition available for each operand
oCcl_type_itemUsed for nesting types into another (composite) type
oCcl_varVariable (local, global, fnc argument, register, etc.)
oCClFactoryFactory responsible for creating ICodeListener objects
oCClFilterBaseBase class for all ICodeListener filters
oCClfOpCheckerBase
oCClStorageBuilderBase class for all CodeStorage based code listeners, see run()
oCCltStackItem
oCICodeListenerC++ interface for listener objects
oCStopWatch
oCWorkListReally stupid, but easy to use, DFS implementation
oCWorkListLib
oCWorkListLib< T, std::queue< T > >
\CWorkListLib< T, std::stack< T > >