Module Coccilib.Ana

module Ana: sig .. end
external analysis integration. Note: do not use after transformations.

type result = Externalanalysis.result 
the type of analysis results: currently only integer ranges.
type bound = Externalanalysis.bound 
val show_bound : Externalanalysis.bound -> string
convert a bound to a string for showing.
val show_result : Externalanalysis.result -> string
convert a result value to a string for showing.
val load_results : string -> unit
loads some analysis results from the given file.
val find : Coccilib.pos -> Externalanalysis.result list
finds the analysis results for a given position.
Parameters:
pos : Coccilib.pos
val inter : Externalanalysis.result ->
Externalanalysis.result -> Externalanalysis.result option
computes the intersection of analysis results, if possible.
val satisfy : (Externalanalysis.result list -> bool) -> Coccilib.pos -> bool
predicate over a list of analysis results of a given position.
Parameters:
f : Externalanalysis.result list -> bool
pos : Coccilib.pos
val satisfy1 : (Externalanalysis.result -> bool) -> Coccilib.pos -> bool
predicate over the intersection of analysis results.
Parameters:
f : Externalanalysis.result -> bool
pos : Coccilib.pos
val has_any : Coccilib.pos -> bool
true if an analysis result exists for the given position.
Parameters:
pos : Coccilib.pos
val for_all : (Externalanalysis.result -> bool) -> Coccilib.pos -> bool
predicate over all analysis results of a given position.
Parameters:
p : Externalanalysis.result -> bool
pos : Coccilib.pos
val for_all1 : (Externalanalysis.result -> bool) -> Coccilib.pos -> bool
predicate over all analysis results (at least one) of a given position.
Parameters:
p : Externalanalysis.result -> bool
pos : Coccilib.pos
val exists : (Externalanalysis.result -> bool) -> Coccilib.pos -> bool
true if the predicate is satisfied for at least one result of a given position.
Parameters:
p : Externalanalysis.result -> bool
pos : Coccilib.pos
val single_int : int64 -> Externalanalysis.result -> bool
true if the result contains only a single integer as range
val contains_int : int64 -> Externalanalysis.result -> bool
true if the result range contains the given integer.
val has_only_nul : Coccilib.pos -> bool
analysis result of the position has only the zero value.
Parameters:
pos : Coccilib.pos
val has_also_nul : Coccilib.pos -> bool
analysis result of the position contains also the zero value.
Parameters:
pos : Coccilib.pos
val has_also_int : int64 -> Coccilib.pos -> bool
analysis result of the position contains also the given integer.
Parameters:
c : int64
pos : Coccilib.pos