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.
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.
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.
val has_also_nul : Coccilib.pos -> bool
analysis result of the position contains also the zero value.
val has_also_int : int64 -> Coccilib.pos -> bool
analysis result of the position contains also the given integer.
Parameters: |
c |
: |
int64
|
pos |
: |
Coccilib.pos
|
|