pfff-lang_GENERIC-analyze
Controlflow
commons
commons_core
commons_ocollection
pfff-commons-graph
pfff-config
pfff-graph_code
pfff-h_files-format
pfff-h_program-lang
pfff-h_visualization
pfff-lang_FUZZY
pfff-lang_GENERIC
pfff-lang_c
pfff-lang_c-analyze
pfff-lang_cpp
pfff-lang_cpp-analyze
pfff-lang_java
pfff-lang_java-analyze
pfff-lang_js
pfff-lang_js-analyze
pfff-lang_lisp
pfff-lang_ml
pfff-lang_ml-analyze
pfff-lang_nw
pfff-lang_nw-analyze
pfff-lang_php
pfff-lang_python
pfff-lang_python-analyze
pfff-lang_skip
type node = {
n : node_kind;
i : Parse_info.t option;
}
and node_kind =
| Enter
| Exit
| TrueNode
| FalseNode
| Join
| IfHeader of Ast_generic.expr
| WhileHeader of Ast_generic.expr
| DoHeader
| DoWhileTail of Ast_generic.expr
| ForHeader
| ForeachHeader of Ast_generic.pattern * Ast_generic.expr
| OtherStmtWithStmtHeader of Ast_generic.other_stmt_with_stmt_operator * Ast_generic.expr
| SwitchHeader of Ast_generic.expr
| SwitchEnd
| Case
| Default
| Return of Ast_generic.expr
| Break of Ast_generic.expr option
| Continue of Ast_generic.expr option
| TryHeader
| CatchStart
| Catch
| TryEnd
| Throw of Ast_generic.expr
| SimpleNode of simple_node
and simple_node =
| ExprStmt of Ast_generic.expr
| DefStmt of Ast_generic.definition
| DirectiveStmt of Ast_generic.directive
| Assert of Ast_generic.expr * Ast_generic.expr option
| OtherStmt of Ast_generic.other_stmt_operator * Ast_generic.any list
| Parameter of Ast_generic.parameter
type edge =
| Direct
type flow = (node, edge) Ograph_extended.ograph_mutable
type nodei = Ograph_extended.nodei
val find_node : (node -> bool) -> flow -> nodei
val find_enter : flow -> nodei
val find_exit : flow -> nodei
val display_flow : flow -> unit
val short_string_of_node_kind : node_kind -> string
val short_string_of_node : node -> string
val simple_node_of_stmt_opt : Ast_generic.stmt -> simple_node option
val any_of_simple_node : simple_node -> Ast_generic.any