diff --git a/website/checkers.json b/website/checkers.json index 05397cedaf0..b8551dcca15 100644 --- a/website/checkers.json +++ b/website/checkers.json @@ -4,7 +4,8 @@ "all-checkers", "all-categories", "all-issue-types", "checker-annotation-reachability", "checker-biabduction", "checker-bufferoverrun", "checker-config-impact-analysis", - "checker-cost", "checker-fragment-retains-view", "checker-impurity", + "checker-cost", "checker-dispatch-once-static-init", + "checker-fragment-retains-view", "checker-impurity", "checker-inefficient-keyset-iterator", "checker-lineage", "checker-litho-required-props", "checker-liveness", "checker-loop-hoisting", "checker-parameter-not-null-checked", diff --git a/website/docs/all-categories.md b/website/docs/all-categories.md index 7026943eab1..440534cca62 100644 --- a/website/docs/all-categories.md +++ b/website/docs/all-categories.md @@ -10,6 +10,7 @@ Concurrent accesses to the same resource conflict in a way that can give incorre Issue types in this category: - [DEADLOCK](/docs/next/all-issue-types#deadlock) +- [DISPATCH_ONCE_IN_STATIC_INIT](/docs/next/all-issue-types#dispatch_once_in_static_init) - [GUARDEDBY_VIOLATION](/docs/next/all-issue-types#guardedby_violation) - [INTERFACE_NOT_THREAD_SAFE](/docs/next/all-issue-types#interface_not_thread_safe) - [LOCK_CONSISTENCY_VIOLATION](/docs/next/all-issue-types#lock_consistency_violation) @@ -32,6 +33,7 @@ Issue types in this category: - [CXX_STRING_CAPTURED_IN_BLOCK](/docs/next/all-issue-types#cxx_string_captured_in_block) - [NIL_MESSAGING_TO_NON_POD](/docs/next/all-issue-types#nil_messaging_to_non_pod) - [NIL_MESSAGING_TO_NON_POD_LATENT](/docs/next/all-issue-types#nil_messaging_to_non_pod_latent) +- [NSSTRING_INTERNAL_PTR_CAPTURED_IN_BLOCK](/docs/next/all-issue-types#nsstring_internal_ptr_captured_in_block) - [PULSE_REFERENCE_STABILITY](/docs/next/all-issue-types#pulse_reference_stability) - [PULSE_UNINITIALIZED_VALUE](/docs/next/all-issue-types#pulse_uninitialized_value) - [STACK_VARIABLE_ADDRESS_ESCAPE](/docs/next/all-issue-types#stack_variable_address_escape) diff --git a/website/docs/all-checkers.md b/website/docs/all-checkers.md index f38ee777954..6895e942795 100644 --- a/website/docs/all-checkers.md +++ b/website/docs/all-checkers.md @@ -7,7 +7,7 @@ Here is an overview of the checkers currently available in Infer. ## Annotation Reachability -Given pairs of source and sink annotations, e.g. `@A` and `@B`, this checker will warn whenever some method annotated with `@A` calls, directly or indirectly, another method annotated with `@B`. Besides the custom pairs, it is also possible to enable some built-in checks, such as `@PerformanceCritical` reaching `@Expensive` or `@NoAllocation` reaching `new`. See flags starting with `--annotation-reachability`. +Given pairs of source and sink annotations, e.g. `@A` and `@B`, this checker will warn whenever some method annotated with `@A` calls, directly or indirectly, another method annotated with `@B`. Besides the custom pairs, it is also possible to enable some built-in checks, such as `@PerformanceCritical` reaching `@Expensive` or `@NoAllocation` reaching `new`. It is also possible to model methods as if they were annotated, using regular expressions. This should also work in languages where there are no annotations. See flags starting with `--annotation-reachability`. [Visit here for more information.](/docs/next/checker-annotation-reachability) @@ -37,6 +37,12 @@ Computes the asymptotic complexity of functions with respect to execution cost o [Visit here for more information.](/docs/next/checker-cost) +## dispatch-once in static init + +Detect if dispatch_once is called from a static constructor. + +[Visit here for more information.](/docs/next/checker-dispatch-once-static-init) + ## Fragment Retains View Detects when Android fragments are not explicitly nullified before becoming unreachable. diff --git a/website/docs/all-issue-types.md b/website/docs/all-issue-types.md index 4c085d6a8cb..b43c1948cee 100644 --- a/website/docs/all-issue-types.md +++ b/website/docs/all-issue-types.md @@ -554,25 +554,21 @@ dereferences it later. *Category: [Memory error](/docs/next/all-categories#memory-error). Reported as "C++ String Captured in Block" by [self-in-block](/docs/next/checker-self-in-block).* -This check flags when a local variable of type `std::string` is captured in an escaping block. +This check flags when an internal pointer of a local variable of type `std::string` is captured in an escaping block. This means that the block will be leaving the current scope, i.e. it is not annotated with `__attribute__((noescape))`. Example: ``` -- (void)string_captured_in_escaping_block_bad { std::string fullName; + const char* c = fullName.c_str(); dispatch_async(dispatch_get_main_queue(), ^{ - const char* c = fullName.c_str(); - ... + const char* c1 = c; }); - ...; -} ``` -This could cause crashes because the variable is likely to be freed if the block -uses it later. +This could cause crashes because the variable is likely to be freed when the code is executed, leaving the pointer dangling. ## DANGLING_POINTER_DEREFERENCE @@ -656,6 +652,11 @@ To suppress reports of deadlocks in a method `m()` use the This error is reported in C++. It fires when the value assigned to a variables is never used (e.g., `int i = 1; i = 2; return i;`). +## DISPATCH_ONCE_IN_STATIC_INIT + +*Category: [Concurrency](/docs/next/all-categories#concurrency). Reported as "dispatch_once in static init" by [dispatch-once-static-init](/docs/next/checker-dispatch-once-static-init).* + +Calling dispatch_once during the static initialization of objects is risky, for example it could cause deadlocks, because other objects might not have been initialized yet. ## DIVIDE_BY_ZERO *Reported as "Divide By Zero" by [biabduction](/docs/next/checker-biabduction).* @@ -1494,6 +1495,26 @@ sign(X) -> *Category: [Runtime exception](/docs/next/all-categories#runtime-exception). Reported as "No True Branch In If Latent" by [pulse](/docs/next/checker-pulse).* A latent [NO_TRUE_BRANCH_IN_IF](#no_true_branch_in_if). See the [documentation on Pulse latent issues](/docs/next/checker-pulse#latent-issues). +## NSSTRING_INTERNAL_PTR_CAPTURED_IN_BLOCK + +*Category: [Memory error](/docs/next/all-categories#memory-error). Reported as "NSString Captured in Block" by [self-in-block](/docs/next/checker-self-in-block).* + +This check flags when an internal pointer of a local variable of type `std::string` is captured in an escaping block. +This means that the block will be leaving the current scope, i.e. it is +not annotated with `__attribute__((noescape))`. + +Example: + +``` + std::string fullName; + const char* c = fullName.c_str(); + dispatch_async(dispatch_get_main_queue(), ^{ + const char* c1 = c; + }); +``` + +This could cause crashes because the variable is likely to be freed when the code is executed, leaving the pointer dangling. + ## NULLPTR_DEREFERENCE *Category: [Null pointer dereference](/docs/next/all-categories#null-pointer-dereference). Reported as "Null Dereference" by [pulse](/docs/next/checker-pulse).* @@ -2013,7 +2034,41 @@ Failure to `await` an `Awaitable` can lead to non-deterministic amount of the as *Category: [Resource leak](/docs/next/all-categories#resource-leak). Reported as "Unfinished Builder" by [pulse](/docs/next/checker-pulse).* -See [RESOURCE_LEAK](#resource_leak) +Classes adhering to builder pattern are usually expected to call a finalizer function at some point to produce final result based on values that were passed to a builder itself. If finalizer function hasn't been called then builder's data won't be consumed in any meaningful way and will just be discarded. + +```hack +class MyBuilder { + private int $a = 0; + private int $b = 0; + + public function setA(int $a): MyBuilder { + $this->a = $a; + return $this; + } + + public function setB(int $b): MyBuilder { + $this->b = $b; + return $this; + } + + public function saveX(): Awaitable { + // typically do something involving IO + } +} + +class BuilderTester { + public static function builderUserOK(): void { + $b = new MyBuilder(0); + $b->setA(42)->setB(97)->saveX(); + } + + public static function builderUserBad(): void { + $b = new MyBuilder(0); + $b->setA(42)->setB(97); // ERROR: saveX hasn't been called so the builder's data is discarded + } +} +``` + ## PULSE_UNINITIALIZED_CONST *Category: [Runtime exception](/docs/next/all-categories#runtime-exception). Reported as "Uninitialized Const" by [pulse](/docs/next/checker-pulse).* diff --git a/website/docs/checker-annotation-reachability.md b/website/docs/checker-annotation-reachability.md index 6d2245a3dac..11955e60bfe 100644 --- a/website/docs/checker-annotation-reachability.md +++ b/website/docs/checker-annotation-reachability.md @@ -1,16 +1,16 @@ --- title: "Annotation Reachability" -description: "Given pairs of source and sink annotations, e.g. `@A` and `@B`, this checker will warn whenever some method annotated with `@A` calls, directly or indirectly, another method annotated with `@B`. Besides the custom pairs, it is also possible to enable some built-in checks, such as `@PerformanceCritical` reaching `@Expensive` or `@NoAllocation` reaching `new`. See flags starting with `--annotation-reachability`." +description: "Given pairs of source and sink annotations, e.g. `@A` and `@B`, this checker will warn whenever some method annotated with `@A` calls, directly or indirectly, another method annotated with `@B`. Besides the custom pairs, it is also possible to enable some built-in checks, such as `@PerformanceCritical` reaching `@Expensive` or `@NoAllocation` reaching `new`. It is also possible to model methods as if they were annotated, using regular expressions. This should also work in languages where there are no annotations. See flags starting with `--annotation-reachability`." --- -Given pairs of source and sink annotations, e.g. `@A` and `@B`, this checker will warn whenever some method annotated with `@A` calls, directly or indirectly, another method annotated with `@B`. Besides the custom pairs, it is also possible to enable some built-in checks, such as `@PerformanceCritical` reaching `@Expensive` or `@NoAllocation` reaching `new`. See flags starting with `--annotation-reachability`. +Given pairs of source and sink annotations, e.g. `@A` and `@B`, this checker will warn whenever some method annotated with `@A` calls, directly or indirectly, another method annotated with `@B`. Besides the custom pairs, it is also possible to enable some built-in checks, such as `@PerformanceCritical` reaching `@Expensive` or `@NoAllocation` reaching `new`. It is also possible to model methods as if they were annotated, using regular expressions. This should also work in languages where there are no annotations. See flags starting with `--annotation-reachability`. Activate with `--annotation-reachability`. Supported languages: -- C/C++/ObjC: No +- C/C++/ObjC: Yes - C#/.Net: No -- Erlang: No +- Erlang: Yes - Hack: No - Java: Yes - Python: No diff --git a/website/docs/checker-dispatch-once-static-init.md b/website/docs/checker-dispatch-once-static-init.md new file mode 100644 index 00000000000..adb882f8fa4 --- /dev/null +++ b/website/docs/checker-dispatch-once-static-init.md @@ -0,0 +1,23 @@ +--- +title: "dispatch-once in static init" +description: "Detect if dispatch_once is called from a static constructor." +--- + +Detect if dispatch_once is called from a static constructor. + +Activate with `--dispatch-once-static-init`. + +Supported languages: +- C/C++/ObjC: Yes +- C#/.Net: No +- Erlang: No +- Hack: No +- Java: No +- Python: No + + + +## List of Issue Types + +The following issue types are reported by this checker: +- [DISPATCH_ONCE_IN_STATIC_INIT](/docs/next/all-issue-types#dispatch_once_in_static_init) diff --git a/website/docs/checker-self-in-block.md b/website/docs/checker-self-in-block.md index cdd934bbcac..a2d416c99fa 100644 --- a/website/docs/checker-self-in-block.md +++ b/website/docs/checker-self-in-block.md @@ -25,6 +25,7 @@ The following issue types are reported by this checker: - [CXX_STRING_CAPTURED_IN_BLOCK](/docs/next/all-issue-types#cxx_string_captured_in_block) - [MIXED_SELF_WEAKSELF](/docs/next/all-issue-types#mixed_self_weakself) - [MULTIPLE_WEAKSELF](/docs/next/all-issue-types#multiple_weakself) +- [NSSTRING_INTERNAL_PTR_CAPTURED_IN_BLOCK](/docs/next/all-issue-types#nsstring_internal_ptr_captured_in_block) - [SELF_IN_BLOCK_PASSED_TO_INIT](/docs/next/all-issue-types#self_in_block_passed_to_init) - [STRONG_SELF_NOT_CHECKED](/docs/next/all-issue-types#strong_self_not_checked) - [WEAK_SELF_IN_NO_ESCAPE_BLOCK](/docs/next/all-issue-types#weak_self_in_no_escape_block) diff --git a/website/static/man/next/infer-analyze.1.html b/website/static/man/next/infer-analyze.1.html index f71ae89c034..ea6d3515537 100644 --- a/website/static/man/next/infer-analyze.1.html +++ b/website/static/man/next/infer-analyze.1.html @@ -82,9 +82,12 @@

OPTIONS Besides the custom pairs, it is also possible to enable some built-in checks, such as ‘@PerformanceCritical‘ reaching ‘@Expensive‘ or -‘@NoAllocation‘ reaching ‘new‘. See -flags starting with ‘--annotation-reachability‘. -(Conversely: --no-annotation-reachability)

+‘@NoAllocation‘ reaching ‘new‘. It +is also possible to model methods as if they were annotated, +using regular expressions. This should also work in +languages where there are no annotations. See flags starting +with ‘--annotation-reachability‘. (Conversely: +--no-annotation-reachability)

--annotation-reachability-only

@@ -232,6 +235,7 @@

OPTIONS

--no-default-checkers

Deactivates: Default checkers: +--dispatch-once-static-init, --fragment-retains-view, --inefficient-keyset-iterator, --liveness, --parameter-not-null-checked, --pulse, @@ -258,6 +262,22 @@

OPTIONS the dict-missing-key checker.

+

--no-dispatch-once-static-init

+ +

Deactivates: +dispatch-once-static-init checker: Detect if +dispatch_once is called from a static constructor. +(Conversely: --dispatch-once-static-init)

+ + +

--dispatch-once-static-init-only

+ +

Activates: Enable +dispatch-once-static-init and disable all other +checkers (Conversely: +--no-dispatch-once-static-init-only)

+ +

--files-to-analyze-index file

@@ -488,6 +508,21 @@

OPTIONS blocks safely.

+

--ondemand-recursion-restart-limit +int

+ +

In order to make the analysis +of mutual recursion cycles deterministic in their output, +the analysis of a cycle of mutually recursive functions may +restart the analysis of the entire cycle from a +deterministic place. If the graph of mutual recursion is +more complex than a simple cycle this could potentially +result in many restarts before finding the "right" +procedure from which to start. This limits the number of +restarts before we give up and analyze the cycle as-is +instead.

+ +

--no-parameter-not-null-checked

Deactivates: @@ -1417,6 +1452,13 @@

PULSE CHECKER OPTIONS are method or namespace::method

+

--pulse-model-unknown-pure ++string

+ +

Regex of methods that should be +modelled as unknown pure in Pulse

+ +

--pulse-models-for-erlang +path

@@ -1482,6 +1524,14 @@

PULSE CHECKER OPTIONS (Conversely: --no-pulse-nullsafe-report-npe-as-separate-issue)

+ +

--pulse-over-approximate-reasoning

+ +

Activates: [EXPERIMENTAL] add +over-approximate reasoning on top of the under-approximate, +disjunctive reasoning of Pulse. (Conversely: +--no-pulse-over-approximate-reasoning)

+

--pulse-recency-limit int

@@ -1747,6 +1797,19 @@

PULSE CHECKER OPTIONS

Stop exploring new paths after int loop iterations

+

--python-globals { +own-by-closures | own-by-module }

+ +

Specify the strategy to wire +globals dictionnaire into each function

+ +

- own-by-closures: each closure +captured the global
+dictionary
+- own-by-module: each function is given the global +dictionary as
+argument (not referenced in the heap to avoid aliases)

+

RACERD CHECKER OPTIONS

diff --git a/website/static/man/next/infer-report.1.html b/website/static/man/next/infer-report.1.html index 5795c760644..04d2404a747 100644 --- a/website/static/man/next/infer-report.1.html +++ b/website/static/man/next/infer-report.1.html @@ -258,6 +258,7 @@

OPTIONS DATA_FLOW_TO_SINK (disabled by default),
DEADLOCK (enabled by default),
DEAD_STORE (enabled by default),
+DISPATCH_ONCE_IN_STATIC_INIT (disabled by default),
DIVIDE_BY_ZERO (disabled by default),
DO_NOT_REPORT (enabled by default),
EMPTY_VECTOR_ACCESS (enabled by default),
@@ -325,6 +326,8 @@

OPTIONS NO_MATCH_OF_RHS_LATENT (disabled by default),
NO_TRUE_BRANCH_IN_IF (enabled by default),
NO_TRUE_BRANCH_IN_IF_LATENT (disabled by default),
+NSSTRING_INTERNAL_PTR_CAPTURED_IN_BLOCK (disabled by +default),
NULLPTR_DEREFERENCE (enabled by default),
NULLPTR_DEREFERENCE_IN_NULLSAFE_CLASS (enabled by default),
diff --git a/website/static/man/next/infer.1.html b/website/static/man/next/infer.1.html index f965a50d568..d6cffb419a5 100644 --- a/website/static/man/next/infer.1.html +++ b/website/static/man/next/infer.1.html @@ -136,9 +136,12 @@

OPTIONS Besides the custom pairs, it is also possible to enable some built-in checks, such as ‘@PerformanceCritical‘ reaching ‘@Expensive‘ or -‘@NoAllocation‘ reaching ‘new‘. See -flags starting with ‘--annotation-reachability‘. -(Conversely: --no-annotation-reachability)

+‘@NoAllocation‘ reaching ‘new‘. It +is also possible to model methods as if they were annotated, +using regular expressions. This should also work in +languages where there are no annotations. See flags starting +with ‘--annotation-reachability‘. (Conversely: +--no-annotation-reachability)

See also infer-analyze(1).
@@ -861,6 +864,7 @@

OPTIONS --no-default-checkers

Deactivates: Default checkers: +--dispatch-once-static-init, --fragment-retains-view, --inefficient-keyset-iterator, --liveness, --parameter-not-null-checked, --pulse, @@ -978,6 +982,7 @@

OPTIONS DATA_FLOW_TO_SINK (disabled by default),
DEADLOCK (enabled by default),
DEAD_STORE (enabled by default),
+DISPATCH_ONCE_IN_STATIC_INIT (disabled by default),
DIVIDE_BY_ZERO (disabled by default),
DO_NOT_REPORT (enabled by default),
EMPTY_VECTOR_ACCESS (enabled by default),
@@ -1045,6 +1050,8 @@

OPTIONS NO_MATCH_OF_RHS_LATENT (disabled by default),
NO_TRUE_BRANCH_IN_IF (enabled by default),
NO_TRUE_BRANCH_IN_IF_LATENT (disabled by default),
+NSSTRING_INTERNAL_PTR_CAPTURED_IN_BLOCK (disabled by +default),
NULLPTR_DEREFERENCE (enabled by default),
NULLPTR_DEREFERENCE_IN_NULLSAFE_CLASS (enabled by default),
@@ -1124,6 +1131,24 @@

OPTIONS WEAK_SELF_IN_NO_ESCAPE_BLOCK (enabled by default),
Wrong_argument_number (enabled by default).
See also infer-report(1).
+--no-dispatch-once-static-init

+ +

Deactivates: +dispatch-once-static-init checker: Detect if +dispatch_once is called from a static constructor. +(Conversely: --dispatch-once-static-init)

+ +

See also +infer-analyze(1).
+--dispatch-once-static-init-only

+ +

Activates: Enable +dispatch-once-static-init and disable all other +checkers (Conversely: +--no-dispatch-once-static-init-only)

+ +

See also +infer-analyze(1).
--dump-duplicate-symbols

Activates: Dump all symbols @@ -1970,6 +1995,21 @@

OPTIONS

See also infer-capture(1).
+--ondemand-recursion-restart-limit
int

+ +

In order to make the analysis +of mutual recursion cycles deterministic in their output, +the analysis of a cycle of mutually recursive functions may +restart the analysis of the entire cycle from a +deterministic place. If the graph of mutual recursion is +more complex than a simple cycle this could potentially +result in many restarts before finding the "right" +procedure from which to start. This limits the number of +restarts before we give up and analyze the cycle as-is +instead.

+ +

See also +infer-analyze(1).
--no-parameter-not-null-checked

Deactivates: @@ -2360,6 +2400,13 @@

OPTIONS as transfering memory ownership in Pulse. Accepted formats are method or namespace::method

+

See also +infer-analyze(1).
+--pulse-model-unknown-pure
+string

+ +

Regex of methods that should be +modelled as unknown pure in Pulse

+

See also infer-analyze(1).
--pulse-model-unreachable
+string

@@ -2443,6 +2490,15 @@

OPTIONS and disable all other checkers (Conversely: --no-pulse-only)

+

See also +infer-analyze(1).
+--pulse-over-approximate-reasoning

+ +

Activates: [EXPERIMENTAL] add +over-approximate reasoning on top of the under-approximate, +disjunctive reasoning of Pulse. (Conversely: +--no-pulse-over-approximate-reasoning)

+

See also infer-analyze(1).
--pulse-recency-limit
int

@@ -2771,6 +2827,19 @@

OPTIONS

See also infer-capture(1).
+--python-globals
{ own-by-closures | own-by-module +}

+ +

Specify the strategy to wire +globals dictionnaire into each function

+ +

- own-by-closures: each closure +captured the global
+dictionary
+- own-by-module: each function is given the global +dictionary as
+argument (not referenced in the heap to avoid aliases)
+See also infer-analyze(1).
--qualified-cpp-name-block-list
+string

Skip analyzing the procedures diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/BottomLiftedUtils/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/BottomLiftedUtils/index.html index 122be83fb71..bd2ed7de337 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/BottomLiftedUtils/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/BottomLiftedUtils/index.html @@ -1,2 +1,6 @@ -BottomLiftedUtils (infer.Absint.AbstractDomain.BottomLiftedUtils)

Module AbstractDomain.BottomLiftedUtils

val pp_bottom : Stdlib.Format.formatter -> unit
+BottomLiftedUtils (infer.Absint.AbstractDomain.BottomLiftedUtils)

Module AbstractDomain.BottomLiftedUtils

val pp_bottom : F.formatter -> unit
val pp : + (F.formatter -> 't -> unit) -> + F.formatter -> + 't Types.bottom_lifted -> + unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteMultiMap/argument-1-Key/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteMultiMap/argument-1-Key/index.html index 334fa5fd19c..3223fac9d03 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteMultiMap/argument-1-Key/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteMultiMap/argument-1-Key/index.html @@ -1,2 +1,2 @@ -Key (infer.Absint.AbstractDomain.FiniteMultiMap.Key)

Parameter FiniteMultiMap.Key

include IStdlib.IStd.Caml.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
+Key (infer.Absint.AbstractDomain.FiniteMultiMap.Key)

Parameter FiniteMultiMap.Key

include Stdlib.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteMultiMap/argument-2-Value/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteMultiMap/argument-2-Value/index.html index ebd9737e9c3..ea3cb6e6853 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteMultiMap/argument-2-Value/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteMultiMap/argument-2-Value/index.html @@ -1,2 +1,2 @@ -Value (infer.Absint.AbstractDomain.FiniteMultiMap.Value)

Parameter FiniteMultiMap.Value

include IStdlib.IStd.Caml.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
+Value (infer.Absint.AbstractDomain.FiniteMultiMap.Value)

Parameter FiniteMultiMap.Value

include Stdlib.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSet/argument-1-Element/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSet/argument-1-Element/index.html index edae3cf4b30..f5ec68ed031 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSet/argument-1-Element/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSet/argument-1-Element/index.html @@ -1,2 +1,2 @@ -Element (infer.Absint.AbstractDomain.FiniteSet.Element)

Parameter FiniteSet.Element

include IStdlib.IStd.Caml.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
+Element (infer.Absint.AbstractDomain.FiniteSet.Element)

Parameter FiniteSet.Element

include Stdlib.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSet/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSet/index.html index b02d8cbafd0..7356295c95a 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSet/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSet/index.html @@ -1,2 +1,2 @@ -FiniteSet (infer.Absint.AbstractDomain.FiniteSet)

Module AbstractDomain.FiniteSet

Lift a set to a powerset domain ordered by subset. The elements of the set should be drawn from a *finite* collection of possible values, since the widening operator here is just union.

Parameters

Signature

include IStdlib.PrettyPrintable.PPSet with type elt = Element.t
include IStdlib.IStd.Caml.Set.S with type elt = Element.t
type elt = Element.t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include WithBottom with type t := t
include S with type t := t
include Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

+FiniteSet (infer.Absint.AbstractDomain.FiniteSet)

Module AbstractDomain.FiniteSet

Lift a set to a powerset domain ordered by subset. The elements of the set should be drawn from a *finite* collection of possible values, since the widening operator here is just union.

Parameters

Signature

include IStdlib.PrettyPrintable.PPSet with type elt = Element.t
include Stdlib.Set.S with type elt = Element.t
type elt = Element.t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include WithBottom with type t := t
include S with type t := t
include Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSetOfPPSet/argument-1-PPSet/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSetOfPPSet/argument-1-PPSet/index.html index 24116dc85f5..fd6c2bdf664 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSetOfPPSet/argument-1-PPSet/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSetOfPPSet/argument-1-PPSet/index.html @@ -1,2 +1,2 @@ -PPSet (infer.Absint.AbstractDomain.FiniteSetOfPPSet.PPSet)

Parameter FiniteSetOfPPSet.PPSet

include IStdlib.IStd.Caml.Set.S
type elt
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+PPSet (infer.Absint.AbstractDomain.FiniteSetOfPPSet.PPSet)

Parameter FiniteSetOfPPSet.PPSet

include Stdlib.Set.S
type elt
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSetOfPPSet/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSetOfPPSet/index.html index a37938620e1..04f7aad87cb 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSetOfPPSet/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/FiniteSetOfPPSet/index.html @@ -1,4 +1,4 @@ FiniteSetOfPPSet (infer.Absint.AbstractDomain.FiniteSetOfPPSet)

Module AbstractDomain.FiniteSetOfPPSet

Lift a PPSet to a powerset domain ordered by subset. The elements of the set should be drawn from a *finite* collection of possible values, since the widening operator here is just union.

Parameters

Signature

include IStdlib.PrettyPrintable.PPSet with type t = PPSet.t - with type elt = PPSet.elt
include IStdlib.IStd.Caml.Set.S with type t = PPSet.t with type elt = PPSet.elt
type elt = PPSet.elt
type t = PPSet.t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include WithBottom with type t := t
include S with type t := t
include Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

+ with type elt = PPSet.elt
include Stdlib.Set.S with type t = PPSet.t with type elt = PPSet.elt
type elt = PPSet.elt
type t = PPSet.t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include WithBottom with type t := t
include S with type t := t
include Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/InvertedMap/argument-1-Key/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/InvertedMap/argument-1-Key/index.html index 6d7231ab057..3184aa30e3b 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/InvertedMap/argument-1-Key/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/InvertedMap/argument-1-Key/index.html @@ -1,2 +1,2 @@ -Key (infer.Absint.AbstractDomain.InvertedMap.Key)

Parameter InvertedMap.Key

include IStdlib.IStd.Caml.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
+Key (infer.Absint.AbstractDomain.InvertedMap.Key)

Parameter InvertedMap.Key

include Stdlib.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/InvertedSet/argument-1-Element/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/InvertedSet/argument-1-Element/index.html index f57a730a2a8..d15545ea432 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/InvertedSet/argument-1-Element/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/InvertedSet/argument-1-Element/index.html @@ -1,2 +1,2 @@ -Element (infer.Absint.AbstractDomain.InvertedSet.Element)

Parameter InvertedSet.Element

include IStdlib.IStd.Caml.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
+Element (infer.Absint.AbstractDomain.InvertedSet.Element)

Parameter InvertedSet.Element

include Stdlib.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/InvertedSet/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/InvertedSet/index.html index c0d45ea6c4b..4e92d954afe 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/InvertedSet/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/InvertedSet/index.html @@ -1,2 +1,2 @@ -InvertedSet (infer.Absint.AbstractDomain.InvertedSet)

Module AbstractDomain.InvertedSet

Lift a set to a powerset domain ordered by superset, so the join operator is intersection

Parameters

Signature

include IStdlib.PrettyPrintable.PPSet with type elt = Element.t
include IStdlib.IStd.Caml.Set.S with type elt = Element.t
type elt = Element.t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include WithTop with type t := t
include S with type t := t
include Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val top : t
val is_top : t -> bool
+InvertedSet (infer.Absint.AbstractDomain.InvertedSet)

Module AbstractDomain.InvertedSet

Lift a set to a powerset domain ordered by superset, so the join operator is intersection

Parameters

Signature

include IStdlib.PrettyPrintable.PPSet with type elt = Element.t
include Stdlib.Set.S with type elt = Element.t
type elt = Element.t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include WithTop with type t := t
include S with type t := t
include Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val top : t
val is_top : t -> bool
diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/Map/argument-1-Key/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/Map/argument-1-Key/index.html index b7b9431767e..1f5f88f6772 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/Map/argument-1-Key/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/Map/argument-1-Key/index.html @@ -1,2 +1,2 @@ -Key (infer.Absint.AbstractDomain.Map.Key)

Parameter Map.Key

include IStdlib.IStd.Caml.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
+Key (infer.Absint.AbstractDomain.Map.Key)

Parameter Map.Key

include Stdlib.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/MapOfPPMap/argument-1-PPMap/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/MapOfPPMap/argument-1-PPMap/index.html index 1890335d245..bdcee173876 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/MapOfPPMap/argument-1-PPMap/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/MapOfPPMap/argument-1-PPMap/index.html @@ -1,5 +1,5 @@ -PPMap (infer.Absint.AbstractDomain.MapOfPPMap.PPMap)

Parameter MapOfPPMap.PPMap

include IStdlib.IStd.Caml.Map.S
type key
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +PPMap (infer.Absint.AbstractDomain.MapOfPPMap.PPMap)

Parameter MapOfPPMap.PPMap

include Stdlib.Map.S
type key
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/MinReprSet/argument-1-Element/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/MinReprSet/argument-1-Element/index.html index 5981f5c4d0e..e74ab768e11 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/MinReprSet/argument-1-Element/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/MinReprSet/argument-1-Element/index.html @@ -1,2 +1,2 @@ -Element (infer.Absint.AbstractDomain.MinReprSet.Element)

Parameter MinReprSet.Element

include IStdlib.IStd.Caml.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
+Element (infer.Absint.AbstractDomain.MinReprSet.Element)

Parameter MinReprSet.Element

include Stdlib.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/MinReprSet/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/MinReprSet/index.html index 690bc943cc3..061a38de930 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/MinReprSet/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/MinReprSet/index.html @@ -1,2 +1,2 @@ -MinReprSet (infer.Absint.AbstractDomain.MinReprSet)

Module AbstractDomain.MinReprSet

Abstracts a set of Elements by keeping its smallest representative only. The widening is terminating only if the order fulfills the descending chain condition.

Parameters

Signature

type elt = Element.t
include IStdlib.IStd.Caml.Set.OrderedType
type t
val compare : t -> t -> int
include WithBottom with type t := t
include S with type t := t
include Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

val singleton : elt -> t
val min_elt : t -> elt option
val add : elt -> t -> t
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val exists : (elt -> bool) -> t -> bool
+MinReprSet (infer.Absint.AbstractDomain.MinReprSet)

Module AbstractDomain.MinReprSet

Abstracts a set of Elements by keeping its smallest representative only. The widening is terminating only if the order fulfills the descending chain condition.

Parameters

Signature

type elt = Element.t
include Stdlib.Set.OrderedType
type t
val compare : t -> t -> int
include WithBottom with type t := t
include S with type t := t
include Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

val singleton : elt -> t
val min_elt : t -> elt option
val add : elt -> t -> t
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val exists : (elt -> bool) -> t -> bool
diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/SafeInvertedMap/argument-1-Key/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/SafeInvertedMap/argument-1-Key/index.html index 51013003405..7000d5a1322 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/SafeInvertedMap/argument-1-Key/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/SafeInvertedMap/argument-1-Key/index.html @@ -1,2 +1,2 @@ -Key (infer.Absint.AbstractDomain.SafeInvertedMap.Key)

Parameter SafeInvertedMap.Key

include IStdlib.IStd.Caml.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
+Key (infer.Absint.AbstractDomain.SafeInvertedMap.Key)

Parameter SafeInvertedMap.Key

include Stdlib.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/StackedUtils/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/StackedUtils/index.html index 9d4803eb339..f9dd5861658 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/StackedUtils/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/StackedUtils/index.html @@ -12,10 +12,10 @@ cmp:('v -> 'v -> int) -> cmp_above:('a -> 'a -> int) -> int
val pp : - pp_below:(Stdlib.Format.formatter -> 'b -> unit) -> - pp:(Stdlib.Format.formatter -> 'v -> unit) -> - pp_above:(Stdlib.Format.formatter -> 'a -> unit) -> - Stdlib.Format.formatter -> + pp_below:(F.formatter -> 'b -> unit) -> + pp:(F.formatter -> 'v -> unit) -> + pp_above:(F.formatter -> 'a -> unit) -> + F.formatter -> ('b, 'v, 'a) Types.below_above -> unit
val combine : dir:[ `Increasing | `Decreasing ] -> diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/TopLiftedUtils/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/TopLiftedUtils/index.html index 3a164c239b7..daa6c377712 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/TopLiftedUtils/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/TopLiftedUtils/index.html @@ -1,2 +1,2 @@ -TopLiftedUtils (infer.Absint.AbstractDomain.TopLiftedUtils)

Module AbstractDomain.TopLiftedUtils

val pp_top : Stdlib.Format.formatter -> unit
+TopLiftedUtils (infer.Absint.AbstractDomain.TopLiftedUtils)

Module AbstractDomain.TopLiftedUtils

val pp_top : F.formatter -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/index.html index 90abd0bbc09..0c20c947c69 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/index.html @@ -1,5 +1,5 @@ -AbstractDomain (infer.Absint.AbstractDomain)

Module Absint.AbstractDomain

Abstract domains and domain combinators

module Types : sig ... end
module type Comparable = sig ... end
module type Disjunct = sig ... end
module type S = sig ... end
include sig ... end
type empty = |
module Empty : S with type t = empty
module Unit : S with type t = unit

a trivial domain

module type WithBottom = sig ... end

A domain with an explicit bottom value

module type WithTop = sig ... end

A domain with an explicit top value

module type WithBottomTop = sig ... end

A domain with an explicit bottom and top values

module BottomLifted (Domain : S) : sig ... end

Create a domain with Bottom element from a pre-domain

module BottomLiftedUtils : sig ... end
module TopLifted (Domain : S) : sig ... end

Create a domain with Top element from a pre-domain

module TopLiftedUtils : sig ... end

Create a domain with Bottom and Top elements from a pre-domain

module Pair (Domain1 : S) (Domain2 : S) : S with type t = Domain1.t * Domain2.t

Cartesian product of two domains.

module PairWithBottom +AbstractDomain (infer.Absint.AbstractDomain)

Module Absint.AbstractDomain

module F = Stdlib.Format

Abstract domains and domain combinators

module Types : sig ... end
module type Comparable = sig ... end
module type Disjunct = sig ... end
module type S = sig ... end
include sig ... end
type empty = |
module Empty : S with type t = empty
module Unit : S with type t = unit

a trivial domain

module type WithBottom = sig ... end

A domain with an explicit bottom value

module type WithTop = sig ... end

A domain with an explicit top value

module type WithBottomTop = sig ... end

A domain with an explicit bottom and top values

module BottomLifted (Domain : S) : sig ... end

Create a domain with Bottom element from a pre-domain

module BottomLiftedUtils : sig ... end
module TopLifted (Domain : S) : sig ... end

Create a domain with Top element from a pre-domain

module TopLiftedUtils : sig ... end

Create a domain with Bottom and Top elements from a pre-domain

module Pair (Domain1 : S) (Domain2 : S) : S with type t = Domain1.t * Domain2.t

Cartesian product of two domains.

module PairWithTop @@ -38,4 +38,7 @@ InvertedMapS with type key = Key.t and type value = ValueDomain.t

Similar to InvertedMap but it guarantees that it has a canonical form. For example, both {a -> top_v} and empty represent the same abstract value top in InvertedMap, but in this implementation, top is always implemented as empty by not adding the top_v explicitly.

module BooleanAnd : S with type t = bool

Boolean domain ordered by p || ~q. Useful when you want a boolean that's true only when it's true in both conditional branches.

module BooleanOr : sig ... end

Boolean domain ordered by ~p || q. Useful when you want a boolean that's true only when it's true in one conditional branch.

module type MaxCount = sig ... end
module CountDomain (MaxCount : MaxCount) : sig ... end

Domain keeping a non-negative count with a bounded maximum value. The count can be only incremented and decremented.

module DownwardIntDomain (MaxCount : MaxCount) : sig ... end

Domain keeping a non-negative count with a bounded maximum value. join is minimum and top is zero.

+ sig ... end
module BooleanAnd : S with type t = bool

Boolean domain ordered by p || ~q. Useful when you want a boolean that's true only when it's true in both conditional branches.

module BooleanOr : sig ... end

Boolean domain ordered by ~p || q. Useful when you want a boolean that's true only when it's true in one conditional branch.

module type MaxCount = sig ... end
module CountDomain (MaxCount : MaxCount) : sig ... end

Domain keeping a non-negative count with a bounded maximum value. The count can be only incremented and decremented.

module DownwardIntDomain (MaxCount : MaxCount) : sig ... end

Domain keeping a non-negative count with a bounded maximum value. join is minimum and top is zero.

module type NodeSetS = + FiniteSetS + with type elt = IR.Procdesc.Node.t + and type t = IR.Procdesc.NodeSet.t
module NodeSet : NodeSetS
diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/module-type-FiniteSetS/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/module-type-FiniteSetS/index.html index 9fb7e7a82a5..577f88064b9 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/module-type-FiniteSetS/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/module-type-FiniteSetS/index.html @@ -1,2 +1,2 @@ -FiniteSetS (infer.Absint.AbstractDomain.FiniteSetS)

Module type AbstractDomain.FiniteSetS

include IStdlib.PrettyPrintable.PPSet
include IStdlib.IStd.Caml.Set.S
type elt
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include WithBottom with type t := t
include S with type t := t
include Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

+FiniteSetS (infer.Absint.AbstractDomain.FiniteSetS)

Module type AbstractDomain.FiniteSetS

include IStdlib.PrettyPrintable.PPSet
include Stdlib.Set.S
type elt
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include WithBottom with type t := t
include S with type t := t
include Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

diff --git a/website/static/odoc/next/infer/Absint/AbstractDomain/module-type-InvertedSetS/index.html b/website/static/odoc/next/infer/Absint/AbstractDomain/module-type-InvertedSetS/index.html index 79967a2e2ce..856c36c9974 100644 --- a/website/static/odoc/next/infer/Absint/AbstractDomain/module-type-InvertedSetS/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractDomain/module-type-InvertedSetS/index.html @@ -1,2 +1,2 @@ -InvertedSetS (infer.Absint.AbstractDomain.InvertedSetS)

Module type AbstractDomain.InvertedSetS

include IStdlib.PrettyPrintable.PPSet
include IStdlib.IStd.Caml.Set.S
type elt
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include WithTop with type t := t
include S with type t := t
include Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val top : t
val is_top : t -> bool
+InvertedSetS (infer.Absint.AbstractDomain.InvertedSetS)

Module type AbstractDomain.InvertedSetS

include IStdlib.PrettyPrintable.PPSet
include Stdlib.Set.S
type elt
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include WithTop with type t := t
include S with type t := t
include Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val top : t
val is_top : t -> bool
diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardRPO/argument-1-T/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardRPO/argument-1-T/CFG/Node/IdMap/index.html index a657072d10b..5f2ee6c2bd5 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardRPO/argument-1-T/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardRPO/argument-1-T/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.AbstractInterpreter.MakeBackwardRPO.T.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.AbstractInterpreter.MakeBackwardRPO.T.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardRPO/argument-1-T/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardRPO/argument-1-T/CFG/Node/IdSet/index.html index d8b73a0b032..1f157a466dc 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardRPO/argument-1-T/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardRPO/argument-1-T/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.AbstractInterpreter.MakeBackwardRPO.T.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.AbstractInterpreter.MakeBackwardRPO.T.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardWTO/argument-1-T/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardWTO/argument-1-T/CFG/Node/IdMap/index.html index cbf074fa141..9d16d4aa42d 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardWTO/argument-1-T/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardWTO/argument-1-T/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.AbstractInterpreter.MakeBackwardWTO.T.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.AbstractInterpreter.MakeBackwardWTO.T.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardWTO/argument-1-T/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardWTO/argument-1-T/CFG/Node/IdSet/index.html index 9923136f013..02b3ff4995a 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardWTO/argument-1-T/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeBackwardWTO/argument-1-T/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.AbstractInterpreter.MakeBackwardWTO.T.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.AbstractInterpreter.MakeBackwardWTO.T.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeDisjunctive/argument-1-T/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeDisjunctive/argument-1-T/CFG/Node/IdMap/index.html index 9ff5eabdbdf..a1b94392ac0 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeDisjunctive/argument-1-T/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeDisjunctive/argument-1-T/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.AbstractInterpreter.MakeDisjunctive.T.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.AbstractInterpreter.MakeDisjunctive.T.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeDisjunctive/argument-1-T/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeDisjunctive/argument-1-T/CFG/Node/IdSet/index.html index 85a33eb9c8a..d7019df1e89 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeDisjunctive/argument-1-T/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeDisjunctive/argument-1-T/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.AbstractInterpreter.MakeDisjunctive.T.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.AbstractInterpreter.MakeDisjunctive.T.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeDisjunctive/argument-1-T/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeDisjunctive/argument-1-T/index.html index 0bfc710dad6..ca7d6aa3146 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeDisjunctive/argument-1-T/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeDisjunctive/argument-1-T/index.html @@ -12,4 +12,8 @@ IStdlib.Pp.print_kind -> Stdlib.Format.formatter -> DisjDomain.t -> + unit
val pp_non_disj : + IStdlib.Pp.print_kind -> + Stdlib.Format.formatter -> + NonDisjDomain.t -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeRPO/argument-1-TransferFunctions/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeRPO/argument-1-TransferFunctions/CFG/Node/IdMap/index.html index 8e64d98dd64..55633eccd78 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeRPO/argument-1-TransferFunctions/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeRPO/argument-1-TransferFunctions/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.AbstractInterpreter.MakeRPO.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.AbstractInterpreter.MakeRPO.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeRPO/argument-1-TransferFunctions/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeRPO/argument-1-TransferFunctions/CFG/Node/IdSet/index.html index 39b50d783c4..1f70bd7e308 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeRPO/argument-1-TransferFunctions/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeRPO/argument-1-TransferFunctions/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.AbstractInterpreter.MakeRPO.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.AbstractInterpreter.MakeRPO.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeWTO/argument-1-TransferFunctions/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeWTO/argument-1-TransferFunctions/CFG/Node/IdMap/index.html index 8eb0252f0ad..ab9aa17c828 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeWTO/argument-1-TransferFunctions/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeWTO/argument-1-TransferFunctions/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.AbstractInterpreter.MakeWTO.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.AbstractInterpreter.MakeWTO.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeWTO/argument-1-TransferFunctions/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeWTO/argument-1-TransferFunctions/CFG/Node/IdSet/index.html index 4cf8b97a6f1..032e7998527 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeWTO/argument-1-TransferFunctions/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/MakeWTO/argument-1-TransferFunctions/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.AbstractInterpreter.MakeWTO.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.AbstractInterpreter.MakeWTO.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-Make/argument-1-TransferFunctions/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-Make/argument-1-TransferFunctions/CFG/Node/IdMap/index.html index 0e8bbf90d9a..48c21e99e7b 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-Make/argument-1-TransferFunctions/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-Make/argument-1-TransferFunctions/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.AbstractInterpreter.Make.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.AbstractInterpreter.Make.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-Make/argument-1-TransferFunctions/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-Make/argument-1-TransferFunctions/CFG/Node/IdSet/index.html index d9eea78e6a5..3298838c28d 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-Make/argument-1-TransferFunctions/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-Make/argument-1-TransferFunctions/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.AbstractInterpreter.Make.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.AbstractInterpreter.Make.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-MakeExceptional/argument-1-T/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-MakeExceptional/argument-1-T/CFG/Node/IdMap/index.html index 61080c649ff..9a54bb31ed1 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-MakeExceptional/argument-1-T/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-MakeExceptional/argument-1-T/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.AbstractInterpreter.MakeExceptional.T.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.AbstractInterpreter.MakeExceptional.T.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-MakeExceptional/argument-1-T/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-MakeExceptional/argument-1-T/CFG/Node/IdSet/index.html index ff605f86e13..cd47bbf9a57 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-MakeExceptional/argument-1-T/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-MakeExceptional/argument-1-T/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.AbstractInterpreter.MakeExceptional.T.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.AbstractInterpreter.MakeExceptional.T.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-S/TransferFunctions/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-S/TransferFunctions/CFG/Node/IdMap/index.html index ab3471c0354..2b729b42b6d 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-S/TransferFunctions/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-S/TransferFunctions/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.AbstractInterpreter.S.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.AbstractInterpreter.S.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-S/TransferFunctions/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-S/TransferFunctions/CFG/Node/IdSet/index.html index 4307e62007f..c63d3456c88 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-S/TransferFunctions/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-S/TransferFunctions/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.AbstractInterpreter.S.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.AbstractInterpreter.S.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-TransferFunctions/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-TransferFunctions/CFG/Node/IdMap/index.html index 8f6b56fbac6..45035a121f3 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-TransferFunctions/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-TransferFunctions/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.AbstractInterpreter.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.AbstractInterpreter.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-TransferFunctions/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-TransferFunctions/CFG/Node/IdSet/index.html index 6055620e1f1..512426e292e 100644 --- a/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-TransferFunctions/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/AbstractInterpreter/module-type-TransferFunctions/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.AbstractInterpreter.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.AbstractInterpreter.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/AccessPath/BaseMap/index.html b/website/static/odoc/next/infer/Absint/AccessPath/BaseMap/index.html index 9fa20824340..cd491730261 100644 --- a/website/static/odoc/next/infer/Absint/AccessPath/BaseMap/index.html +++ b/website/static/odoc/next/infer/Absint/AccessPath/BaseMap/index.html @@ -1,5 +1,5 @@ -BaseMap (infer.Absint.AccessPath.BaseMap)

Module AccessPath.BaseMap

include IStdlib.IStd.Caml.Map.S with type key = base
type key = base
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +BaseMap (infer.Absint.AccessPath.BaseMap)

Module AccessPath.BaseMap

include Stdlib.Map.S with type key = base
type key = base
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/AccessTree/Make/AccessMap/index.html b/website/static/odoc/next/infer/Absint/AccessTree/Make/AccessMap/index.html index 4ebccce877b..f290c0fccd5 100644 --- a/website/static/odoc/next/infer/Absint/AccessTree/Make/AccessMap/index.html +++ b/website/static/odoc/next/infer/Absint/AccessTree/Make/AccessMap/index.html @@ -1,5 +1,5 @@ -AccessMap (infer.Absint.AccessTree.Make.AccessMap)

Module Make.AccessMap

include IStdlib.IStd.Caml.Map.S with type key = Absint.AccessPath.access
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +AccessMap (infer.Absint.AccessTree.Make.AccessMap)

Module Make.AccessMap

include Stdlib.Map.S with type key = Absint.AccessPath.access
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/AccessTree/module-type-S/AccessMap/index.html b/website/static/odoc/next/infer/Absint/AccessTree/module-type-S/AccessMap/index.html index f6900f442b8..32a16be0a9d 100644 --- a/website/static/odoc/next/infer/Absint/AccessTree/module-type-S/AccessMap/index.html +++ b/website/static/odoc/next/infer/Absint/AccessTree/module-type-S/AccessMap/index.html @@ -1,5 +1,5 @@ -AccessMap (infer.Absint.AccessTree.S.AccessMap)

Module S.AccessMap

include IStdlib.IStd.Caml.Map.S with type key = Absint.AccessPath.access
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +AccessMap (infer.Absint.AccessTree.S.AccessMap)

Module S.AccessMap

include Stdlib.Map.S with type key = Absint.AccessPath.access
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/CallSite/Set/index.html b/website/static/odoc/next/infer/Absint/CallSite/Set/index.html index bf7f88fb98d..eb372d197c1 100644 --- a/website/static/odoc/next/infer/Absint/CallSite/Set/index.html +++ b/website/static/odoc/next/infer/Absint/CallSite/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.CallSite.Set)

Module CallSite.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.CallSite.Set)

Module CallSite.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElem/FiniteSet/index.html b/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElem/FiniteSet/index.html index 022fe945c23..50ec0db1007 100644 --- a/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElem/FiniteSet/index.html +++ b/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElem/FiniteSet/index.html @@ -1,2 +1,2 @@ -FiniteSet (infer.Absint.ExplicitTrace.MakeTraceElem.FiniteSet)

Module MakeTraceElem.FiniteSet

A powerset of traces.

include AbstractDomain.FiniteSetS with type elt = t
include IStdlib.PrettyPrintable.PPSet with type elt = t
include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include AbstractDomain.WithBottom with type t := t
include AbstractDomain.S with type t := t
include AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

val with_callsite : t -> CallSite.t -> t

Push given callsite onto all traces in set. Cf TraceElem.with_callsite

+FiniteSet (infer.Absint.ExplicitTrace.MakeTraceElem.FiniteSet)

Module MakeTraceElem.FiniteSet

A powerset of traces.

include AbstractDomain.FiniteSetS with type elt = t
include IStdlib.PrettyPrintable.PPSet with type elt = t
include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include AbstractDomain.WithBottom with type t := t
include AbstractDomain.S with type t := t
include AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

val with_callsite : t -> CallSite.t -> t

Push given callsite onto all traces in set. Cf TraceElem.with_callsite

diff --git a/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElem/argument-1-Elem/index.html b/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElem/argument-1-Elem/index.html index 14f0e1505bd..8e2348240b1 100644 --- a/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElem/argument-1-Elem/index.html +++ b/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElem/argument-1-Elem/index.html @@ -1,2 +1,2 @@ -Elem (infer.Absint.ExplicitTrace.MakeTraceElem.Elem)

Parameter MakeTraceElem.Elem

include IStdlib.PrettyPrintable.PrintableOrderedType
include IStdlib.IStd.Caml.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val describe : Stdlib.Format.formatter -> t -> unit

Pretty printer used for trace construction; pp is used for debug output.

+Elem (infer.Absint.ExplicitTrace.MakeTraceElem.Elem)

Parameter MakeTraceElem.Elem

include IStdlib.PrettyPrintable.PrintableOrderedType
include Stdlib.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val describe : Stdlib.Format.formatter -> t -> unit

Pretty printer used for trace construction; pp is used for debug output.

diff --git a/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElem/index.html b/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElem/index.html index c790b9b5445..af6270a9f10 100644 --- a/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElem/index.html +++ b/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElem/index.html @@ -1,2 +1,2 @@ -MakeTraceElem (infer.Absint.ExplicitTrace.MakeTraceElem)

Module ExplicitTrace.MakeTraceElem

Parameters

module Elem : Element

Signature

type elem_t = Elem.t
type t = private {
  1. elem : elem_t;
  2. loc : IBase.Location.t;
  3. trace : CallSite.t list;
}

An elem which occured at loc, after the chain of steps (usually calls) in trace.

Both pp and describe simply call the same function on the trace element.

include Element with type t := t
include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
include IStdlib.IStd.Caml.Set.OrderedType with type t := t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val describe : Stdlib.Format.formatter -> t -> unit

Pretty printer used for trace construction; pp is used for debug output.

val make : elem_t -> IBase.Location.t -> t
val map : f:(elem_t -> elem_t) -> t -> t
val get_loc : t -> IBase.Location.t

Starting location of the trace: this is either loc if trace==[], or the head of trace.

val make_loc_trace : ?nesting:int -> t -> Errlog.loc_trace
val with_callsite : t -> CallSite.t -> t

Push given callsite onto trace, extending the call chain by one.

module FiniteSet : FiniteSet with type elt = t

A powerset of traces.

+MakeTraceElem (infer.Absint.ExplicitTrace.MakeTraceElem)

Module ExplicitTrace.MakeTraceElem

Parameters

module Elem : Element

Signature

type elem_t = Elem.t
type t = private {
  1. elem : elem_t;
  2. loc : IBase.Location.t;
  3. trace : CallSite.t list;
}

An elem which occured at loc, after the chain of steps (usually calls) in trace.

Both pp and describe simply call the same function on the trace element.

include Element with type t := t
include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
include Stdlib.Set.OrderedType with type t := t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val describe : Stdlib.Format.formatter -> t -> unit

Pretty printer used for trace construction; pp is used for debug output.

val make : elem_t -> IBase.Location.t -> t
val map : f:(elem_t -> elem_t) -> t -> t
val get_loc : t -> IBase.Location.t

Starting location of the trace: this is either loc if trace==[], or the head of trace.

val make_loc_trace : ?nesting:int -> t -> Errlog.loc_trace
val with_callsite : t -> CallSite.t -> t

Push given callsite onto trace, extending the call chain by one.

module FiniteSet : FiniteSet with type elt = t

A powerset of traces.

diff --git a/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElemModuloLocation/FiniteSet/index.html b/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElemModuloLocation/FiniteSet/index.html index 9259ad6945c..2cf1efceaf8 100644 --- a/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElemModuloLocation/FiniteSet/index.html +++ b/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElemModuloLocation/FiniteSet/index.html @@ -1,2 +1,2 @@ -FiniteSet (infer.Absint.ExplicitTrace.MakeTraceElemModuloLocation.FiniteSet)

Module MakeTraceElemModuloLocation.FiniteSet

A powerset of traces.

include AbstractDomain.FiniteSetS with type elt = t
include IStdlib.PrettyPrintable.PPSet with type elt = t
include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include AbstractDomain.WithBottom with type t := t
include AbstractDomain.S with type t := t
include AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

val with_callsite : t -> CallSite.t -> t

Push given callsite onto all traces in set. Cf TraceElem.with_callsite

+FiniteSet (infer.Absint.ExplicitTrace.MakeTraceElemModuloLocation.FiniteSet)

Module MakeTraceElemModuloLocation.FiniteSet

A powerset of traces.

include AbstractDomain.FiniteSetS with type elt = t
include IStdlib.PrettyPrintable.PPSet with type elt = t
include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include AbstractDomain.WithBottom with type t := t
include AbstractDomain.S with type t := t
include AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

val with_callsite : t -> CallSite.t -> t

Push given callsite onto all traces in set. Cf TraceElem.with_callsite

diff --git a/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElemModuloLocation/argument-1-Elem/index.html b/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElemModuloLocation/argument-1-Elem/index.html index 092157eb537..593370faec8 100644 --- a/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElemModuloLocation/argument-1-Elem/index.html +++ b/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElemModuloLocation/argument-1-Elem/index.html @@ -1,2 +1,2 @@ -Elem (infer.Absint.ExplicitTrace.MakeTraceElemModuloLocation.Elem)

Parameter MakeTraceElemModuloLocation.Elem

include IStdlib.PrettyPrintable.PrintableOrderedType
include IStdlib.IStd.Caml.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val describe : Stdlib.Format.formatter -> t -> unit

Pretty printer used for trace construction; pp is used for debug output.

+Elem (infer.Absint.ExplicitTrace.MakeTraceElemModuloLocation.Elem)

Parameter MakeTraceElemModuloLocation.Elem

include IStdlib.PrettyPrintable.PrintableOrderedType
include Stdlib.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val describe : Stdlib.Format.formatter -> t -> unit

Pretty printer used for trace construction; pp is used for debug output.

diff --git a/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElemModuloLocation/index.html b/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElemModuloLocation/index.html index 09996b965af..bb1fa48abe7 100644 --- a/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElemModuloLocation/index.html +++ b/website/static/odoc/next/infer/Absint/ExplicitTrace/MakeTraceElemModuloLocation/index.html @@ -1,2 +1,2 @@ -MakeTraceElemModuloLocation (infer.Absint.ExplicitTrace.MakeTraceElemModuloLocation)

Module ExplicitTrace.MakeTraceElemModuloLocation

Parameters

module Elem : Element

Signature

type elem_t = Elem.t
type t = private {
  1. elem : elem_t;
  2. loc : IBase.Location.t;
  3. trace : CallSite.t list;
}

An elem which occured at loc, after the chain of steps (usually calls) in trace.

Both pp and describe simply call the same function on the trace element.

include Element with type t := t
include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
include IStdlib.IStd.Caml.Set.OrderedType with type t := t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val describe : Stdlib.Format.formatter -> t -> unit

Pretty printer used for trace construction; pp is used for debug output.

val make : elem_t -> IBase.Location.t -> t
val map : f:(elem_t -> elem_t) -> t -> t
val get_loc : t -> IBase.Location.t

Starting location of the trace: this is either loc if trace==[], or the head of trace.

val make_loc_trace : ?nesting:int -> t -> Errlog.loc_trace
val with_callsite : t -> CallSite.t -> t

Push given callsite onto trace, extending the call chain by one.

module FiniteSet : FiniteSet with type elt = t

A powerset of traces.

+MakeTraceElemModuloLocation (infer.Absint.ExplicitTrace.MakeTraceElemModuloLocation)

Module ExplicitTrace.MakeTraceElemModuloLocation

Parameters

module Elem : Element

Signature

type elem_t = Elem.t
type t = private {
  1. elem : elem_t;
  2. loc : IBase.Location.t;
  3. trace : CallSite.t list;
}

An elem which occured at loc, after the chain of steps (usually calls) in trace.

Both pp and describe simply call the same function on the trace element.

include Element with type t := t
include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
include Stdlib.Set.OrderedType with type t := t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val describe : Stdlib.Format.formatter -> t -> unit

Pretty printer used for trace construction; pp is used for debug output.

val make : elem_t -> IBase.Location.t -> t
val map : f:(elem_t -> elem_t) -> t -> t
val get_loc : t -> IBase.Location.t

Starting location of the trace: this is either loc if trace==[], or the head of trace.

val make_loc_trace : ?nesting:int -> t -> Errlog.loc_trace
val with_callsite : t -> CallSite.t -> t

Push given callsite onto trace, extending the call chain by one.

module FiniteSet : FiniteSet with type elt = t

A powerset of traces.

diff --git a/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-Element/index.html b/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-Element/index.html index 80f6710e9d3..a10eb6a1b05 100644 --- a/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-Element/index.html +++ b/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-Element/index.html @@ -1,2 +1,2 @@ -Element (infer.Absint.ExplicitTrace.Element)

Module type ExplicitTrace.Element

include IStdlib.PrettyPrintable.PrintableOrderedType
include IStdlib.IStd.Caml.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val describe : Stdlib.Format.formatter -> t -> unit

Pretty printer used for trace construction; pp is used for debug output.

+Element (infer.Absint.ExplicitTrace.Element)

Module type ExplicitTrace.Element

include IStdlib.PrettyPrintable.PrintableOrderedType
include Stdlib.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val describe : Stdlib.Format.formatter -> t -> unit

Pretty printer used for trace construction; pp is used for debug output.

diff --git a/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-FiniteSet/index.html b/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-FiniteSet/index.html index 42e548be57b..e38be5ee410 100644 --- a/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-FiniteSet/index.html +++ b/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-FiniteSet/index.html @@ -1,2 +1,2 @@ -FiniteSet (infer.Absint.ExplicitTrace.FiniteSet)

Module type ExplicitTrace.FiniteSet

A powerset domain of traces, with bottom = empty and join = union

include AbstractDomain.FiniteSetS
include IStdlib.PrettyPrintable.PPSet
include IStdlib.IStd.Caml.Set.S
type elt
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include AbstractDomain.WithBottom with type t := t
include AbstractDomain.S with type t := t
include AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

val with_callsite : t -> CallSite.t -> t

Push given callsite onto all traces in set. Cf TraceElem.with_callsite

+FiniteSet (infer.Absint.ExplicitTrace.FiniteSet)

Module type ExplicitTrace.FiniteSet

A powerset domain of traces, with bottom = empty and join = union

include AbstractDomain.FiniteSetS
include IStdlib.PrettyPrintable.PPSet
include Stdlib.Set.S
type elt
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include AbstractDomain.WithBottom with type t := t
include AbstractDomain.S with type t := t
include AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

val with_callsite : t -> CallSite.t -> t

Push given callsite onto all traces in set. Cf TraceElem.with_callsite

diff --git a/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-TraceElem/FiniteSet/index.html b/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-TraceElem/FiniteSet/index.html index a50373a09b7..1d57d642897 100644 --- a/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-TraceElem/FiniteSet/index.html +++ b/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-TraceElem/FiniteSet/index.html @@ -1,2 +1,2 @@ -FiniteSet (infer.Absint.ExplicitTrace.TraceElem.FiniteSet)

Module TraceElem.FiniteSet

A powerset of traces.

include AbstractDomain.FiniteSetS with type elt = t
include IStdlib.PrettyPrintable.PPSet with type elt = t
include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include AbstractDomain.WithBottom with type t := t
include AbstractDomain.S with type t := t
include AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

val with_callsite : t -> CallSite.t -> t

Push given callsite onto all traces in set. Cf TraceElem.with_callsite

+FiniteSet (infer.Absint.ExplicitTrace.TraceElem.FiniteSet)

Module TraceElem.FiniteSet

A powerset of traces.

include AbstractDomain.FiniteSetS with type elt = t
include IStdlib.PrettyPrintable.PPSet with type elt = t
include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include AbstractDomain.WithBottom with type t := t
include AbstractDomain.S with type t := t
include AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

val with_callsite : t -> CallSite.t -> t

Push given callsite onto all traces in set. Cf TraceElem.with_callsite

diff --git a/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-TraceElem/index.html b/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-TraceElem/index.html index 46627d524e5..09732a55efc 100644 --- a/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-TraceElem/index.html +++ b/website/static/odoc/next/infer/Absint/ExplicitTrace/module-type-TraceElem/index.html @@ -1,2 +1,2 @@ -TraceElem (infer.Absint.ExplicitTrace.TraceElem)

Module type ExplicitTrace.TraceElem

type elem_t
type t = private {
  1. elem : elem_t;
  2. loc : IBase.Location.t;
  3. trace : CallSite.t list;
}

An elem which occured at loc, after the chain of steps (usually calls) in trace.

Both pp and describe simply call the same function on the trace element.

include Element with type t := t
include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
include IStdlib.IStd.Caml.Set.OrderedType with type t := t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val describe : Stdlib.Format.formatter -> t -> unit

Pretty printer used for trace construction; pp is used for debug output.

val make : elem_t -> IBase.Location.t -> t
val map : f:(elem_t -> elem_t) -> t -> t
val get_loc : t -> IBase.Location.t

Starting location of the trace: this is either loc if trace==[], or the head of trace.

val make_loc_trace : ?nesting:int -> t -> Errlog.loc_trace
val with_callsite : t -> CallSite.t -> t

Push given callsite onto trace, extending the call chain by one.

module FiniteSet : FiniteSet with type elt = t

A powerset of traces.

+TraceElem (infer.Absint.ExplicitTrace.TraceElem)

Module type ExplicitTrace.TraceElem

type elem_t
type t = private {
  1. elem : elem_t;
  2. loc : IBase.Location.t;
  3. trace : CallSite.t list;
}

An elem which occured at loc, after the chain of steps (usually calls) in trace.

Both pp and describe simply call the same function on the trace element.

include Element with type t := t
include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
include Stdlib.Set.OrderedType with type t := t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val describe : Stdlib.Format.formatter -> t -> unit

Pretty printer used for trace construction; pp is used for debug output.

val make : elem_t -> IBase.Location.t -> t
val map : f:(elem_t -> elem_t) -> t -> t
val get_loc : t -> IBase.Location.t

Starting location of the trace: this is either loc if trace==[], or the head of trace.

val make_loc_trace : ?nesting:int -> t -> Errlog.loc_trace
val with_callsite : t -> CallSite.t -> t

Push given callsite onto trace, extending the call chain by one.

module FiniteSet : FiniteSet with type elt = t

A powerset of traces.

diff --git a/website/static/odoc/next/infer/Absint/LowerHil/Make/argument-1-TransferFunctions/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/LowerHil/Make/argument-1-TransferFunctions/CFG/Node/IdMap/index.html index 10c1952aca7..27a05b436cd 100644 --- a/website/static/odoc/next/infer/Absint/LowerHil/Make/argument-1-TransferFunctions/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/LowerHil/Make/argument-1-TransferFunctions/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.LowerHil.Make.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.LowerHil.Make.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/LowerHil/Make/argument-1-TransferFunctions/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/LowerHil/Make/argument-1-TransferFunctions/CFG/Node/IdSet/index.html index f68cb25a556..15ec855a659 100644 --- a/website/static/odoc/next/infer/Absint/LowerHil/Make/argument-1-TransferFunctions/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/LowerHil/Make/argument-1-TransferFunctions/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.LowerHil.Make.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.LowerHil.Make.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdMap/index.html index 0d362f8a3f3..9da5515dbe0 100644 --- a/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.LowerHil.MakeAbstractInterpreter.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.LowerHil.MakeAbstractInterpreter.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdSet/index.html index 4be9aba3259..91f82d5e48c 100644 --- a/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.LowerHil.MakeAbstractInterpreter.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.LowerHil.MakeAbstractInterpreter.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-1-MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-1-MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdMap/index.html index 0805390888f..b03e17642d7 100644 --- a/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-1-MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-1-MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.LowerHil.MakeAbstractInterpreterWithConfig.MakeAbstractInterpreter.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.LowerHil.MakeAbstractInterpreterWithConfig.MakeAbstractInterpreter.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-1-MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-1-MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdSet/index.html index 756824424e4..c58a195fdf6 100644 --- a/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-1-MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-1-MakeAbstractInterpreter/argument-1-TransferFunctions/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.LowerHil.MakeAbstractInterpreterWithConfig.MakeAbstractInterpreter.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.LowerHil.MakeAbstractInterpreterWithConfig.MakeAbstractInterpreter.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-3-TransferFunctions/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-3-TransferFunctions/CFG/Node/IdMap/index.html index 26d2e1f28af..42d1b7d64ab 100644 --- a/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-3-TransferFunctions/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-3-TransferFunctions/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.LowerHil.MakeAbstractInterpreterWithConfig.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.LowerHil.MakeAbstractInterpreterWithConfig.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-3-TransferFunctions/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-3-TransferFunctions/CFG/Node/IdSet/index.html index 6bed7985264..361bfdcf384 100644 --- a/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-3-TransferFunctions/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/LowerHil/MakeAbstractInterpreterWithConfig/argument-3-TransferFunctions/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.LowerHil.MakeAbstractInterpreterWithConfig.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.LowerHil.MakeAbstractInterpreterWithConfig.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/LowerHil/module-type-S/Interpreter/TransferFunctions/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/LowerHil/module-type-S/Interpreter/TransferFunctions/CFG/Node/IdMap/index.html index a6de37de87a..36c4bc6e800 100644 --- a/website/static/odoc/next/infer/Absint/LowerHil/module-type-S/Interpreter/TransferFunctions/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/LowerHil/module-type-S/Interpreter/TransferFunctions/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.LowerHil.S.Interpreter.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.LowerHil.S.Interpreter.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/LowerHil/module-type-S/Interpreter/TransferFunctions/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/LowerHil/module-type-S/Interpreter/TransferFunctions/CFG/Node/IdSet/index.html index 3b4ec48f5d6..d8d7ee791ac 100644 --- a/website/static/odoc/next/infer/Absint/LowerHil/module-type-S/Interpreter/TransferFunctions/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/LowerHil/module-type-S/Interpreter/TransferFunctions/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.LowerHil.S.Interpreter.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.LowerHil.S.Interpreter.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/Passthrough/Set/index.html b/website/static/odoc/next/infer/Absint/Passthrough/Set/index.html index 6d2b7ac0973..5e2e9527cae 100644 --- a/website/static/odoc/next/infer/Absint/Passthrough/Set/index.html +++ b/website/static/odoc/next/infer/Absint/Passthrough/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.Passthrough.Set)

Module Passthrough.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.Passthrough.Set)

Module Passthrough.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/ProcCfg/Backward/argument-1-Base/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/ProcCfg/Backward/argument-1-Base/Node/IdMap/index.html index 5e9e8ed761e..a4187daaf7b 100644 --- a/website/static/odoc/next/infer/Absint/ProcCfg/Backward/argument-1-Base/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/ProcCfg/Backward/argument-1-Base/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.ProcCfg.Backward.Base.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.ProcCfg.Backward.Base.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/ProcCfg/Backward/argument-1-Base/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/ProcCfg/Backward/argument-1-Base/Node/IdSet/index.html index e97aaa02519..a705c374d35 100644 --- a/website/static/odoc/next/infer/Absint/ProcCfg/Backward/argument-1-Base/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/ProcCfg/Backward/argument-1-Base/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.ProcCfg.Backward.Base.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.ProcCfg.Backward.Base.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/ProcCfg/DefaultNode/IdMap/index.html b/website/static/odoc/next/infer/Absint/ProcCfg/DefaultNode/IdMap/index.html index 6b81f0cbfa1..fd25a449218 100644 --- a/website/static/odoc/next/infer/Absint/ProcCfg/DefaultNode/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/ProcCfg/DefaultNode/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.ProcCfg.DefaultNode.IdMap)

Module DefaultNode.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.ProcCfg.DefaultNode.IdMap)

Module DefaultNode.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/ProcCfg/DefaultNode/IdSet/index.html b/website/static/odoc/next/infer/Absint/ProcCfg/DefaultNode/IdSet/index.html index 465b785d335..7d9f48d8175 100644 --- a/website/static/odoc/next/infer/Absint/ProcCfg/DefaultNode/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/ProcCfg/DefaultNode/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.ProcCfg.DefaultNode.IdSet)

Module DefaultNode.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.ProcCfg.DefaultNode.IdSet)

Module DefaultNode.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/ProcCfg/InstrNode/IdMap/index.html b/website/static/odoc/next/infer/Absint/ProcCfg/InstrNode/IdMap/index.html index 513e2926141..51c89f0893f 100644 --- a/website/static/odoc/next/infer/Absint/ProcCfg/InstrNode/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/ProcCfg/InstrNode/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.ProcCfg.InstrNode.IdMap)

Module InstrNode.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.ProcCfg.InstrNode.IdMap)

Module InstrNode.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/ProcCfg/InstrNode/IdSet/index.html b/website/static/odoc/next/infer/Absint/ProcCfg/InstrNode/IdSet/index.html index 8b609d7846a..bf4cd911e91 100644 --- a/website/static/odoc/next/infer/Absint/ProcCfg/InstrNode/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/ProcCfg/InstrNode/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.ProcCfg.InstrNode.IdSet)

Module InstrNode.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.ProcCfg.InstrNode.IdSet)

Module InstrNode.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/ProcCfg/MakeOcamlGraph/argument-1-Base/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/ProcCfg/MakeOcamlGraph/argument-1-Base/Node/IdMap/index.html index ff68aa526a8..6c593cc3873 100644 --- a/website/static/odoc/next/infer/Absint/ProcCfg/MakeOcamlGraph/argument-1-Base/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/ProcCfg/MakeOcamlGraph/argument-1-Base/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.ProcCfg.MakeOcamlGraph.Base.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.ProcCfg.MakeOcamlGraph.Base.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/ProcCfg/MakeOcamlGraph/argument-1-Base/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/ProcCfg/MakeOcamlGraph/argument-1-Base/Node/IdSet/index.html index a836ae1e01e..ee286d486d3 100644 --- a/website/static/odoc/next/infer/Absint/ProcCfg/MakeOcamlGraph/argument-1-Base/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/ProcCfg/MakeOcamlGraph/argument-1-Base/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.ProcCfg.MakeOcamlGraph.Base.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.ProcCfg.MakeOcamlGraph.Base.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/ProcCfg/module-type-Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/ProcCfg/module-type-Node/IdMap/index.html index 2ada9d73e6d..9a6686779e0 100644 --- a/website/static/odoc/next/infer/Absint/ProcCfg/module-type-Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/ProcCfg/module-type-Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.ProcCfg.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.ProcCfg.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/ProcCfg/module-type-Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/ProcCfg/module-type-Node/IdSet/index.html index 4d066101d4d..74a51c5be96 100644 --- a/website/static/odoc/next/infer/Absint/ProcCfg/module-type-Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/ProcCfg/module-type-Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.ProcCfg.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.ProcCfg.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/ProcCfg/module-type-NodeCommonS/IdMap/index.html b/website/static/odoc/next/infer/Absint/ProcCfg/module-type-NodeCommonS/IdMap/index.html index 45a696c3784..bffe912af05 100644 --- a/website/static/odoc/next/infer/Absint/ProcCfg/module-type-NodeCommonS/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/ProcCfg/module-type-NodeCommonS/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.ProcCfg.NodeCommonS.IdMap)

Module NodeCommonS.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.ProcCfg.NodeCommonS.IdMap)

Module NodeCommonS.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/ProcCfg/module-type-NodeCommonS/IdSet/index.html b/website/static/odoc/next/infer/Absint/ProcCfg/module-type-NodeCommonS/IdSet/index.html index a48f2ffbb64..e760a492b39 100644 --- a/website/static/odoc/next/infer/Absint/ProcCfg/module-type-NodeCommonS/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/ProcCfg/module-type-NodeCommonS/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.ProcCfg.NodeCommonS.IdSet)

Module NodeCommonS.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.ProcCfg.NodeCommonS.IdSet)

Module NodeCommonS.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/ProcCfg/module-type-S/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/ProcCfg/module-type-S/Node/IdMap/index.html index b0933f9b91f..cd72be8d1de 100644 --- a/website/static/odoc/next/infer/Absint/ProcCfg/module-type-S/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/ProcCfg/module-type-S/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.ProcCfg.S.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.ProcCfg.S.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/ProcCfg/module-type-S/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/ProcCfg/module-type-S/Node/IdSet/index.html index d6d2603d9ab..fc1b305e8d9 100644 --- a/website/static/odoc/next/infer/Absint/ProcCfg/module-type-S/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/ProcCfg/module-type-S/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.ProcCfg.S.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.ProcCfg.S.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/Scheduler/ReversePostorder/argument-1-CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/Scheduler/ReversePostorder/argument-1-CFG/Node/IdMap/index.html index 7b7ba23a1ec..7edfc815cfe 100644 --- a/website/static/odoc/next/infer/Absint/Scheduler/ReversePostorder/argument-1-CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/Scheduler/ReversePostorder/argument-1-CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.Scheduler.ReversePostorder.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.Scheduler.ReversePostorder.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/Scheduler/ReversePostorder/argument-1-CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/Scheduler/ReversePostorder/argument-1-CFG/Node/IdSet/index.html index 64d934c815a..e92fcbbe4be 100644 --- a/website/static/odoc/next/infer/Absint/Scheduler/ReversePostorder/argument-1-CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/Scheduler/ReversePostorder/argument-1-CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.Scheduler.ReversePostorder.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.Scheduler.ReversePostorder.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/Scheduler/module-type-S/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/Scheduler/module-type-S/CFG/Node/IdMap/index.html index 34d39f72c24..fabf199ba72 100644 --- a/website/static/odoc/next/infer/Absint/Scheduler/module-type-S/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/Scheduler/module-type-S/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.Scheduler.S.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.Scheduler.S.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/Scheduler/module-type-S/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/Scheduler/module-type-S/CFG/Node/IdSet/index.html index a2486ae7471..7cf409b6697 100644 --- a/website/static/odoc/next/infer/Absint/Scheduler/module-type-S/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/Scheduler/module-type-S/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.Scheduler.S.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.Scheduler.S.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/Sink/module-type-S/Set/index.html b/website/static/odoc/next/infer/Absint/Sink/module-type-S/Set/index.html index a57ce260b89..c2cae3ef74c 100644 --- a/website/static/odoc/next/infer/Absint/Sink/module-type-S/Set/index.html +++ b/website/static/odoc/next/infer/Absint/Sink/module-type-S/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.Sink.S.Set)

Module S.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.Sink.S.Set)

Module S.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/SinkTrace/Make/argument-1-TaintTraceElem/Set/index.html b/website/static/odoc/next/infer/Absint/SinkTrace/Make/argument-1-TaintTraceElem/Set/index.html index 7e7f57a23bf..666018b5b8e 100644 --- a/website/static/odoc/next/infer/Absint/SinkTrace/Make/argument-1-TaintTraceElem/Set/index.html +++ b/website/static/odoc/next/infer/Absint/SinkTrace/Make/argument-1-TaintTraceElem/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.SinkTrace.Make.TaintTraceElem.Set)

Module TaintTraceElem.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.SinkTrace.Make.TaintTraceElem.Set)

Module TaintTraceElem.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/SinkTrace/MakeSink/Set/index.html b/website/static/odoc/next/infer/Absint/SinkTrace/MakeSink/Set/index.html index 53085d06803..42770a3e990 100644 --- a/website/static/odoc/next/infer/Absint/SinkTrace/MakeSink/Set/index.html +++ b/website/static/odoc/next/infer/Absint/SinkTrace/MakeSink/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.SinkTrace.MakeSink.Set)

Module MakeSink.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.SinkTrace.MakeSink.Set)

Module MakeSink.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/SinkTrace/MakeSink/argument-1-TaintTraceElem/Set/index.html b/website/static/odoc/next/infer/Absint/SinkTrace/MakeSink/argument-1-TaintTraceElem/Set/index.html index 45626fd944b..ada24344cdf 100644 --- a/website/static/odoc/next/infer/Absint/SinkTrace/MakeSink/argument-1-TaintTraceElem/Set/index.html +++ b/website/static/odoc/next/infer/Absint/SinkTrace/MakeSink/argument-1-TaintTraceElem/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.SinkTrace.MakeSink.TaintTraceElem.Set)

Module TaintTraceElem.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.SinkTrace.MakeSink.TaintTraceElem.Set)

Module TaintTraceElem.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/SinkTrace/module-type-S/Sink/Set/index.html b/website/static/odoc/next/infer/Absint/SinkTrace/module-type-S/Sink/Set/index.html index 7e5469fba13..0389c608e9f 100644 --- a/website/static/odoc/next/infer/Absint/SinkTrace/module-type-S/Sink/Set/index.html +++ b/website/static/odoc/next/infer/Absint/SinkTrace/module-type-S/Sink/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.SinkTrace.S.Sink.Set)

Module Sink.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.SinkTrace.S.Sink.Set)

Module Sink.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/SinkTrace/module-type-S/Source/Set/index.html b/website/static/odoc/next/infer/Absint/SinkTrace/module-type-S/Source/Set/index.html index 4248d53be6e..74c233727f5 100644 --- a/website/static/odoc/next/infer/Absint/SinkTrace/module-type-S/Source/Set/index.html +++ b/website/static/odoc/next/infer/Absint/SinkTrace/module-type-S/Source/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.SinkTrace.S.Source.Set)

Module Source.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.SinkTrace.S.Source.Set)

Module Source.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/Source/Dummy/Set/index.html b/website/static/odoc/next/infer/Absint/Source/Dummy/Set/index.html index 5c54e0fdfb3..0a4642e5589 100644 --- a/website/static/odoc/next/infer/Absint/Source/Dummy/Set/index.html +++ b/website/static/odoc/next/infer/Absint/Source/Dummy/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.Source.Dummy.Set)

Module Dummy.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.Source.Dummy.Set)

Module Dummy.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/Source/module-type-S/Set/index.html b/website/static/odoc/next/infer/Absint/Source/module-type-S/Set/index.html index 44460bcaf45..2926bc37cc7 100644 --- a/website/static/odoc/next/infer/Absint/Source/module-type-S/Set/index.html +++ b/website/static/odoc/next/infer/Absint/Source/module-type-S/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.Source.S.Set)

Module S.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.Source.S.Set)

Module S.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/TaintTrace/Make/argument-1-Spec/Sink/Set/index.html b/website/static/odoc/next/infer/Absint/TaintTrace/Make/argument-1-Spec/Sink/Set/index.html index 0f5073ee5d0..d7056757e0d 100644 --- a/website/static/odoc/next/infer/Absint/TaintTrace/Make/argument-1-Spec/Sink/Set/index.html +++ b/website/static/odoc/next/infer/Absint/TaintTrace/Make/argument-1-Spec/Sink/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.TaintTrace.Make.Spec.Sink.Set)

Module Sink.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.TaintTrace.Make.Spec.Sink.Set)

Module Sink.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/TaintTrace/Make/argument-1-Spec/Source/Set/index.html b/website/static/odoc/next/infer/Absint/TaintTrace/Make/argument-1-Spec/Source/Set/index.html index 5ddaeaf37e4..c07660b4e86 100644 --- a/website/static/odoc/next/infer/Absint/TaintTrace/Make/argument-1-Spec/Source/Set/index.html +++ b/website/static/odoc/next/infer/Absint/TaintTrace/Make/argument-1-Spec/Source/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.TaintTrace.Make.Spec.Source.Set)

Module Source.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.TaintTrace.Make.Spec.Source.Set)

Module Source.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/TaintTrace/module-type-S/Sink/Set/index.html b/website/static/odoc/next/infer/Absint/TaintTrace/module-type-S/Sink/Set/index.html index 4771f20a193..77f228d61ac 100644 --- a/website/static/odoc/next/infer/Absint/TaintTrace/module-type-S/Sink/Set/index.html +++ b/website/static/odoc/next/infer/Absint/TaintTrace/module-type-S/Sink/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.TaintTrace.S.Sink.Set)

Module Sink.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.TaintTrace.S.Sink.Set)

Module Sink.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/TaintTrace/module-type-S/Source/Set/index.html b/website/static/odoc/next/infer/Absint/TaintTrace/module-type-S/Source/Set/index.html index 44ab95621aa..e0ff338df61 100644 --- a/website/static/odoc/next/infer/Absint/TaintTrace/module-type-S/Source/Set/index.html +++ b/website/static/odoc/next/infer/Absint/TaintTrace/module-type-S/Source/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.TaintTrace.S.Source.Set)

Module Source.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.TaintTrace.S.Source.Set)

Module Source.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/TaintTrace/module-type-Spec/Sink/Set/index.html b/website/static/odoc/next/infer/Absint/TaintTrace/module-type-Spec/Sink/Set/index.html index 2d43437773d..00985ea059d 100644 --- a/website/static/odoc/next/infer/Absint/TaintTrace/module-type-Spec/Sink/Set/index.html +++ b/website/static/odoc/next/infer/Absint/TaintTrace/module-type-Spec/Sink/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.TaintTrace.Spec.Sink.Set)

Module Sink.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.TaintTrace.Spec.Sink.Set)

Module Sink.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/TaintTrace/module-type-Spec/Source/Set/index.html b/website/static/odoc/next/infer/Absint/TaintTrace/module-type-Spec/Source/Set/index.html index 64b537dfe38..6fc8e26a9a2 100644 --- a/website/static/odoc/next/infer/Absint/TaintTrace/module-type-Spec/Source/Set/index.html +++ b/website/static/odoc/next/infer/Absint/TaintTrace/module-type-Spec/Source/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.TaintTrace.Spec.Source.Set)

Module Source.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.TaintTrace.Spec.Source.Set)

Module Source.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/TaintTraceElem/module-type-S/Set/index.html b/website/static/odoc/next/infer/Absint/TaintTraceElem/module-type-S/Set/index.html index d9c152f02bb..2c1e6fe6762 100644 --- a/website/static/odoc/next/infer/Absint/TaintTraceElem/module-type-S/Set/index.html +++ b/website/static/odoc/next/infer/Absint/TaintTraceElem/module-type-S/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Absint.TaintTraceElem.S.Set)

Module S.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Absint.TaintTraceElem.S.Set)

Module S.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-DisjReady/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-DisjReady/CFG/Node/IdMap/index.html index 9fb4965f4ba..b12bae62b52 100644 --- a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-DisjReady/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-DisjReady/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.TransferFunctions.DisjReady.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.TransferFunctions.DisjReady.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-DisjReady/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-DisjReady/CFG/Node/IdSet/index.html index 9238819cb4f..e26178a221b 100644 --- a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-DisjReady/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-DisjReady/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.TransferFunctions.DisjReady.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.TransferFunctions.DisjReady.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-DisjReady/index.html b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-DisjReady/index.html index 557bf58f4a3..c6e3cb8914d 100644 --- a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-DisjReady/index.html +++ b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-DisjReady/index.html @@ -12,4 +12,8 @@ IStdlib.Pp.print_kind -> Stdlib.Format.formatter -> DisjDomain.t -> + unit
val pp_non_disj : + IStdlib.Pp.print_kind -> + Stdlib.Format.formatter -> + NonDisjDomain.t -> unit
diff --git a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-HIL/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-HIL/CFG/Node/IdMap/index.html index 9274d985818..a534e450f86 100644 --- a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-HIL/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-HIL/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.TransferFunctions.HIL.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.TransferFunctions.HIL.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-HIL/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-HIL/CFG/Node/IdSet/index.html index b19a538365e..3e01f9ea3cd 100644 --- a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-HIL/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-HIL/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.TransferFunctions.HIL.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.TransferFunctions.HIL.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-S/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-S/CFG/Node/IdMap/index.html index 8816fbae1c8..8aca4f1c3c8 100644 --- a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-S/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-S/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.TransferFunctions.S.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.TransferFunctions.S.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-S/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-S/CFG/Node/IdSet/index.html index 9b7e58fb79b..058ef2ef13b 100644 --- a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-S/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-S/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.TransferFunctions.S.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.TransferFunctions.S.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-SIL/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-SIL/CFG/Node/IdMap/index.html index 623d1756e38..ba3120996c6 100644 --- a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-SIL/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-SIL/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Absint.TransferFunctions.SIL.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Absint.TransferFunctions.SIL.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-SIL/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-SIL/CFG/Node/IdSet/index.html index 78f9df83ade..8b81d467f70 100644 --- a/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-SIL/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Absint/TransferFunctions/module-type-SIL/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Absint.TransferFunctions.SIL.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Absint.TransferFunctions.SIL.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Absint/index.html b/website/static/odoc/next/infer/Absint/index.html index e7dfd0b5ede..da5dbd1a5e9 100644 --- a/website/static/odoc/next/infer/Absint/index.html +++ b/website/static/odoc/next/infer/Absint/index.html @@ -1,2 +1,2 @@ -Absint (infer.Absint)

Module Absint

module AbstractDomain : sig ... end
module AbstractInterpreter : sig ... end
module AccessPath : sig ... end

Module for naming heap locations via the path used to access them (e.g., x.f.g, ya.b)

module AccessTree : sig ... end
module AnalysisCallbacks : sig ... end
module AnalysisResult : sig ... end
module AnalysisState : sig ... end

State of symbolic execution

module AndroidFramework : sig ... end

Android lifecycle types and their lifecycle methods that are called by the framework

module Annotations : sig ... end

Annotations.

module Bindings : sig ... end
module CallSite : sig ... end
module ConcurrencyModels : sig ... end
module Decompile : sig ... end
module Errlog : sig ... end

Module for error logs.

module Exe_env : sig ... end

Execution environments are a means to get a function's type environment and integer widths and cache those

module ExplicitTrace : sig ... end
module FormalMap : sig ... end
module HilExp : sig ... end
module HilInstr : sig ... end
module IdAccessPathMapDomain : sig ... end

mapping of ids to raw access paths. useful for id-normalizing access paths

module InterproceduralAnalysis : sig ... end
module IntraproceduralAnalysis : sig ... end
module IssueLog : sig ... end
module IssueToReport : sig ... end
module Localise : sig ... end

Support for localisation

module LowerHil : sig ... end
module MemoryAccess : sig ... end
module MethodMatcher : sig ... end
module Mleak_buckets : sig ... end

This module handles buckets of memory leaks

module NoReturnModels : sig ... end
module NullsafeMode : sig ... end
module Passthrough : sig ... end
module PatternMatch : sig ... end

Module for Pattern matching.

module ProcCfg : sig ... end

Control-flow graph for a single procedure (as opposed to cfg.ml, which represents a cfg for a file). Defines useful wrappers that allows us to do tricks like turn a forward cfg to into a backward one, or view a cfg as having a single instruction per block

module ProcnameDispatcher : sig ... end
module Reporting : sig ... end

Type of functions to report issues to the error_log in a spec.

module Sanitizer : sig ... end
module Scheduler : sig ... end
module Sink : sig ... end
module SinkTrace : sig ... end
module Source : sig ... end
module SubtypingCheck : sig ... end
module TaintTrace : sig ... end
module TaintTraceElem : sig ... end
module TaskSchedulerTypes : sig ... end
module TransferFunctions : sig ... end

Transfer functions that push abstract states across instructions. A typical client should implement the Make signature to allow the transfer functions to be used with any kind of CFG.

+Absint (infer.Absint)

Module Absint

module AbstractDomain : sig ... end
module AbstractInterpreter : sig ... end
module AccessPath : sig ... end

Module for naming heap locations via the path used to access them (e.g., x.f.g, ya.b)

module AccessTree : sig ... end
module AnalysisCallbacks : sig ... end
module AnalysisResult : sig ... end
module AnalysisState : sig ... end

State of symbolic execution

module AndroidFramework : sig ... end

Android lifecycle types and their lifecycle methods that are called by the framework

module Annotations : sig ... end

Annotations.

module Bindings : sig ... end
module CallSite : sig ... end
module ConcurrencyModels : sig ... end
module Decompile : sig ... end
module Errlog : sig ... end

Module for error logs.

module Exe_env : sig ... end

Execution environments are a means to get a function's type environment and integer widths and cache those

module ExplicitTrace : sig ... end
module FormalMap : sig ... end
module HilExp : sig ... end
module HilInstr : sig ... end
module IdAccessPathMapDomain : sig ... end

mapping of ids to raw access paths. useful for id-normalizing access paths

module InterproceduralAnalysis : sig ... end
module IntraproceduralAnalysis : sig ... end
module IssueLog : sig ... end
module IssueToReport : sig ... end
module Localise : sig ... end

Support for localisation

module LowerHil : sig ... end
module MemoryAccess : sig ... end
module MethodMatcher : sig ... end
module Mleak_buckets : sig ... end

This module handles buckets of memory leaks

module NoReturnModels : sig ... end
module NullsafeMode : sig ... end
module Passthrough : sig ... end
module PatternMatch : sig ... end

Module for Pattern matching.

module ProcCfg : sig ... end

Control-flow graph for a single procedure (as opposed to cfg.ml, which represents a cfg for a file). Defines useful wrappers that allows us to do tricks like turn a forward cfg to into a backward one, or view a cfg as having a single instruction per block

module ProcnameDispatcher : sig ... end
module RecursiveCycleException : sig ... end
module Reporting : sig ... end

Type of functions to report issues to the error_log in a spec.

module Sanitizer : sig ... end
module Scheduler : sig ... end
module Sink : sig ... end
module SinkTrace : sig ... end
module Source : sig ... end
module SubtypingCheck : sig ... end
module TaintTrace : sig ... end
module TaintTraceElem : sig ... end
module TaskSchedulerTypes : sig ... end
module TransferFunctions : sig ... end

Transfer functions that push abstract states across instructions. A typical client should implement the Make signature to allow the transfer functions to be used with any kind of CFG.

diff --git a/website/static/odoc/next/infer/BO/AbsLoc/Allocsite/index.html b/website/static/odoc/next/infer/BO/AbsLoc/Allocsite/index.html index 0d658bf314d..ff474927678 100644 --- a/website/static/odoc/next/infer/BO/AbsLoc/Allocsite/index.html +++ b/website/static/odoc/next/infer/BO/AbsLoc/Allocsite/index.html @@ -1,5 +1,5 @@ -Allocsite (infer.BO.AbsLoc.Allocsite)

Module AbsLoc.Allocsite

type t = private
  1. | Unknown
  2. | Symbol of Symb.SymbolPath.partial
  3. | Known of {
    1. proc_name : string;
      (*

      the name of the procedure (builtin) which created the allocsite

      *)
    2. caller_pname : IR.Procname.t option;
      (*

      the name of the procedure for that the allocsite was created. That is, the procedure that called proc_name

      *)
    3. node_hash : int;
      (*

      hash of the node being allocated

      *)
    4. inst_num : int;
      (*

      order of the instruction in the node, i.e. n-th instruction

      *)
    5. dimension : int;
      (*

      depth of nested array

      *)
    6. represents_multiple_values : bool;
    7. path : Symb.SymbolPath.partial option;
    }
  4. | LiteralString of string
include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
include IStdlib.IStd.Caml.Set.OrderedType with type t := t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val unknown : t
val is_unknown : t -> bool
val make : +Allocsite (infer.BO.AbsLoc.Allocsite)

Module AbsLoc.Allocsite

type t = private
  1. | Unknown
  2. | Symbol of Symb.SymbolPath.partial
  3. | Known of {
    1. proc_name : string;
      (*

      the name of the procedure (builtin) which created the allocsite

      *)
    2. caller_pname : IR.Procname.t option;
      (*

      the name of the procedure for that the allocsite was created. That is, the procedure that called proc_name

      *)
    3. node_hash : int;
      (*

      hash of the node being allocated

      *)
    4. inst_num : int;
      (*

      order of the instruction in the node, i.e. n-th instruction

      *)
    5. dimension : int;
      (*

      depth of nested array

      *)
    6. represents_multiple_values : bool;
    7. path : Symb.SymbolPath.partial option;
    }
  4. | LiteralString of string
include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
include Stdlib.Set.OrderedType with type t := t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val unknown : t
val is_unknown : t -> bool
val make : IR.Procname.t -> caller_pname:IR.Procname.t option -> node_hash:int -> diff --git a/website/static/odoc/next/infer/BO/AbsLoc/Loc/index.html b/website/static/odoc/next/infer/BO/AbsLoc/Loc/index.html index 7cdf44623dc..8176dda4030 100644 --- a/website/static/odoc/next/infer/BO/AbsLoc/Loc/index.html +++ b/website/static/odoc/next/infer/BO/AbsLoc/Loc/index.html @@ -1,2 +1,2 @@ -Loc (infer.BO.AbsLoc.Loc)

Module AbsLoc.Loc

type prim = private
  1. | Var of IR.Var.t
  2. | Allocsite of Allocsite.t
val compare_prim : prim -> prim -> int
include Ppx_compare_lib.Comparable.S with type t := t
include Ppx_compare_lib.Equal.S with type t := t
val equal : t Base__Ppx_compare_lib.equal
include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
include IStdlib.IStd.Caml.Set.OrderedType with type t := t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val of_allocsite : Allocsite.t -> t
val of_c_strlen : t -> t

It appends the strlen field.

val of_id : IR.Ident.t -> t
val of_path : Symb.SymbolPath.partial -> t
val of_pvar : IR.Pvar.t -> t
val of_var : IR.Var.t -> t
val unknown : t
val exists_pvar : f:(IR.Pvar.t -> bool) -> t -> bool

It checks if a pvar in location satisfies f.

val exists_str : f:(string -> bool) -> t -> bool

It checks if a variable or a field name in the location path satisfies f.

val get_literal_string : t -> string option
val get_literal_string_strlen : t -> string option
val get_path : t -> Symb.SymbolPath.partial option
val get_param_path : t -> Symb.SymbolPath.partial option

As get_path, but returns None if the path doesn't correspond to parameter passed by reference.

val is_trans_field_of : loc:t -> field_loc:t -> bool

Checks if field_loc is a direct or indirect field of loc.

val is_frontend_tmp : t -> bool
val is_global : t -> bool
val get_global_array_initializer : t -> IR.Procname.t option

Return the name of global initializer when given abstract location represents a global constant array value

val is_pretty : t -> bool

It checks if it is representable with pretty form, e.g., with a path or with a variable name.

val is_return : t -> bool
val is_unknown : t -> bool
val represents_multiple_values : t -> bool
val is_objc_collection_internal_array : t -> bool
val append_field : ?typ:IR.Typ.t -> t -> IR.Fieldname.t -> t

It appends field. typ is the type of fn.

+Loc (infer.BO.AbsLoc.Loc)

Module AbsLoc.Loc

type prim = private
  1. | Var of IR.Var.t
  2. | Allocsite of Allocsite.t
val compare_prim : prim -> prim -> int
include Ppx_compare_lib.Comparable.S with type t := t
include Ppx_compare_lib.Equal.S with type t := t
val equal : t Base__Ppx_compare_lib.equal
include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
include Stdlib.Set.OrderedType with type t := t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val of_allocsite : Allocsite.t -> t
val of_c_strlen : t -> t

It appends the strlen field.

val of_id : IR.Ident.t -> t
val of_path : Symb.SymbolPath.partial -> t
val of_pvar : IR.Pvar.t -> t
val of_var : IR.Var.t -> t
val unknown : t
val exists_pvar : f:(IR.Pvar.t -> bool) -> t -> bool

It checks if a pvar in location satisfies f.

val exists_str : f:(string -> bool) -> t -> bool

It checks if a variable or a field name in the location path satisfies f.

val get_literal_string : t -> string option
val get_literal_string_strlen : t -> string option
val get_path : t -> Symb.SymbolPath.partial option
val get_param_path : t -> Symb.SymbolPath.partial option

As get_path, but returns None if the path doesn't correspond to parameter passed by reference.

val is_trans_field_of : loc:t -> field_loc:t -> bool

Checks if field_loc is a direct or indirect field of loc.

val is_frontend_tmp : t -> bool
val is_global : t -> bool
val get_global_array_initializer : t -> IR.Procname.t option

Return the name of global initializer when given abstract location represents a global constant array value

val is_pretty : t -> bool

It checks if it is representable with pretty form, e.g., with a path or with a variable name.

val is_return : t -> bool
val is_unknown : t -> bool
val represents_multiple_values : t -> bool
val is_objc_collection_internal_array : t -> bool
val append_field : ?typ:IR.Typ.t -> t -> IR.Fieldname.t -> t

It appends field. typ is the type of fn.

diff --git a/website/static/odoc/next/infer/BO/AbsLoc/LocSet/index.html b/website/static/odoc/next/infer/BO/AbsLoc/LocSet/index.html index f4f1f9f5c70..6d19752867e 100644 --- a/website/static/odoc/next/infer/BO/AbsLoc/LocSet/index.html +++ b/website/static/odoc/next/infer/BO/AbsLoc/LocSet/index.html @@ -1,2 +1,2 @@ -LocSet (infer.BO.AbsLoc.LocSet)

Module AbsLoc.LocSet

include IStdlib.IStd.Caml.Set.S with type elt = Loc.t
type elt = Loc.t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+LocSet (infer.BO.AbsLoc.LocSet)

Module AbsLoc.LocSet

include Stdlib.Set.S with type elt = Loc.t
type elt = Loc.t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/BO/Bounds/BoundTrace/index.html b/website/static/odoc/next/infer/BO/Bounds/BoundTrace/index.html index 058e8249b4c..a482862f99b 100644 --- a/website/static/odoc/next/infer/BO/Bounds/BoundTrace/index.html +++ b/website/static/odoc/next/infer/BO/Bounds/BoundTrace/index.html @@ -1,2 +1,2 @@ -BoundTrace (infer.BO.Bounds.BoundTrace)

Module Bounds.BoundTrace

include IStdlib.PrettyPrintable.PrintableOrderedType
include IStdlib.IStd.Caml.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val length : t -> int
val make_err_trace : depth:int -> t -> Absint.Errlog.loc_trace
val of_loop : IBase.Location.t -> t
+BoundTrace (infer.BO.Bounds.BoundTrace)

Module Bounds.BoundTrace

include IStdlib.PrettyPrintable.PrintableOrderedType
include Stdlib.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val length : t -> int
val make_err_trace : depth:int -> t -> Absint.Errlog.loc_trace
val of_loop : IBase.Location.t -> t
diff --git a/website/static/odoc/next/infer/BO/BufferOverrunDomain/ItvThresholds/index.html b/website/static/odoc/next/infer/BO/BufferOverrunDomain/ItvThresholds/index.html index 8469fbdc91a..bc03a06a132 100644 --- a/website/static/odoc/next/infer/BO/BufferOverrunDomain/ItvThresholds/index.html +++ b/website/static/odoc/next/infer/BO/BufferOverrunDomain/ItvThresholds/index.html @@ -1,2 +1,2 @@ -ItvThresholds (infer.BO.BufferOverrunDomain.ItvThresholds)

Module BufferOverrunDomain.ItvThresholds

Set of integers for threshold widening

include IStdlib.PrettyPrintable.PPSet with type elt = Z.t
include IStdlib.IStd.Caml.Set.S with type elt = Z.t
type elt = Z.t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include Absint.AbstractDomain.WithBottom with type t := t
include Absint.AbstractDomain.S with type t := t
include Absint.AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

+ItvThresholds (infer.BO.BufferOverrunDomain.ItvThresholds)

Module BufferOverrunDomain.ItvThresholds

Set of integers for threshold widening

include IStdlib.PrettyPrintable.PPSet with type elt = Z.t
include Stdlib.Set.S with type elt = Z.t
type elt = Z.t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include Absint.AbstractDomain.WithBottom with type t := t
include Absint.AbstractDomain.S with type t := t
include Absint.AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

diff --git a/website/static/odoc/next/infer/BO/BufferOverrunTrace/Issue/index.html b/website/static/odoc/next/infer/BO/BufferOverrunTrace/Issue/index.html index 5fcd4e243cd..9d24082692a 100644 --- a/website/static/odoc/next/infer/BO/BufferOverrunTrace/Issue/index.html +++ b/website/static/odoc/next/infer/BO/BufferOverrunTrace/Issue/index.html @@ -1,5 +1,5 @@ -Issue (infer.BO.BufferOverrunTrace.Issue)

Module BufferOverrunTrace.Issue

Trace set with issue information

include IStdlib.PrettyPrintable.PrintableOrderedType
include IStdlib.IStd.Caml.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
type binary =
  1. | ArrayAccess
  2. | Binop
val binary : IBase.Location.t -> binary -> Set.t -> Set.t -> t

Construct issue trace of binary operation. When binary is ArrayAccess, the former Set.t typed parameter is offset and the latter is length of array access.

val alloc : IBase.Location.t -> Set.t -> t

Construct issue trace of allocation

val call : IBase.Location.t -> Set.t -> t -> t

Merge caller's trace set and callee's issue, i.e., call location caller callee

val has_unknown : t -> bool

Check if the issue trace includes unknown function calls

val exists_str : f:(string -> bool) -> t -> bool

Check if the issue trace includes an abstract location that satisfies f

val make_err_trace : +Issue (infer.BO.BufferOverrunTrace.Issue)

Module BufferOverrunTrace.Issue

Trace set with issue information

include IStdlib.PrettyPrintable.PrintableOrderedType
include Stdlib.Set.OrderedType
type t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
type binary =
  1. | ArrayAccess
  2. | Binop
val binary : IBase.Location.t -> binary -> Set.t -> Set.t -> t

Construct issue trace of binary operation. When binary is ArrayAccess, the former Set.t typed parameter is offset and the latter is length of array access.

val alloc : IBase.Location.t -> Set.t -> t

Construct issue trace of allocation

val call : IBase.Location.t -> Set.t -> t -> t

Merge caller's trace set and callee's issue, i.e., call location caller callee

val has_unknown : t -> bool

Check if the issue trace includes unknown function calls

val exists_str : f:(string -> bool) -> t -> bool

Check if the issue trace includes an abstract location that satisfies f

val make_err_trace : description:string -> t -> (string * Absint.Errlog.loc_trace) list

Convert to the common Errlog format. The return value is a list of labelled Errlog.loc_traces.

diff --git a/website/static/odoc/next/infer/BO/FuncPtr/Set/index.html b/website/static/odoc/next/infer/BO/FuncPtr/Set/index.html index dc4cfeff192..7293177c7bb 100644 --- a/website/static/odoc/next/infer/BO/FuncPtr/Set/index.html +++ b/website/static/odoc/next/infer/BO/FuncPtr/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.BO.FuncPtr.Set)

Module FuncPtr.Set

include Absint.AbstractDomain.FiniteSetS with type elt = t
include IStdlib.PrettyPrintable.PPSet with type elt = t
include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include Absint.AbstractDomain.WithBottom with type t := t
include Absint.AbstractDomain.S with type t := t
include Absint.AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

type eval_func_ptrs = Symb.SymbolPath.partial -> t
val of_path : Symb.SymbolPath.partial -> t
val of_closure : IR.Exp.closure -> t
val subst : t -> eval_func_ptrs -> t
+Set (infer.BO.FuncPtr.Set)

Module FuncPtr.Set

include Absint.AbstractDomain.FiniteSetS with type elt = t
include IStdlib.PrettyPrintable.PPSet with type elt = t
include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include Absint.AbstractDomain.WithBottom with type t := t
include Absint.AbstractDomain.S with type t := t
include Absint.AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

type eval_func_ptrs = Symb.SymbolPath.partial -> t
val of_path : Symb.SymbolPath.partial -> t
val of_closure : IR.Exp.closure -> t
val subst : t -> eval_func_ptrs -> t
diff --git a/website/static/odoc/next/infer/BO/Symb/SymbolMap/index.html b/website/static/odoc/next/infer/BO/Symb/SymbolMap/index.html index 67479a46e0d..6f508218e6b 100644 --- a/website/static/odoc/next/infer/BO/Symb/SymbolMap/index.html +++ b/website/static/odoc/next/infer/BO/Symb/SymbolMap/index.html @@ -1,5 +1,5 @@ -SymbolMap (infer.BO.Symb.SymbolMap)

Module Symb.SymbolMap

include IStdlib.PrettyPrintable.PPMap with type key = Symbol.t
include IStdlib.IStd.Caml.Map.S with type key = Symbol.t
type key = Symbol.t
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +SymbolMap (infer.BO.Symb.SymbolMap)

Module Symb.SymbolMap

include IStdlib.PrettyPrintable.PPMap with type key = Symbol.t
include Stdlib.Map.S with type key = Symbol.t
type key = Symbol.t
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/BO/Symb/SymbolSet/index.html b/website/static/odoc/next/infer/BO/Symb/SymbolSet/index.html index d3af671a3f5..894128b8c18 100644 --- a/website/static/odoc/next/infer/BO/Symb/SymbolSet/index.html +++ b/website/static/odoc/next/infer/BO/Symb/SymbolSet/index.html @@ -1,2 +1,2 @@ -SymbolSet (infer.BO.Symb.SymbolSet)

Module Symb.SymbolSet

include IStdlib.PrettyPrintable.PPSet with type elt = Symbol.t
include IStdlib.IStd.Caml.Set.S with type elt = Symbol.t
type elt = Symbol.t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
val union3 : t -> t -> t -> t
+SymbolSet (infer.BO.Symb.SymbolSet)

Module Symb.SymbolSet

include IStdlib.PrettyPrintable.PPSet with type elt = Symbol.t
include Stdlib.Set.S with type elt = Symbol.t
type elt = Symbol.t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
val union3 : t -> t -> t -> t
diff --git a/website/static/odoc/next/infer/Biabduction/BiabductionSummary/index.html b/website/static/odoc/next/infer/Biabduction/BiabductionSummary/index.html index 008569e3c46..6cc878db609 100644 --- a/website/static/odoc/next/infer/Biabduction/BiabductionSummary/index.html +++ b/website/static/odoc/next/infer/Biabduction/BiabductionSummary/index.html @@ -1,3 +1,2 @@ -BiabductionSummary (infer.Biabduction.BiabductionSummary)

Module Biabduction.BiabductionSummary

module Jprop : sig ... end

Module for joined props: the result of joining together propositions repeatedly

module Visitedset : - IStdlib.IStd.Caml.Set.S with type elt = IR.Procdesc.Node.id * int list

set of visited nodes: node id and list of lines of all the instructions

type 'a spec = {
  1. pre : 'a Jprop.t;
  2. posts : ('a Prop.t * Paths.Path.t) list;
  3. visited : Visitedset.t;
}

A spec consists of:

  • pre: a joined prop
  • posts: a list of props with path
  • visited: a list of pairs (node_id, line) for the visited nodes
module NormSpec : sig ... end

encapsulate type for normalized specs

val expose : NormSpec.t -> Prop.normal spec
val normalized_specs_to_specs : NormSpec.t list -> Prop.normal spec list

Cast a list of normalized specs to a list of specs

val pp_spec : Stdlib.Format.formatter -> _ spec -> unit
val spec_normalize : IR.Tenv.t -> Prop.normal spec -> NormSpec.t

Convert spec into normal form.

type phase =
  1. | FOOTPRINT
  2. | RE_EXECUTION
val equal_phase : phase -> phase -> bool
val string_of_phase_short : phase -> string
type t = {
  1. preposts : NormSpec.t list;
  2. phase : phase;
}
val get_specs : t -> Prop.normal spec list
val opt_get_phase : t option -> phase
val pp : IStdlib.Pp.env -> Stdlib.Format.formatter -> t -> unit
+BiabductionSummary (infer.Biabduction.BiabductionSummary)

Module Biabduction.BiabductionSummary

module Jprop : sig ... end

Module for joined props: the result of joining together propositions repeatedly

module Visitedset : Stdlib.Set.S with type elt = IR.Procdesc.Node.id * int list

set of visited nodes: node id and list of lines of all the instructions

type 'a spec = {
  1. pre : 'a Jprop.t;
  2. posts : ('a Prop.t * Paths.Path.t) list;
  3. visited : Visitedset.t;
}

A spec consists of:

  • pre: a joined prop
  • posts: a list of props with path
  • visited: a list of pairs (node_id, line) for the visited nodes
module NormSpec : sig ... end

encapsulate type for normalized specs

val expose : NormSpec.t -> Prop.normal spec
val normalized_specs_to_specs : NormSpec.t list -> Prop.normal spec list

Cast a list of normalized specs to a list of specs

val pp_spec : Stdlib.Format.formatter -> _ spec -> unit
val spec_normalize : IR.Tenv.t -> Prop.normal spec -> NormSpec.t

Convert spec into normal form.

type phase =
  1. | FOOTPRINT
  2. | RE_EXECUTION
val equal_phase : phase -> phase -> bool
val string_of_phase_short : phase -> string
type t = {
  1. preposts : NormSpec.t list;
  2. phase : phase;
}
val get_specs : t -> Prop.normal spec list
val opt_get_phase : t option -> phase
val pp : IStdlib.Pp.env -> Stdlib.Format.formatter -> t -> unit
diff --git a/website/static/odoc/next/infer/Biabduction/Predicates/index.html b/website/static/odoc/next/infer/Biabduction/Predicates/index.html index a8648797b20..779fea7a929 100644 --- a/website/static/odoc/next/infer/Biabduction/Predicates/index.html +++ b/website/static/odoc/next/infer/Biabduction/Predicates/index.html @@ -21,7 +21,7 @@ ('inst -> 'inst -> int) -> 'inst hpara_dll0 -> 'inst hpara_dll0 -> - int
type hpred = inst hpred0
type hpara = inst hpara0
type hpara_dll = inst hpara_dll0
val compare_hpred : ?inst:bool -> hpred -> hpred -> int

Comparison function for hpred. The inst:: parameter specifies whether instumentations should also be considered (false by default).

val equal_hpred : ?inst:bool -> hpred -> hpred -> bool

Equality function for hpred. The inst:: parameter specifies whether instumentations should also be considered (false by default).

module HpredSet : IStdlib.IStd.Caml.Set.S with type elt = hpred

Sets of heap predicates

Compaction

type sharing_env
val create_sharing_env : unit -> sharing_env

Create a sharing env to store canonical representations

val hpred_compact : sharing_env -> hpred -> hpred

Return a compact representation of the exp

val is_objc_object : hpred -> bool

Comparision And Inspection Functions

val pp_offset : IStdlib.Pp.env -> F.formatter -> offset -> unit
val d_offset_list : offset list -> unit

Dump a list of offsets

val pp_atom : IStdlib.Pp.env -> F.formatter -> atom -> unit

Pretty print an atom.

val d_atom : atom -> unit

Dump an atom.

val pp_inst : F.formatter -> inst -> unit

pretty-print an inst

val pp_sexp : IStdlib.Pp.env -> F.formatter -> strexp -> unit

Pretty print a strexp.

val d_sexp : strexp -> unit

Dump a strexp.

val pp_hpred : IStdlib.Pp.env -> F.formatter -> hpred -> unit

Pretty print a hpred.

val d_hpred : hpred -> unit

Dump a hpred.

val pp_hpara : IStdlib.Pp.env -> F.formatter -> hpara -> unit

Pretty print a hpara.

val pp_hpara_dll : IStdlib.Pp.env -> F.formatter -> hpara_dll -> unit

Pretty print a hpara_dll.

module Env : sig ... end

record the occurrences of predicates as parameters of (doubly -)linked lists and Epara. Provides unique numbering for predicates and an iterator.

val pp_hpred_env : + int
type hpred = inst hpred0
type hpara = inst hpara0
type hpara_dll = inst hpara_dll0
val compare_hpred : ?inst:bool -> hpred -> hpred -> int

Comparison function for hpred. The inst:: parameter specifies whether instumentations should also be considered (false by default).

val equal_hpred : ?inst:bool -> hpred -> hpred -> bool

Equality function for hpred. The inst:: parameter specifies whether instumentations should also be considered (false by default).

module HpredSet : Stdlib.Set.S with type elt = hpred

Sets of heap predicates

Compaction

type sharing_env
val create_sharing_env : unit -> sharing_env

Create a sharing env to store canonical representations

val hpred_compact : sharing_env -> hpred -> hpred

Return a compact representation of the exp

val is_objc_object : hpred -> bool

Comparision And Inspection Functions

val pp_offset : IStdlib.Pp.env -> F.formatter -> offset -> unit
val d_offset_list : offset list -> unit

Dump a list of offsets

val pp_atom : IStdlib.Pp.env -> F.formatter -> atom -> unit

Pretty print an atom.

val d_atom : atom -> unit

Dump an atom.

val pp_inst : F.formatter -> inst -> unit

pretty-print an inst

val pp_sexp : IStdlib.Pp.env -> F.formatter -> strexp -> unit

Pretty print a strexp.

val d_sexp : strexp -> unit

Dump a strexp.

val pp_hpred : IStdlib.Pp.env -> F.formatter -> hpred -> unit

Pretty print a hpred.

val d_hpred : hpred -> unit

Dump a hpred.

val pp_hpara : IStdlib.Pp.env -> F.formatter -> hpara -> unit

Pretty print a hpara.

val pp_hpara_dll : IStdlib.Pp.env -> F.formatter -> hpara_dll -> unit

Pretty print a hpara_dll.

module Env : sig ... end

record the occurrences of predicates as parameters of (doubly -)linked lists and Epara. Provides unique numbering for predicates and an iterator.

val pp_hpred_env : IStdlib.Pp.env -> Env.t option -> F.formatter -> @@ -41,7 +41,7 @@ hpred -> (unit, IR.Ident.t) IStdlib.IStd.Sequence.Generator.t
val hpara_shallow_free_vars : hpara -> IR.Ident.t IStdlib.IStd.Sequence.t
val hpara_dll_shallow_free_vars : hpara_dll -> - IR.Ident.t IStdlib.IStd.Sequence.t

Variables in hpara_dll, excluding bound vars in the body

Substitution

type subst = private (IR.Ident.t * IR.Exp.t) list
val compare_subst : subst -> subst -> int
val equal_subst : subst -> subst -> bool

Equality for substitutions.

val subst_of_list : (IR.Ident.t * IR.Exp.t) list -> subst

Create a substitution from a list of pairs. For all (id1, e1), (id2, e2) in the input list, if id1 = id2, then e1 = e2.

val subst_of_list_duplicates : (IR.Ident.t * IR.Exp.t) list -> subst

like subst_of_list, but allow duplicate ids and only keep the first occurrence

val sub_to_list : subst -> (IR.Ident.t * IR.Exp.t) list

Convert a subst to a list of pairs.

val sub_empty : subst

The empty substitution.

val is_sub_empty : subst -> bool
val sub_join : subst -> subst -> subst

Compute the common id-exp part of two inputs subst1 and subst2. The first component of the output is this common part. The second and third components are the remainder of subst1 and subst2, respectively.

val sub_symmetric_difference : subst -> subst -> subst * subst * subst

Compute the common id-exp part of two inputs subst1 and subst2. The first component of the output is this common part. The second and third components are the remainder of subst1 and subst2, respectively.

val sub_find : (IR.Ident.t -> bool) -> subst -> IR.Exp.t

sub_find filter sub returns the expression associated to the first identifier that satisfies filter. Raise Not_found_s/Caml.Not_found if there isn't one.

val sub_filter : (IR.Ident.t -> bool) -> subst -> subst

sub_filter filter sub restricts the domain of sub to the identifiers satisfying filter.

val sub_filter_pair : subst -> f:((IR.Ident.t * IR.Exp.t) -> bool) -> subst

sub_filter_exp filter sub restricts the domain of sub to the identifiers satisfying filter(id, sub(id)).

val sub_range_partition : (IR.Exp.t -> bool) -> subst -> subst * subst

sub_range_partition filter sub partitions sub according to whether range expressions satisfy filter.

val sub_domain_partition : (IR.Ident.t -> bool) -> subst -> subst * subst

sub_domain_partition filter sub partitions sub according to whether domain identifiers satisfy filter.

val sub_domain : subst -> IR.Ident.t list

Return the list of identifiers in the domain of the substitution.

val sub_range : subst -> IR.Exp.t list

Return the list of expressions in the range of the substitution.

val sub_range_map : (IR.Exp.t -> IR.Exp.t) -> subst -> subst

sub_range_map f sub applies f to the expressions in the range of sub.

val sub_map : + IR.Ident.t IStdlib.IStd.Sequence.t

Variables in hpara_dll, excluding bound vars in the body

Substitution

type subst = private (IR.Ident.t * IR.Exp.t) list
val compare_subst : subst -> subst -> int
val equal_subst : subst -> subst -> bool

Equality for substitutions.

val subst_of_list : (IR.Ident.t * IR.Exp.t) list -> subst

Create a substitution from a list of pairs. For all (id1, e1), (id2, e2) in the input list, if id1 = id2, then e1 = e2.

val subst_of_list_duplicates : (IR.Ident.t * IR.Exp.t) list -> subst

like subst_of_list, but allow duplicate ids and only keep the first occurrence

val sub_to_list : subst -> (IR.Ident.t * IR.Exp.t) list

Convert a subst to a list of pairs.

val sub_empty : subst

The empty substitution.

val is_sub_empty : subst -> bool
val sub_join : subst -> subst -> subst

Compute the common id-exp part of two inputs subst1 and subst2. The first component of the output is this common part. The second and third components are the remainder of subst1 and subst2, respectively.

val sub_symmetric_difference : subst -> subst -> subst * subst * subst

Compute the common id-exp part of two inputs subst1 and subst2. The first component of the output is this common part. The second and third components are the remainder of subst1 and subst2, respectively.

val sub_find : (IR.Ident.t -> bool) -> subst -> IR.Exp.t

sub_find filter sub returns the expression associated to the first identifier that satisfies filter. Raise Not_found_s/Stdlib.Not_found if there isn't one.

val sub_filter : (IR.Ident.t -> bool) -> subst -> subst

sub_filter filter sub restricts the domain of sub to the identifiers satisfying filter.

val sub_filter_pair : subst -> f:((IR.Ident.t * IR.Exp.t) -> bool) -> subst

sub_filter_exp filter sub restricts the domain of sub to the identifiers satisfying filter(id, sub(id)).

val sub_range_partition : (IR.Exp.t -> bool) -> subst -> subst * subst

sub_range_partition filter sub partitions sub according to whether range expressions satisfy filter.

val sub_domain_partition : (IR.Ident.t -> bool) -> subst -> subst * subst

sub_domain_partition filter sub partitions sub according to whether domain identifiers satisfy filter.

val sub_domain : subst -> IR.Ident.t list

Return the list of identifiers in the domain of the substitution.

val sub_range : subst -> IR.Exp.t list

Return the list of expressions in the range of the substitution.

val sub_range_map : (IR.Exp.t -> IR.Exp.t) -> subst -> subst

sub_range_map f sub applies f to the expressions in the range of sub.

val sub_map : (IR.Ident.t -> IR.Ident.t) -> (IR.Exp.t -> IR.Exp.t) -> subst -> diff --git a/website/static/odoc/next/infer/Biabduction/RetainCyclesType/index.html b/website/static/odoc/next/infer/Biabduction/RetainCyclesType/index.html index ce2c0e10c3e..7ec0bc0daf9 100644 --- a/website/static/odoc/next/infer/Biabduction/RetainCyclesType/index.html +++ b/website/static/odoc/next/infer/Biabduction/RetainCyclesType/index.html @@ -1,2 +1,2 @@ -RetainCyclesType (infer.Biabduction.RetainCyclesType)

Module Biabduction.RetainCyclesType

type retain_cycle_node = {
  1. rc_node_exp : IR.Exp.t;
  2. rc_node_typ : IR.Typ.t;
}
type retain_cycle_field = {
  1. rc_field_name : IR.Fieldname.t;
  2. rc_field_inst : Predicates.inst;
}
type retain_cycle_edge_obj = {
  1. rc_from : retain_cycle_node;
  2. rc_field : retain_cycle_field;
}
type retain_cycle_edge =
  1. | Object of retain_cycle_edge_obj
  2. | Block of IR.Procname.t * IR.Pvar.t
type t = {
  1. rc_head : retain_cycle_edge;
  2. rc_elements : retain_cycle_edge list;
}

A retain cycle is a non-empty list of paths. It also contains a pointer to the head of the list to model the cycle structure. The next element from the end of the list is the head.

module Set : IStdlib.IStd.Caml.Set.S with type elt = t

Set for retain cycles.

val d_retain_cycle : t -> unit
val create_cycle : retain_cycle_edge list -> t option

Creates a cycle if the list is non-empty

val pp_dotty : Stdlib.Format.formatter -> t -> unit
val write_dotty_to_file : string -> t -> unit
+RetainCyclesType (infer.Biabduction.RetainCyclesType)

Module Biabduction.RetainCyclesType

type retain_cycle_node = {
  1. rc_node_exp : IR.Exp.t;
  2. rc_node_typ : IR.Typ.t;
}
type retain_cycle_field = {
  1. rc_field_name : IR.Fieldname.t;
  2. rc_field_inst : Predicates.inst;
}
type retain_cycle_edge_obj = {
  1. rc_from : retain_cycle_node;
  2. rc_field : retain_cycle_field;
}
type retain_cycle_edge =
  1. | Object of retain_cycle_edge_obj
  2. | Block of IR.Procname.t * IR.Pvar.t
type t = {
  1. rc_head : retain_cycle_edge;
  2. rc_elements : retain_cycle_edge list;
}

A retain cycle is a non-empty list of paths. It also contains a pointer to the head of the list to model the cycle structure. The next element from the end of the list is the head.

module Set : Stdlib.Set.S with type elt = t

Set for retain cycles.

val d_retain_cycle : t -> unit
val create_cycle : retain_cycle_edge list -> t option

Creates a cycle if the list is non-empty

val pp_dotty : Stdlib.Format.formatter -> t -> unit
val write_dotty_to_file : string -> t -> unit
diff --git a/website/static/odoc/next/infer/Checkers/AddressTaken/TransferFunctions/argument-1-CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Checkers/AddressTaken/TransferFunctions/argument-1-CFG/Node/IdMap/index.html index 5c2cddf539d..c95e0e95586 100644 --- a/website/static/odoc/next/infer/Checkers/AddressTaken/TransferFunctions/argument-1-CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Checkers/AddressTaken/TransferFunctions/argument-1-CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Checkers.AddressTaken.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Checkers.AddressTaken.TransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Checkers/AddressTaken/TransferFunctions/argument-1-CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Checkers/AddressTaken/TransferFunctions/argument-1-CFG/Node/IdSet/index.html index 1f745768a3f..5b18432ff3a 100644 --- a/website/static/odoc/next/infer/Checkers/AddressTaken/TransferFunctions/argument-1-CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Checkers/AddressTaken/TransferFunctions/argument-1-CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Checkers.AddressTaken.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Checkers.AddressTaken.TransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Checkers/AnnotationReachabilityDomain/CallSites/index.html b/website/static/odoc/next/infer/Checkers/AnnotationReachabilityDomain/CallSites/index.html index 4aaee9eafce..8afb4e755e8 100644 --- a/website/static/odoc/next/infer/Checkers/AnnotationReachabilityDomain/CallSites/index.html +++ b/website/static/odoc/next/infer/Checkers/AnnotationReachabilityDomain/CallSites/index.html @@ -1,2 +1,2 @@ -CallSites (infer.Checkers.AnnotationReachabilityDomain.CallSites)

Module AnnotationReachabilityDomain.CallSites

include IStdlib.PrettyPrintable.PPSet with type elt = call_site_info
include IStdlib.IStd.Caml.Set.S with type elt = call_site_info
type elt = call_site_info
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include Absint.AbstractDomain.WithBottom with type t := t
include Absint.AbstractDomain.S with type t := t
include Absint.AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

+CallSites (infer.Checkers.AnnotationReachabilityDomain.CallSites)

Module AnnotationReachabilityDomain.CallSites

include IStdlib.PrettyPrintable.PPSet with type elt = call_site_info
include Stdlib.Set.S with type elt = call_site_info
type elt = call_site_info
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include Absint.AbstractDomain.WithBottom with type t := t
include Absint.AbstractDomain.S with type t := t
include Absint.AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

diff --git a/website/static/odoc/next/infer/Checkers/Control/GuardNodes/index.html b/website/static/odoc/next/infer/Checkers/Control/GuardNodes/index.html index 3c80e4df475..f035daafc66 100644 --- a/website/static/odoc/next/infer/Checkers/Control/GuardNodes/index.html +++ b/website/static/odoc/next/infer/Checkers/Control/GuardNodes/index.html @@ -1,2 +1,6 @@ -GuardNodes (infer.Checkers.Control.GuardNodes)

Module Control.GuardNodes

type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib__PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool
val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t
val is_bottom : t -> bool
+GuardNodes (infer.Checkers.Control.GuardNodes)

Module Control.GuardNodes

include IStdlib.PrettyPrintable.PPSet + with type elt = IR.Procdesc.Node.t + with type t = IR.Procdesc.NodeSet.t
include Stdlib.Set.S + with type elt = IR.Procdesc.Node.t + with type t = IR.Procdesc.NodeSet.t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include Absint.AbstractDomain.WithBottom with type t := t
include Absint.AbstractDomain.S with type t := t
include Absint.AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

diff --git a/website/static/odoc/next/infer/Checkers/Control/index.html b/website/static/odoc/next/infer/Checkers/Control/index.html index e0efe486f03..63a5629c80e 100644 --- a/website/static/odoc/next/infer/Checkers/Control/index.html +++ b/website/static/odoc/next/infer/Checkers/Control/index.html @@ -1,5 +1,5 @@ -Control (infer.Checkers.Control)

Module Checkers.Control

module LoopHead = IR.Procdesc.Node
module LoopHeads = IR.Procdesc.NodeSet
module ControlMap : sig ... end

Map control var -> loop head location

module GuardNodes : sig ... end
module ExitNodeToLoopHeads = IR.Procdesc.NodeMap

Map exit node -> loop head set

module LoopHeadToGuardNodes = IR.Procdesc.NodeMap

Map loop head -> prune nodes in the loop guard

type invariant_map
type loop_control_maps = {
  1. exit_map : LoopHeads.t ExitNodeToLoopHeads.t;
  2. loop_head_to_guard_nodes : GuardNodes.t LoopHeadToGuardNodes.t;
}
val compute_invariant_map : IR.Procdesc.t -> loop_control_maps -> invariant_map
val compute_control_vars : +Control (infer.Checkers.Control)

Module Checkers.Control

module LoopHead = IR.Procdesc.Node
module LoopHeads = IR.Procdesc.NodeSet
module ControlMap : sig ... end

Map control var -> loop head location

module ExitNodeToLoopHeads = IR.Procdesc.NodeMap

Map exit node -> loop head set

module LoopHeadToGuardNodes = IR.Procdesc.NodeMap

Map loop head -> prune nodes in the loop guard

type invariant_map
type loop_control_maps = {
  1. exit_map : LoopHeads.t ExitNodeToLoopHeads.t;
  2. loop_head_to_guard_nodes : GuardNodes.t LoopHeadToGuardNodes.t;
}
val compute_invariant_map : IR.Procdesc.t -> loop_control_maps -> invariant_map
val compute_control_vars : invariant_map -> LoopInvariant.VarsInLoop.t LoopHeadToGuardNodes.t -> LoopHead.t -> diff --git a/website/static/odoc/next/infer/Checkers/Liveness/PreAnalysisTransferFunctions/argument-1-CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Checkers/Liveness/PreAnalysisTransferFunctions/argument-1-CFG/Node/IdMap/index.html index 8882868b8c4..3dc9dd1a34c 100644 --- a/website/static/odoc/next/infer/Checkers/Liveness/PreAnalysisTransferFunctions/argument-1-CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/Checkers/Liveness/PreAnalysisTransferFunctions/argument-1-CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.Checkers.Liveness.PreAnalysisTransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include IStdlib.IStd.Caml.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : +IdMap (infer.Checkers.Liveness.PreAnalysisTransferFunctions.CFG.Node.IdMap)

Module Node.IdMap

include Stdlib.Map.S with type key = id
type key = id
type !+'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Checkers/Liveness/PreAnalysisTransferFunctions/argument-1-CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Checkers/Liveness/PreAnalysisTransferFunctions/argument-1-CFG/Node/IdSet/index.html index 8279fccf78e..26d5edbba4b 100644 --- a/website/static/odoc/next/infer/Checkers/Liveness/PreAnalysisTransferFunctions/argument-1-CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/Checkers/Liveness/PreAnalysisTransferFunctions/argument-1-CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.Checkers.Liveness.PreAnalysisTransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include IStdlib.IStd.Caml.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+IdSet (infer.Checkers.Liveness.PreAnalysisTransferFunctions.CFG.Node.IdSet)

Module Node.IdSet

include Stdlib.Set.S with type elt = id
type elt = id
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Checkers/LoopInvariant/LoopNodes/index.html b/website/static/odoc/next/infer/Checkers/LoopInvariant/LoopNodes/index.html index b79cb17a983..eb6bbb90da9 100644 --- a/website/static/odoc/next/infer/Checkers/LoopInvariant/LoopNodes/index.html +++ b/website/static/odoc/next/infer/Checkers/LoopInvariant/LoopNodes/index.html @@ -1,2 +1,6 @@ -LoopNodes (infer.Checkers.LoopInvariant.LoopNodes)

Module LoopInvariant.LoopNodes

type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib__PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool
val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t
val is_bottom : t -> bool
+LoopNodes (infer.Checkers.LoopInvariant.LoopNodes)

Module LoopInvariant.LoopNodes

include IStdlib.PrettyPrintable.PPSet + with type elt = IR.Procdesc.Node.t + with type t = IR.Procdesc.NodeSet.t
include Stdlib.Set.S + with type elt = IR.Procdesc.Node.t + with type t = IR.Procdesc.NodeSet.t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include Absint.AbstractDomain.WithBottom with type t := t
include Absint.AbstractDomain.S with type t := t
include Absint.AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

diff --git a/website/static/odoc/next/infer/Checkers/LoopInvariant/index.html b/website/static/odoc/next/infer/Checkers/LoopInvariant/index.html index c8beeb6f1c0..c29843e2842 100644 --- a/website/static/odoc/next/infer/Checkers/LoopInvariant/index.html +++ b/website/static/odoc/next/infer/Checkers/LoopInvariant/index.html @@ -1,5 +1,5 @@ -LoopInvariant (infer.Checkers.LoopInvariant)

Module Checkers.LoopInvariant

module InvariantVars : sig ... end
module VarsInLoop : sig ... end
module LoopNodes : sig ... end
module VarSet : sig ... end
module LoopHeadToLoopNodes = IR.Procdesc.NodeMap

Map loop header node -> all nodes in the loop

module LoopHeadToInvVars = IR.Procdesc.NodeMap

Map loop head -> invariant vars in loop

type invariant_map = VarsInLoop.t IR.Procdesc.NodeMap.t
val get_inv_vars_in_loop : +LoopInvariant (infer.Checkers.LoopInvariant)

Module Checkers.LoopInvariant

module InvariantVars : sig ... end
module VarsInLoop : sig ... end
module VarSet : sig ... end
module LoopHeadToInvVars = IR.Procdesc.NodeMap

Map loop head -> invariant vars in loop

type invariant_map = VarsInLoop.t IR.Procdesc.NodeMap.t
val get_inv_vars_in_loop : IR.Tenv.t -> ReachingDefs.invariant_map -> is_pure_by_default:bool -> diff --git a/website/static/odoc/next/infer/Checkers/Loop_control/index.html b/website/static/odoc/next/infer/Checkers/Loop_control/index.html index a0609a960c4..a3676f3e5f4 100644 --- a/website/static/odoc/next/infer/Checkers/Loop_control/index.html +++ b/website/static/odoc/next/infer/Checkers/Loop_control/index.html @@ -1,11 +1,4 @@ -Loop_control (infer.Checkers.Loop_control)

Module Checkers.Loop_control

val get_all_nodes_upwards_until : - IR.Procdesc.Node.t -> - IR.Procdesc.Node.t list -> - Control.GuardNodes.t

Starting from the start_nodes, find all the nodes upwards until the target is reached, i.e picking up predecessors which have not been already added to the found_nodes

val get_loop_head_to_source_nodes : - IR.Procdesc.t -> - IR.Procdesc.Node.t list IR.Procdesc.NodeMap.t

Since there could be multiple back-edges per loop, collect all source nodes per loop head. loop_head (target of back-edges) --> source nodes

val get_loop_control_maps : +Loop_control (infer.Checkers.Loop_control)

Module Checkers.Loop_control

val get_loop_control_maps : IR.Procdesc.Node.t list IR.Procdesc.NodeMap.t -> - Control.loop_control_maps

Get a pair of maps (exit_map, loop_head_to_guard_map) where exit_map : exit_node -> loop_head set (i.e. target of the back edges) loop_head_to_guard_map : loop_head -> guard_nodes and guard_nodes contains the nodes that may affect the looping behavior, i.e. occur in the guard of the loop conditional.

val get_loop_head_to_loop_nodes : - IR.Procdesc.Node.t list IR.Procdesc.NodeMap.t -> - Control.GuardNodes.t Checkers.Control.LoopHeadToGuardNodes.t

Get a map from loop head -> all the nodes included in the corresponding loop

+ Control.loop_control_maps

Get a pair of maps (exit_map, loop_head_to_guard_map) where exit_map : exit_node -> loop_head set (i.e. target of the back edges) loop_head_to_guard_map : loop_head -> guard_nodes and guard_nodes contains the nodes that may affect the looping behavior, i.e. occur in the guard of the loop conditional.

diff --git a/website/static/odoc/next/infer/Checkers/ReachingDefs/Defs/index.html b/website/static/odoc/next/infer/Checkers/ReachingDefs/Defs/index.html index addb641c005..d1bf974c616 100644 --- a/website/static/odoc/next/infer/Checkers/ReachingDefs/Defs/index.html +++ b/website/static/odoc/next/infer/Checkers/ReachingDefs/Defs/index.html @@ -1,2 +1,6 @@ -Defs (infer.Checkers.ReachingDefs.Defs)

Module ReachingDefs.Defs

The node in which the reaching definition x := e is defined.

A definition x :=e, declared at node N, reaches the current node if there is a path from node N to the current node such that x is not modified along the path *

type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib__PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool
val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t
val is_bottom : t -> bool
+Defs (infer.Checkers.ReachingDefs.Defs)

Module ReachingDefs.Defs

The node in which the reaching definition x := e is defined.

A definition x :=e, declared at node N, reaches the current node if there is a path from node N to the current node such that x is not modified along the path *

include IStdlib.PrettyPrintable.PPSet + with type elt = IR.Procdesc.Node.t + with type t = IR.Procdesc.NodeSet.t
include Stdlib.Set.S + with type elt = IR.Procdesc.Node.t + with type t = IR.Procdesc.NodeSet.t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
include Absint.AbstractDomain.WithBottom with type t := t
include Absint.AbstractDomain.S with type t := t
include Absint.AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

diff --git a/website/static/odoc/next/infer/Checkers/ReachingDefs/index.html b/website/static/odoc/next/infer/Checkers/ReachingDefs/index.html index 73604222e09..ef2edf5692d 100644 --- a/website/static/odoc/next/infer/Checkers/ReachingDefs/index.html +++ b/website/static/odoc/next/infer/Checkers/ReachingDefs/index.html @@ -1,5 +1,5 @@ -ReachingDefs (infer.Checkers.ReachingDefs)

Module Checkers.ReachingDefs

module Defs : sig ... end

The node in which the reaching definition x := e is defined.

module ReachingDefsMap : sig ... end

Map var -> its reaching definition

type invariant_map
val compute_invariant_map : IR.Procdesc.t -> invariant_map
val extract_post : +ReachingDefs (infer.Checkers.ReachingDefs)

Module Checkers.ReachingDefs

The node in which the reaching definition x := e is defined.

module ReachingDefsMap : sig ... end

Map var -> its reaching definition

type invariant_map
val compute_invariant_map : IR.Procdesc.t -> invariant_map
val extract_post : IR.Procdesc.Node.id -> invariant_map -> ReachingDefsMap.t option
diff --git a/website/static/odoc/next/infer/Checkers/SiofTrace/GlobalVar/index.html b/website/static/odoc/next/infer/Checkers/SiofTrace/GlobalVar/index.html index 7c6964b3bde..ba398e479cb 100644 --- a/website/static/odoc/next/infer/Checkers/SiofTrace/GlobalVar/index.html +++ b/website/static/odoc/next/infer/Checkers/SiofTrace/GlobalVar/index.html @@ -1,2 +1,2 @@ -GlobalVar (infer.Checkers.SiofTrace.GlobalVar)

Module SiofTrace.GlobalVar

include IStdlib.IStd.Caml.Set.OrderedType with type t = IR.Pvar.t
type t = IR.Pvar.t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
+GlobalVar (infer.Checkers.SiofTrace.GlobalVar)

Module SiofTrace.GlobalVar

include Stdlib.Set.OrderedType with type t = IR.Pvar.t
type t = IR.Pvar.t
val compare : t -> t -> int
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
diff --git a/website/static/odoc/next/infer/Checkers/SiofTrace/GlobalVarSet/index.html b/website/static/odoc/next/infer/Checkers/SiofTrace/GlobalVarSet/index.html index 6eb9381d9cd..21b1879d169 100644 --- a/website/static/odoc/next/infer/Checkers/SiofTrace/GlobalVarSet/index.html +++ b/website/static/odoc/next/infer/Checkers/SiofTrace/GlobalVarSet/index.html @@ -1,2 +1,2 @@ -GlobalVarSet (infer.Checkers.SiofTrace.GlobalVarSet)

Module SiofTrace.GlobalVarSet

include IStdlib.IStd.Caml.Set.S with type elt = IR.Pvar.t
type elt = IR.Pvar.t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+GlobalVarSet (infer.Checkers.SiofTrace.GlobalVarSet)

Module SiofTrace.GlobalVarSet

include Stdlib.Set.S with type elt = IR.Pvar.t
type elt = IR.Pvar.t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Checkers/SiofTrace/Sink/Set/index.html b/website/static/odoc/next/infer/Checkers/SiofTrace/Sink/Set/index.html index 5b084605bac..9f10603caae 100644 --- a/website/static/odoc/next/infer/Checkers/SiofTrace/Sink/Set/index.html +++ b/website/static/odoc/next/infer/Checkers/SiofTrace/Sink/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Checkers.SiofTrace.Sink.Set)

Module Sink.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Checkers.SiofTrace.Sink.Set)

Module Sink.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Checkers/SiofTrace/Source/Set/index.html b/website/static/odoc/next/infer/Checkers/SiofTrace/Source/Set/index.html index eea4e8cf162..f70f6c98b3a 100644 --- a/website/static/odoc/next/infer/Checkers/SiofTrace/Source/Set/index.html +++ b/website/static/odoc/next/infer/Checkers/SiofTrace/Source/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Checkers.SiofTrace.Source.Set)

Module Source.Set

include IStdlib.IStd.Caml.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+Set (infer.Checkers.SiofTrace.Source.Set)

Module Source.Set

include Stdlib.Set.S with type elt = t
type elt = t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/Checkers/index.html b/website/static/odoc/next/infer/Checkers/index.html index 862cd587b18..8860b3d1fb3 100644 --- a/website/static/odoc/next/infer/Checkers/index.html +++ b/website/static/odoc/next/infer/Checkers/index.html @@ -1,2 +1,2 @@ -Checkers (infer.Checkers)

Module Checkers

module AddressTaken : sig ... end
module AnnotationReachability : sig ... end
module AnnotationReachabilityDomain : sig ... end
module ComputeCapturedInfo : sig ... end
module Control : sig ... end
module DisjunctiveDemo : sig ... end
module Dominators : sig ... end
module ExternalConfigImpactData : sig ... end
module FragmentRetainsViewChecker : sig ... end
module Impurity : sig ... end
module ImpurityDomain : sig ... end
module InefficientKeysetIterator : sig ... end
module Lineage : sig ... end
module LineageBase : sig ... end
module LineageShape : sig ... end
module LithoDomain : sig ... end
module Liveness : sig ... end
module LoopInvariant : sig ... end
module Loop_control : sig ... end
module ParameterNotNullChecked : sig ... end

Checker for when an Objective-C block is a parameter of a function or method, and it's executed in the method's body without being checked for null first.

module PurityAnalysis : sig ... end
module PurityChecker : sig ... end
module PurityDomain : sig ... end
module PurityModels : sig ... end
module ReachingDefs : sig ... end
module RequiredProps : sig ... end
module ScopeLeakage : sig ... end
module SelfInBlock : sig ... end
module SilValidation : sig ... end
module Siof : sig ... end
module SiofDomain : sig ... end
module SiofTrace : sig ... end
+Checkers (infer.Checkers)

Module Checkers

module AddressTaken : sig ... end
module AnnotationReachability : sig ... end
module AnnotationReachabilityDomain : sig ... end
module ComputeCapturedInfo : sig ... end
module Control : sig ... end
module DisjunctiveDemo : sig ... end
module DispatchOnceStaticInit : sig ... end
module Dominators : sig ... end
module ExternalConfigImpactData : sig ... end
module FragmentRetainsViewChecker : sig ... end
module Impurity : sig ... end
module ImpurityDomain : sig ... end
module InefficientKeysetIterator : sig ... end
module Lineage : sig ... end
module LineageBase : sig ... end
module LineageShape : sig ... end
module LithoDomain : sig ... end
module Liveness : sig ... end
module LoopInvariant : sig ... end
module Loop_control : sig ... end
module ParameterNotNullChecked : sig ... end

Checker for when an Objective-C block is a parameter of a function or method, and it's executed in the method's body without being checked for null first.

module PurityAnalysis : sig ... end
module PurityChecker : sig ... end
module PurityDomain : sig ... end
module PurityModels : sig ... end
module ReachingDefs : sig ... end
module RequiredProps : sig ... end
module ScopeLeakage : sig ... end
module SelfInBlock : sig ... end
module SilValidation : sig ... end
module Siof : sig ... end
module SiofDomain : sig ... end
module SiofTrace : sig ... end
diff --git a/website/static/odoc/next/infer/ClangFrontend/CContext/CXXTemporarySet/index.html b/website/static/odoc/next/infer/ClangFrontend/CContext/CXXTemporarySet/index.html index a94b536802d..c1f5c493bd0 100644 --- a/website/static/odoc/next/infer/ClangFrontend/CContext/CXXTemporarySet/index.html +++ b/website/static/odoc/next/infer/ClangFrontend/CContext/CXXTemporarySet/index.html @@ -1,2 +1,2 @@ -CXXTemporarySet (infer.ClangFrontend.CContext.CXXTemporarySet)

Module CContext.CXXTemporarySet

include IStdlib.IStd.Caml.Set.S with type elt = cxx_temporary
type elt = cxx_temporary
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
+CXXTemporarySet (infer.ClangFrontend.CContext.CXXTemporarySet)

Module CContext.CXXTemporarySet

include Stdlib.Set.S with type elt = cxx_temporary
type elt = cxx_temporary
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val disjoint : t -> t -> bool
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val filter_map : (elt -> elt option) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val min_elt_opt : t -> elt option
val max_elt : t -> elt
val max_elt_opt : t -> elt option
val choose : t -> elt
val choose_opt : t -> elt option
val split : elt -> t -> t * bool * t
val find : elt -> t -> elt
val find_opt : elt -> t -> elt option
val find_first : (elt -> bool) -> t -> elt
val find_first_opt : (elt -> bool) -> t -> elt option
val find_last : (elt -> bool) -> t -> elt
val find_last_opt : (elt -> bool) -> t -> elt option
val of_list : elt list -> t
val to_seq_from : elt -> t -> elt Stdlib.Seq.t
val to_seq : t -> elt Stdlib.Seq.t
val to_rev_seq : t -> elt Stdlib.Seq.t
val add_seq : elt Stdlib.Seq.t -> t -> t
val of_seq : elt Stdlib.Seq.t -> t
val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
diff --git a/website/static/odoc/next/infer/ClangFrontend/CContext/index.html b/website/static/odoc/next/infer/ClangFrontend/CContext/index.html index e2b52b06677..83f96f00d0a 100644 --- a/website/static/odoc/next/infer/ClangFrontend/CContext/index.html +++ b/website/static/odoc/next/infer/ClangFrontend/CContext/index.html @@ -2,8 +2,8 @@ CContext (infer.ClangFrontend.CContext)

Module ClangFrontend.CContext

Contains current class and current method to be translated as well as local variables, and the cfg, and tenv corresponding to the current file.

module StmtMap = ClangPointers.Map
type cxx_temporary = {
  1. pvar : IR.Pvar.t;
  2. typ : IR.Typ.t;
  3. qual_type : ATDGenerated.Clang_ast_t.qual_type;
  4. marker : (IR.Pvar.t * IR.Sil.if_kind) option;
    (*

    Some (m, _) means that creating pvar should also set m to 1 so that we know whether pvar needs to be destroyed after the current full-expression

    *)
}
val pp_var_to_destroy : Stdlib.Format.formatter -> var_to_destroy -> unit
type curr_class =
  1. | ContextClsDeclPtr of int
  2. | ContextNoCls
val compare_curr_class : curr_class -> curr_class -> int
type str_node_map = (string, IR.Procdesc.Node.t) IStdlib.IStd.Caml.Hashtbl.t
type t = {
  1. translation_unit_context : CFrontend_config.translation_unit_context;
  2. tenv : IR.Tenv.t;
  3. cfg : IR.Cfg.t;
  4. procdesc : IR.Procdesc.t;
  5. immediate_curr_class : curr_class;
  6. return_param_typ : IR.Typ.t option;
  7. outer_context : t option;
    (*

    in case of objc blocks, the context of the method containing the block

    *)
  8. mutable blocks_static_vars : (IR.Pvar.t * IR.Typ.t) list IR.Procname.Map.t;
  9. label_map : str_node_map;
  10. vars_to_destroy : var_to_destroy list StmtMap.t;
    (*

    mapping from a statement to a list of variables, that go out of scope after the end of the statement

    *)
  11. temporary_names : (ATDGenerated.Clang_ast_t.pointer, IR.Pvar.t * IR.Typ.t) - IStdlib.IStd.Caml.Hashtbl.t;
  12. temporaries_constructor_markers : (IR.Pvar.t * IR.Typ.t) IR.Pvar.Map.t;
    (*

    In order to know when to destruct C++ temporaries created in expressions containing conditionals (e.g. to hold the object created by X() in b?foo(X()):goo()), we associate "markers" to each one of them, set to true if and only if the temporary has been created. This is the map associating each such C++ temporary with its marker variable.

    *)
}
val get_curr_class : t -> curr_class
val get_curr_class_typename : + * ATDGenerated.Clang_ast_t.var_decl_info
  • | CXXTemporary of cxx_temporary
  • val pp_var_to_destroy : Stdlib.Format.formatter -> var_to_destroy -> unit
    type curr_class =
    1. | ContextClsDeclPtr of int
    2. | ContextNoCls
    val compare_curr_class : curr_class -> curr_class -> int
    type str_node_map = (string, IR.Procdesc.Node.t) Stdlib.Hashtbl.t
    type t = {
    1. translation_unit_context : CFrontend_config.translation_unit_context;
    2. tenv : IR.Tenv.t;
    3. cfg : IR.Cfg.t;
    4. procdesc : IR.Procdesc.t;
    5. immediate_curr_class : curr_class;
    6. return_param_typ : IR.Typ.t option;
    7. outer_context : t option;
      (*

      in case of objc blocks, the context of the method containing the block

      *)
    8. mutable blocks_static_vars : (IR.Pvar.t * IR.Typ.t) list IR.Procname.Map.t;
    9. label_map : str_node_map;
    10. vars_to_destroy : var_to_destroy list StmtMap.t;
      (*

      mapping from a statement to a list of variables, that go out of scope after the end of the statement

      *)
    11. temporary_names : (ATDGenerated.Clang_ast_t.pointer, IR.Pvar.t * IR.Typ.t) + Stdlib.Hashtbl.t;
    12. temporaries_constructor_markers : (IR.Pvar.t * IR.Typ.t) IR.Pvar.Map.t;
      (*

      In order to know when to destruct C++ temporaries created in expressions containing conditionals (e.g. to hold the object created by X() in b?foo(X()):goo()), we associate "markers" to each one of them, set to true if and only if the temporary has been created. This is the map associating each such C++ temporary with its marker variable.

      *)
    }
    val get_curr_class : t -> curr_class
    val get_curr_class_typename : ATDGenerated.Clang_ast_t.stmt_info -> t -> IR.Typ.Name.t
    val get_curr_class_decl_ptr : diff --git a/website/static/odoc/next/infer/ClangFrontend/CMethodProperties/index.html b/website/static/odoc/next/infer/ClangFrontend/CMethodProperties/index.html index 9714762a108..54f173928fa 100644 --- a/website/static/odoc/next/infer/ClangFrontend/CMethodProperties/index.html +++ b/website/static/odoc/next/infer/ClangFrontend/CMethodProperties/index.html @@ -7,7 +7,7 @@ ATDGenerated.Clang_ast_t.decl -> ATDGenerated.Clang_ast_t.stmt option
    val get_point_of_instantiation : ATDGenerated.Clang_ast_t.decl -> - ATDGenerated.Clang_ast_t.source_location option
    val is_cpp_lambda_call_operator : ATDGenerated.Clang_ast_t.decl -> bool
    val is_cpp_const_member_fun : ATDGenerated.Clang_ast_t.decl -> bool
    val is_cpp_virtual : ATDGenerated.Clang_ast_t.decl -> bool
    val is_cpp_copy_assignment : ATDGenerated.Clang_ast_t.decl -> bool
    val is_cpp_copy_ctor : ATDGenerated.Clang_ast_t.decl -> bool
    val is_cpp_move_ctor : ATDGenerated.Clang_ast_t.decl -> bool
    val is_cpp_deleted : ATDGenerated.Clang_ast_t.decl -> bool
    val is_constexpr : ATDGenerated.Clang_ast_t.decl -> bool
    val get_init_list_instrs : + ATDGenerated.Clang_ast_t.source_location option
    val is_cpp_lambda_call_operator : ATDGenerated.Clang_ast_t.decl -> bool
    val is_cpp_const_member_fun : ATDGenerated.Clang_ast_t.decl -> bool
    val is_cpp_virtual : ATDGenerated.Clang_ast_t.decl -> bool
    val is_cpp_copy_assignment : ATDGenerated.Clang_ast_t.decl -> bool
    val is_cpp_copy_ctor : ATDGenerated.Clang_ast_t.decl -> bool
    val is_cpp_move_ctor : ATDGenerated.Clang_ast_t.decl -> bool
    val is_static_ctor : ATDGenerated.Clang_ast_t.decl -> bool
    val is_cpp_deleted : ATDGenerated.Clang_ast_t.decl -> bool
    val is_constexpr : ATDGenerated.Clang_ast_t.decl -> bool
    val get_pointer_to_property : ATDGenerated.Clang_ast_t.decl -> diff --git a/website/static/odoc/next/infer/ClangFrontend/CMethodSignature/index.html b/website/static/odoc/next/infer/ClangFrontend/CMethodSignature/index.html index 169a8f4fbe0..46d13e1d532 100644 --- a/website/static/odoc/next/infer/ClangFrontend/CMethodSignature/index.html +++ b/website/static/odoc/next/infer/ClangFrontend/CMethodSignature/index.html @@ -1,5 +1,5 @@ -CMethodSignature (infer.ClangFrontend.CMethodSignature)

    Module ClangFrontend.CMethodSignature

    Define the signature of a method consisting of its name, its arguments, return type, location and whether its an instance method.

    type param_type = {
    1. annot : IR.Annot.Item.t;
    2. is_no_escape_block_arg : bool;
    3. is_pointer_to_const : bool;
    4. is_reference : bool;
    5. name : IR.Mangled.t;
    6. typ : IR.Typ.t;
    }
    type t = {
    1. name : IR.Procname.t;
    2. access : ATDGenerated.Clang_ast_t.access_specifier;
    3. class_param : param_type option;
    4. params : param_type list;
    5. ret_type : IR.Typ.t * IR.Annot.Item.t;
    6. has_added_return_param : bool;
    7. is_ret_type_pod : bool;
    8. is_ret_constexpr : bool;
    9. attributes : ATDGenerated.Clang_ast_t.attribute list;
    10. loc : ATDGenerated.Clang_ast_t.source_range;
    11. method_kind : IR.ClangMethodKind.t;
    12. is_cpp_const_member_fun : bool;
    13. is_cpp_virtual : bool;
    14. is_cpp_copy_assignment : bool;
    15. is_cpp_copy_ctor : bool;
    16. is_cpp_move_ctor : bool;
    17. is_cpp_deleted : bool;
    18. is_cpp_implicit : bool;
    19. block_as_arg_attributes : IR.ProcAttributes.block_as_arg_attributes option;
    20. is_no_return : bool;
    21. is_variadic : bool;
    22. pointer_to_parent : ATDGenerated.Clang_ast_t.pointer option;
    23. pointer_to_property_opt : ATDGenerated.Clang_ast_t.pointer option;
    24. return_param_typ : IR.Typ.t option;
    }
    val is_getter : t -> bool
    val is_setter : t -> bool
    val mk : +CMethodSignature (infer.ClangFrontend.CMethodSignature)

    Module ClangFrontend.CMethodSignature

    Define the signature of a method consisting of its name, its arguments, return type, location and whether its an instance method.

    type param_type = {
    1. annot : IR.Annot.Item.t;
    2. is_no_escape_block_arg : bool;
    3. is_pointer_to_const : bool;
    4. is_reference : bool;
    5. name : IR.Mangled.t;
    6. typ : IR.Typ.t;
    }
    type t = {
    1. name : IR.Procname.t;
    2. access : ATDGenerated.Clang_ast_t.access_specifier;
    3. class_param : param_type option;
    4. params : param_type list;
    5. ret_type : IR.Typ.t * IR.Annot.Item.t;
    6. has_added_return_param : bool;
    7. is_ret_type_pod : bool;
    8. is_ret_constexpr : bool;
    9. attributes : ATDGenerated.Clang_ast_t.attribute list;
    10. loc : ATDGenerated.Clang_ast_t.source_range;
    11. method_kind : IR.ClangMethodKind.t;
    12. is_cpp_const_member_fun : bool;
    13. is_cpp_virtual : bool;
    14. is_cpp_copy_assignment : bool;
    15. is_cpp_copy_ctor : bool;
    16. is_cpp_move_ctor : bool;
    17. is_static_ctor : bool;
    18. is_cpp_deleted : bool;
    19. is_cpp_implicit : bool;
    20. block_as_arg_attributes : IR.ProcAttributes.block_as_arg_attributes option;
    21. is_no_return : bool;
    22. is_variadic : bool;
    23. pointer_to_parent : ATDGenerated.Clang_ast_t.pointer option;
    24. pointer_to_property_opt : ATDGenerated.Clang_ast_t.pointer option;
    25. return_param_typ : IR.Typ.t option;
    }
    val is_getter : t -> bool
    val is_setter : t -> bool
    val mk : IR.Procname.t -> param_type option -> param_type list -> @@ -15,6 +15,7 @@ ?is_cpp_copy_assignment:bool -> ?is_cpp_copy_ctor:bool -> ?is_cpp_move_ctor:bool -> + ?is_static_ctor:bool -> ?is_cpp_deleted:bool -> ?is_cpp_implicit:bool -> ?block_as_arg_attributes:IR.ProcAttributes.block_as_arg_attributes option -> diff --git a/website/static/odoc/next/infer/Concurrency/AbstractAddress/index.html b/website/static/odoc/next/infer/Concurrency/AbstractAddress/index.html index dfeed0a1b66..c5bec19e942 100644 --- a/website/static/odoc/next/infer/Concurrency/AbstractAddress/index.html +++ b/website/static/odoc/next/infer/Concurrency/AbstractAddress/index.html @@ -1,2 +1,2 @@ -AbstractAddress (infer.Concurrency.AbstractAddress)

    Module Concurrency.AbstractAddress

    module F = Stdlib.Format

    Type meant to represent abstract addresses based on access paths. It currently distinguishes between paths

    • rooted at formal parameters (these are identified by the parameter index and the path without the root variable, though that variable is kept for pretty printing);
    • rooted at global variables;
    • non access-path expressions representing class objects (java only).

    Notably, there are no addresses rooted at locals (because proving aliasing between those is difficult).

    There are two notions of equality:

    • Equality for comparing two addresses within the same thread/process/trace. Under this, identical globals and identical class objects compare equal. Parameter-rooted paths compare equal if their parameter indices, types and lists of accesses are equal.
    • Equality for comparing two addresses in two distinct threads/traces. Globals and class objects are compared in the same way, but parameter-rooted paths need only have equal access lists (ie x.f.g == y.f.g). This allows demonically aliasing parameters in *distinct* threads.
    include IStdlib.PrettyPrintable.PrintableOrderedType
    include IStdlib.IStd.Caml.Set.OrderedType
    type t
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val describe : F.formatter -> t -> unit

    human readable description

    val equal : t -> t -> bool
    val equal_across_threads : IR.Tenv.t -> t -> t -> bool
    val root_class : t -> IR.Typ.name option

    Class of the root variable of the expression representing the address

    val get_typ : IR.Tenv.t -> t -> IR.Typ.t option
    val make : Absint.FormalMap.t -> Absint.HilExp.t -> t option

    convert an expression to a canonical form for an address

    val is_class_object : t -> bool

    is the address a Java class object such as in synchronized(MyClass.class){} or static synchronized void foo()

    type subst

    A substitution from formal position indices to address options. None is used to for actuals that cannot be resolved to an address (eg local-rooted paths or arithmetic expressions).

    val pp_subst : F.formatter -> subst -> unit
    val make_subst : Absint.FormalMap.t -> Absint.HilExp.t list -> subst
    val apply_subst : subst -> t -> t option
    +AbstractAddress (infer.Concurrency.AbstractAddress)

    Module Concurrency.AbstractAddress

    module F = Stdlib.Format

    Type meant to represent abstract addresses based on access paths. It currently distinguishes between paths

    • rooted at formal parameters (these are identified by the parameter index and the path without the root variable, though that variable is kept for pretty printing);
    • rooted at global variables;
    • non access-path expressions representing class objects (java only).

    Notably, there are no addresses rooted at locals (because proving aliasing between those is difficult).

    There are two notions of equality:

    • Equality for comparing two addresses within the same thread/process/trace. Under this, identical globals and identical class objects compare equal. Parameter-rooted paths compare equal if their parameter indices, types and lists of accesses are equal.
    • Equality for comparing two addresses in two distinct threads/traces. Globals and class objects are compared in the same way, but parameter-rooted paths need only have equal access lists (ie x.f.g == y.f.g). This allows demonically aliasing parameters in *distinct* threads.
    include IStdlib.PrettyPrintable.PrintableOrderedType
    include Stdlib.Set.OrderedType
    type t
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val describe : F.formatter -> t -> unit

    human readable description

    val equal : t -> t -> bool
    val equal_across_threads : IR.Tenv.t -> t -> t -> bool
    val root_class : t -> IR.Typ.name option

    Class of the root variable of the expression representing the address

    val get_typ : IR.Tenv.t -> t -> IR.Typ.t option
    val make : Absint.FormalMap.t -> Absint.HilExp.t -> t option

    convert an expression to a canonical form for an address

    val is_class_object : t -> bool

    is the address a Java class object such as in synchronized(MyClass.class){} or static synchronized void foo()

    type subst

    A substitution from formal position indices to address options. None is used to for actuals that cannot be resolved to an address (eg local-rooted paths or arithmetic expressions).

    val pp_subst : F.formatter -> subst -> unit
    val make_subst : Absint.FormalMap.t -> Absint.HilExp.t list -> subst
    val apply_subst : subst -> t -> t option
    diff --git a/website/static/odoc/next/infer/Concurrency/RacerDDomain/AccessDomain/index.html b/website/static/odoc/next/infer/Concurrency/RacerDDomain/AccessDomain/index.html index 2a00736ec62..a79a2283d4d 100644 --- a/website/static/odoc/next/infer/Concurrency/RacerDDomain/AccessDomain/index.html +++ b/website/static/odoc/next/infer/Concurrency/RacerDDomain/AccessDomain/index.html @@ -1,2 +1,2 @@ -AccessDomain (infer.Concurrency.RacerDDomain.AccessDomain)

    Module RacerDDomain.AccessDomain

    include IStdlib.PrettyPrintable.PPSet with type elt = AccessSnapshot.t
    include IStdlib.IStd.Caml.Set.S with type elt = AccessSnapshot.t
    type elt = AccessSnapshot.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    +AccessDomain (infer.Concurrency.RacerDDomain.AccessDomain)

    Module RacerDDomain.AccessDomain

    include IStdlib.PrettyPrintable.PPSet with type elt = AccessSnapshot.t
    include Stdlib.Set.S with type elt = AccessSnapshot.t
    type elt = AccessSnapshot.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    diff --git a/website/static/odoc/next/infer/Concurrency/RacerDDomain/AccessSnapshot/FiniteSet/index.html b/website/static/odoc/next/infer/Concurrency/RacerDDomain/AccessSnapshot/FiniteSet/index.html index af8e8e20860..e1028a2362c 100644 --- a/website/static/odoc/next/infer/Concurrency/RacerDDomain/AccessSnapshot/FiniteSet/index.html +++ b/website/static/odoc/next/infer/Concurrency/RacerDDomain/AccessSnapshot/FiniteSet/index.html @@ -1,2 +1,2 @@ -FiniteSet (infer.Concurrency.RacerDDomain.AccessSnapshot.FiniteSet)

    Module AccessSnapshot.FiniteSet

    A powerset of traces.

    include Absint.AbstractDomain.FiniteSetS with type elt = t
    include IStdlib.PrettyPrintable.PPSet with type elt = t
    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    val with_callsite : t -> Absint.CallSite.t -> t

    Push given callsite onto all traces in set. Cf TraceElem.with_callsite

    +FiniteSet (infer.Concurrency.RacerDDomain.AccessSnapshot.FiniteSet)

    Module AccessSnapshot.FiniteSet

    A powerset of traces.

    include Absint.AbstractDomain.FiniteSetS with type elt = t
    include IStdlib.PrettyPrintable.PPSet with type elt = t
    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    val with_callsite : t -> Absint.CallSite.t -> t

    Push given callsite onto all traces in set. Cf TraceElem.with_callsite

    diff --git a/website/static/odoc/next/infer/Concurrency/RacerDDomain/AccessSnapshot/index.html b/website/static/odoc/next/infer/Concurrency/RacerDDomain/AccessSnapshot/index.html index 75da2a77e10..a13616b89df 100644 --- a/website/static/odoc/next/infer/Concurrency/RacerDDomain/AccessSnapshot/index.html +++ b/website/static/odoc/next/infer/Concurrency/RacerDDomain/AccessSnapshot/index.html @@ -1,2 +1,2 @@ -AccessSnapshot (infer.Concurrency.RacerDDomain.AccessSnapshot)

    Module RacerDDomain.AccessSnapshot

    snapshot of the relevant state at the time of a heap access: concurrent thread(s), lock(s) held, ownership precondition

    module AccessSnapshotElem : sig ... end
    include Absint.ExplicitTrace.TraceElem with type elem_t = AccessSnapshotElem.t
    type elem_t = AccessSnapshotElem.t
    type t = private {
    1. elem : elem_t;
    2. loc : IBase.Location.t;
    3. trace : Absint.CallSite.t list;
    }

    An elem which occured at loc, after the chain of steps (usually calls) in trace.

    Both pp and describe simply call the same function on the trace element.

    include Absint.ExplicitTrace.Element with type t := t
    include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
    include IStdlib.IStd.Caml.Set.OrderedType with type t := t
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val describe : Stdlib.Format.formatter -> t -> unit

    Pretty printer used for trace construction; pp is used for debug output.

    val make : elem_t -> IBase.Location.t -> t
    val map : f:(elem_t -> elem_t) -> t -> t
    val make_loc_trace : ?nesting:int -> t -> Absint.Errlog.loc_trace
    val with_callsite : t -> Absint.CallSite.t -> t

    Push given callsite onto trace, extending the call chain by one.

    A powerset of traces.

    val is_write : t -> bool

    is it a write OR a container write

    val is_container_write : t -> bool
    val get_loc : t -> IBase.Location.t
    val is_unprotected : t -> bool

    return true if not protected by lock, thread, or ownership

    +AccessSnapshot (infer.Concurrency.RacerDDomain.AccessSnapshot)

    Module RacerDDomain.AccessSnapshot

    snapshot of the relevant state at the time of a heap access: concurrent thread(s), lock(s) held, ownership precondition

    module AccessSnapshotElem : sig ... end
    include Absint.ExplicitTrace.TraceElem with type elem_t = AccessSnapshotElem.t
    type elem_t = AccessSnapshotElem.t
    type t = private {
    1. elem : elem_t;
    2. loc : IBase.Location.t;
    3. trace : Absint.CallSite.t list;
    }

    An elem which occured at loc, after the chain of steps (usually calls) in trace.

    Both pp and describe simply call the same function on the trace element.

    include Absint.ExplicitTrace.Element with type t := t
    include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
    include Stdlib.Set.OrderedType with type t := t
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val describe : Stdlib.Format.formatter -> t -> unit

    Pretty printer used for trace construction; pp is used for debug output.

    val make : elem_t -> IBase.Location.t -> t
    val map : f:(elem_t -> elem_t) -> t -> t
    val make_loc_trace : ?nesting:int -> t -> Absint.Errlog.loc_trace
    val with_callsite : t -> Absint.CallSite.t -> t

    Push given callsite onto trace, extending the call chain by one.

    A powerset of traces.

    val is_write : t -> bool

    is it a write OR a container write

    val is_container_write : t -> bool
    val get_loc : t -> IBase.Location.t
    val is_unprotected : t -> bool

    return true if not protected by lock, thread, or ownership

    diff --git a/website/static/odoc/next/infer/Concurrency/StarvationDomain/Acquisitions/index.html b/website/static/odoc/next/infer/Concurrency/StarvationDomain/Acquisitions/index.html index b16876cfd55..6db2344a995 100644 --- a/website/static/odoc/next/infer/Concurrency/StarvationDomain/Acquisitions/index.html +++ b/website/static/odoc/next/infer/Concurrency/StarvationDomain/Acquisitions/index.html @@ -1,2 +1,2 @@ -Acquisitions (infer.Concurrency.StarvationDomain.Acquisitions)

    Module StarvationDomain.Acquisitions

    A set of lock acquisitions with source locations and procnames.

    include IStdlib.PrettyPrintable.PPSet with type elt = Acquisition.t
    include IStdlib.IStd.Caml.Set.S with type elt = Acquisition.t
    type elt = Acquisition.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    val lock_is_held : Lock.t -> t -> bool

    is the given lock in the set

    val lock_is_held_in_other_thread : IR.Tenv.t -> Lock.t -> t -> bool

    is the given lock held, modulo memory abstraction across threads

    +Acquisitions (infer.Concurrency.StarvationDomain.Acquisitions)

    Module StarvationDomain.Acquisitions

    A set of lock acquisitions with source locations and procnames.

    include IStdlib.PrettyPrintable.PPSet with type elt = Acquisition.t
    include Stdlib.Set.S with type elt = Acquisition.t
    type elt = Acquisition.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    val lock_is_held : Lock.t -> t -> bool

    is the given lock in the set

    val lock_is_held_in_other_thread : IR.Tenv.t -> Lock.t -> t -> bool

    is the given lock held, modulo memory abstraction across threads

    diff --git a/website/static/odoc/next/infer/Concurrency/StarvationDomain/CriticalPair/index.html b/website/static/odoc/next/infer/Concurrency/StarvationDomain/CriticalPair/index.html index eba332d1ba5..38ceed6c4e8 100644 --- a/website/static/odoc/next/infer/Concurrency/StarvationDomain/CriticalPair/index.html +++ b/website/static/odoc/next/infer/Concurrency/StarvationDomain/CriticalPair/index.html @@ -1,5 +1,5 @@ -CriticalPair (infer.Concurrency.StarvationDomain.CriticalPair)

    Module StarvationDomain.CriticalPair

    A CriticalPairElement equipped with a call stack. The intuition is that if we have a critical pair `(locks, event)` in the summary of a method then there is a trace of that method where `event` occurs, and right before it occurs the locks held are exactly `locks` (no over/under approximation). We call it "critical" because the information here alone determines deadlock conditions.

    type t = private {
    1. elem : CriticalPairElement.t;
    2. loc : IBase.Location.t;
    3. trace : Absint.CallSite.t list;
    }
    include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
    include IStdlib.IStd.Caml.Set.OrderedType with type t := t
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val get_loc : t -> IBase.Location.t

    outermost callsite location

    val get_earliest_lock_or_call_loc : +CriticalPair (infer.Concurrency.StarvationDomain.CriticalPair)

    Module StarvationDomain.CriticalPair

    A CriticalPairElement equipped with a call stack. The intuition is that if we have a critical pair `(locks, event)` in the summary of a method then there is a trace of that method where `event` occurs, and right before it occurs the locks held are exactly `locks` (no over/under approximation). We call it "critical" because the information here alone determines deadlock conditions.

    type t = private {
    1. elem : CriticalPairElement.t;
    2. loc : IBase.Location.t;
    3. trace : Absint.CallSite.t list;
    }
    include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
    include Stdlib.Set.OrderedType with type t := t
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val get_loc : t -> IBase.Location.t

    outermost callsite location

    val get_earliest_lock_or_call_loc : procname:IR.Procname.t -> t -> IBase.Location.t

    outermost callsite location OR lock acquisition

    val may_deadlock : diff --git a/website/static/odoc/next/infer/Concurrency/StarvationDomain/CriticalPairs/index.html b/website/static/odoc/next/infer/Concurrency/StarvationDomain/CriticalPairs/index.html index e190fb879f3..a082c3194c4 100644 --- a/website/static/odoc/next/infer/Concurrency/StarvationDomain/CriticalPairs/index.html +++ b/website/static/odoc/next/infer/Concurrency/StarvationDomain/CriticalPairs/index.html @@ -1,2 +1,2 @@ -CriticalPairs (infer.Concurrency.StarvationDomain.CriticalPairs)

    Module StarvationDomain.CriticalPairs

    include IStdlib.PrettyPrintable.PPSet with type elt = CriticalPair.t
    include IStdlib.IStd.Caml.Set.S with type elt = CriticalPair.t
    type elt = CriticalPair.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    +CriticalPairs (infer.Concurrency.StarvationDomain.CriticalPairs)

    Module StarvationDomain.CriticalPairs

    include IStdlib.PrettyPrintable.PPSet with type elt = CriticalPair.t
    include Stdlib.Set.S with type elt = CriticalPair.t
    type elt = CriticalPair.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    diff --git a/website/static/odoc/next/infer/Concurrency/StarvationDomain/LazilyInitialized/index.html b/website/static/odoc/next/infer/Concurrency/StarvationDomain/LazilyInitialized/index.html index f5b128dcc74..0af8eb3caf7 100644 --- a/website/static/odoc/next/infer/Concurrency/StarvationDomain/LazilyInitialized/index.html +++ b/website/static/odoc/next/infer/Concurrency/StarvationDomain/LazilyInitialized/index.html @@ -1,4 +1,3 @@ LazilyInitialized (infer.Concurrency.StarvationDomain.LazilyInitialized)

    Module StarvationDomain.LazilyInitialized

    include IStdlib.PrettyPrintable.PPSet - with type elt = Absint.HilExp.AccessExpression.t
    include IStdlib.IStd.Caml.Set.S - with type elt = Absint.HilExp.AccessExpression.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    + with type elt = Absint.HilExp.AccessExpression.t
    include Stdlib.Set.S with type elt = Absint.HilExp.AccessExpression.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    diff --git a/website/static/odoc/next/infer/Concurrency/StarvationDomain/Lock/index.html b/website/static/odoc/next/infer/Concurrency/StarvationDomain/Lock/index.html index a1db36fe934..132ff417d2c 100644 --- a/website/static/odoc/next/infer/Concurrency/StarvationDomain/Lock/index.html +++ b/website/static/odoc/next/infer/Concurrency/StarvationDomain/Lock/index.html @@ -1,2 +1,2 @@ -Lock (infer.Concurrency.StarvationDomain.Lock)

    Module StarvationDomain.Lock

    Abstract address for a lock. There are two notions of equality:

    • Equality for comparing two addresses within the same thread/process/trace. Under this, identical globals and identical class objects compare equal. Locks represented by access paths rooted at method parameters must have equal access paths to compare equal. Paths rooted at locals are ignored.
    • Equality for comparing two addresses in two distinct threads/traces. Globals and class objects are compared in the same way, but locks represented by access paths rooted at parameters need only have equal access lists (ie x.f.g == y.f.g). This allows demonically aliasing parameters in *distinct* threads. This relation is used in may_deadlock.
    include module type of AbstractAddress
    module F = Stdlib.Format

    Type meant to represent abstract addresses based on access paths. It currently distinguishes between paths

    • rooted at formal parameters (these are identified by the parameter index and the path without the root variable, though that variable is kept for pretty printing);
    • rooted at global variables;
    • non access-path expressions representing class objects (java only).

    Notably, there are no addresses rooted at locals (because proving aliasing between those is difficult).

    There are two notions of equality:

    • Equality for comparing two addresses within the same thread/process/trace. Under this, identical globals and identical class objects compare equal. Parameter-rooted paths compare equal if their parameter indices, types and lists of accesses are equal.
    • Equality for comparing two addresses in two distinct threads/traces. Globals and class objects are compared in the same way, but parameter-rooted paths need only have equal access lists (ie x.f.g == y.f.g). This allows demonically aliasing parameters in *distinct* threads.
    include IStdlib.PrettyPrintable.PrintableOrderedType
    include IStdlib.IStd.Caml.Set.OrderedType
    type t
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val describe : F.formatter -> t -> unit

    human readable description

    val equal : t -> t -> bool
    val equal_across_threads : IR.Tenv.t -> t -> t -> bool
    val root_class : t -> IR.Typ.name option

    Class of the root variable of the expression representing the address

    val get_typ : IR.Tenv.t -> t -> IR.Typ.t option
    val make : Absint.FormalMap.t -> Absint.HilExp.t -> t option

    convert an expression to a canonical form for an address

    val is_class_object : t -> bool

    is the address a Java class object such as in synchronized(MyClass.class){} or static synchronized void foo()

    type subst

    A substitution from formal position indices to address options. None is used to for actuals that cannot be resolved to an address (eg local-rooted paths or arithmetic expressions).

    val pp_subst : F.formatter -> subst -> unit
    val make_subst : Absint.FormalMap.t -> Absint.HilExp.t list -> subst
    val apply_subst : subst -> t -> t option
    val pp_locks : F.formatter -> t -> unit
    val make_java_synchronized : Absint.FormalMap.t -> IR.Procname.t -> t option

    create the monitor locked when entering a synchronized java method

    val compare_wrt_reporting : t -> t -> int

    a stable order for avoiding reporting deadlocks twice based on the root variable type

    +Lock (infer.Concurrency.StarvationDomain.Lock)

    Module StarvationDomain.Lock

    Abstract address for a lock. There are two notions of equality:

    • Equality for comparing two addresses within the same thread/process/trace. Under this, identical globals and identical class objects compare equal. Locks represented by access paths rooted at method parameters must have equal access paths to compare equal. Paths rooted at locals are ignored.
    • Equality for comparing two addresses in two distinct threads/traces. Globals and class objects are compared in the same way, but locks represented by access paths rooted at parameters need only have equal access lists (ie x.f.g == y.f.g). This allows demonically aliasing parameters in *distinct* threads. This relation is used in may_deadlock.
    include module type of AbstractAddress
    module F = Stdlib.Format

    Type meant to represent abstract addresses based on access paths. It currently distinguishes between paths

    • rooted at formal parameters (these are identified by the parameter index and the path without the root variable, though that variable is kept for pretty printing);
    • rooted at global variables;
    • non access-path expressions representing class objects (java only).

    Notably, there are no addresses rooted at locals (because proving aliasing between those is difficult).

    There are two notions of equality:

    • Equality for comparing two addresses within the same thread/process/trace. Under this, identical globals and identical class objects compare equal. Parameter-rooted paths compare equal if their parameter indices, types and lists of accesses are equal.
    • Equality for comparing two addresses in two distinct threads/traces. Globals and class objects are compared in the same way, but parameter-rooted paths need only have equal access lists (ie x.f.g == y.f.g). This allows demonically aliasing parameters in *distinct* threads.
    include IStdlib.PrettyPrintable.PrintableOrderedType
    include Stdlib.Set.OrderedType
    type t
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val describe : F.formatter -> t -> unit

    human readable description

    val equal : t -> t -> bool
    val equal_across_threads : IR.Tenv.t -> t -> t -> bool
    val root_class : t -> IR.Typ.name option

    Class of the root variable of the expression representing the address

    val get_typ : IR.Tenv.t -> t -> IR.Typ.t option
    val make : Absint.FormalMap.t -> Absint.HilExp.t -> t option

    convert an expression to a canonical form for an address

    val is_class_object : t -> bool

    is the address a Java class object such as in synchronized(MyClass.class){} or static synchronized void foo()

    type subst

    A substitution from formal position indices to address options. None is used to for actuals that cannot be resolved to an address (eg local-rooted paths or arithmetic expressions).

    val pp_subst : F.formatter -> subst -> unit
    val make_subst : Absint.FormalMap.t -> Absint.HilExp.t list -> subst
    val apply_subst : subst -> t -> t option
    val pp_locks : F.formatter -> t -> unit
    val make_java_synchronized : Absint.FormalMap.t -> IR.Procname.t -> t option

    create the monitor locked when entering a synchronized java method

    val compare_wrt_reporting : t -> t -> int

    a stable order for avoiding reporting deadlocks twice based on the root variable type

    diff --git a/website/static/odoc/next/infer/Concurrency/StarvationDomain/NullLocs/index.html b/website/static/odoc/next/infer/Concurrency/StarvationDomain/NullLocs/index.html index a1d3f3712e5..8f4eb97a7e0 100644 --- a/website/static/odoc/next/infer/Concurrency/StarvationDomain/NullLocs/index.html +++ b/website/static/odoc/next/infer/Concurrency/StarvationDomain/NullLocs/index.html @@ -1,4 +1,3 @@ NullLocs (infer.Concurrency.StarvationDomain.NullLocs)

    Module StarvationDomain.NullLocs

    include IStdlib.PrettyPrintable.PPSet - with type elt = Absint.HilExp.AccessExpression.t
    include IStdlib.IStd.Caml.Set.S - with type elt = Absint.HilExp.AccessExpression.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithTop with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val top : t
    val is_top : t -> bool
    + with type elt = Absint.HilExp.AccessExpression.t
    include Stdlib.Set.S with type elt = Absint.HilExp.AccessExpression.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithTop with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val top : t
    val is_top : t -> bool
    diff --git a/website/static/odoc/next/infer/Concurrency/StarvationDomain/NullLocsCriticalPairs/index.html b/website/static/odoc/next/infer/Concurrency/StarvationDomain/NullLocsCriticalPairs/index.html index fb34ed96353..1d81cbfaf0d 100644 --- a/website/static/odoc/next/infer/Concurrency/StarvationDomain/NullLocsCriticalPairs/index.html +++ b/website/static/odoc/next/infer/Concurrency/StarvationDomain/NullLocsCriticalPairs/index.html @@ -1,2 +1,2 @@ -NullLocsCriticalPairs (infer.Concurrency.StarvationDomain.NullLocsCriticalPairs)

    Module StarvationDomain.NullLocsCriticalPairs

    include IStdlib.PrettyPrintable.PPSet
    include IStdlib.IStd.Caml.Set.S
    type elt
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    +NullLocsCriticalPairs (infer.Concurrency.StarvationDomain.NullLocsCriticalPairs)

    Module StarvationDomain.NullLocsCriticalPairs

    include IStdlib.PrettyPrintable.PPSet
    include Stdlib.Set.S
    type elt
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    diff --git a/website/static/odoc/next/infer/Concurrency/StarvationDomain/ScheduledWorkDomain/index.html b/website/static/odoc/next/infer/Concurrency/StarvationDomain/ScheduledWorkDomain/index.html index e5f8558bd3f..186ff13d87e 100644 --- a/website/static/odoc/next/infer/Concurrency/StarvationDomain/ScheduledWorkDomain/index.html +++ b/website/static/odoc/next/infer/Concurrency/StarvationDomain/ScheduledWorkDomain/index.html @@ -1,2 +1,2 @@ -ScheduledWorkDomain (infer.Concurrency.StarvationDomain.ScheduledWorkDomain)

    Module StarvationDomain.ScheduledWorkDomain

    include IStdlib.PrettyPrintable.PPSet with type elt = ScheduledWorkItem.t
    include IStdlib.IStd.Caml.Set.S with type elt = ScheduledWorkItem.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    +ScheduledWorkDomain (infer.Concurrency.StarvationDomain.ScheduledWorkDomain)

    Module StarvationDomain.ScheduledWorkDomain

    include IStdlib.PrettyPrintable.PPSet with type elt = ScheduledWorkItem.t
    include Stdlib.Set.S with type elt = ScheduledWorkItem.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    diff --git a/website/static/odoc/next/infer/Concurrency/StarvationDomain/ScheduledWorkItem/index.html b/website/static/odoc/next/infer/Concurrency/StarvationDomain/ScheduledWorkItem/index.html index f0816dbf60a..49afd76d6e0 100644 --- a/website/static/odoc/next/infer/Concurrency/StarvationDomain/ScheduledWorkItem/index.html +++ b/website/static/odoc/next/infer/Concurrency/StarvationDomain/ScheduledWorkItem/index.html @@ -1,2 +1,2 @@ -ScheduledWorkItem (infer.Concurrency.StarvationDomain.ScheduledWorkItem)

    Module StarvationDomain.ScheduledWorkItem

    A record of scheduled parallel work: the method scheduled to run, where, and on what thread.

    type t = {
    1. procname : IR.Procname.t;
    2. loc : IBase.Location.t;
    3. thread : ThreadDomain.t;
    }
    include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
    include IStdlib.IStd.Caml.Set.OrderedType with type t := t
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    +ScheduledWorkItem (infer.Concurrency.StarvationDomain.ScheduledWorkItem)

    Module StarvationDomain.ScheduledWorkItem

    A record of scheduled parallel work: the method scheduled to run, where, and on what thread.

    type t = {
    1. procname : IR.Procname.t;
    2. loc : IBase.Location.t;
    3. thread : ThreadDomain.t;
    }
    include IStdlib.PrettyPrintable.PrintableOrderedType with type t := t
    include Stdlib.Set.OrderedType with type t := t
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Costlib/ConfigImpactAnalysis/LatentConfigs/index.html b/website/static/odoc/next/infer/Costlib/ConfigImpactAnalysis/LatentConfigs/index.html index 5a5b117afef..1d05f93304e 100644 --- a/website/static/odoc/next/infer/Costlib/ConfigImpactAnalysis/LatentConfigs/index.html +++ b/website/static/odoc/next/infer/Costlib/ConfigImpactAnalysis/LatentConfigs/index.html @@ -1,2 +1,2 @@ -LatentConfigs (infer.Costlib.ConfigImpactAnalysis.LatentConfigs)

    Module ConfigImpactAnalysis.LatentConfigs

    include IStdlib.PrettyPrintable.PPSet with type elt = LatentConfig.t
    include IStdlib.IStd.Caml.Set.S with type elt = LatentConfig.t
    type elt = LatentConfig.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    +LatentConfigs (infer.Costlib.ConfigImpactAnalysis.LatentConfigs)

    Module ConfigImpactAnalysis.LatentConfigs

    include IStdlib.PrettyPrintable.PPSet with type elt = LatentConfig.t
    include Stdlib.Set.S with type elt = LatentConfig.t
    type elt = LatentConfig.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    diff --git a/website/static/odoc/next/infer/Costlib/ConfigImpactAnalysis/UncheckedCallees/index.html b/website/static/odoc/next/infer/Costlib/ConfigImpactAnalysis/UncheckedCallees/index.html index ca18b26c9d8..252df0f7643 100644 --- a/website/static/odoc/next/infer/Costlib/ConfigImpactAnalysis/UncheckedCallees/index.html +++ b/website/static/odoc/next/infer/Costlib/ConfigImpactAnalysis/UncheckedCallees/index.html @@ -1,2 +1,2 @@ -UncheckedCallees (infer.Costlib.ConfigImpactAnalysis.UncheckedCallees)

    Module ConfigImpactAnalysis.UncheckedCallees

    include Absint.AbstractDomain.FiniteSetS with type elt = UncheckedCallee.t
    include IStdlib.PrettyPrintable.PPSet with type elt = UncheckedCallee.t
    include IStdlib.IStd.Caml.Set.S with type elt = UncheckedCallee.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    val encode : t -> string
    val decode : string -> t
    val pp_without_location : Stdlib.Format.formatter -> t -> unit
    +UncheckedCallees (infer.Costlib.ConfigImpactAnalysis.UncheckedCallees)

    Module ConfigImpactAnalysis.UncheckedCallees

    include Absint.AbstractDomain.FiniteSetS with type elt = UncheckedCallee.t
    include IStdlib.PrettyPrintable.PPSet with type elt = UncheckedCallee.t
    include Stdlib.Set.S with type elt = UncheckedCallee.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include Absint.AbstractDomain.WithBottom with type t := t
    include Absint.AbstractDomain.S with type t := t
    include Absint.AbstractDomain.Comparable with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    val encode : t -> string
    val decode : string -> t
    val pp_without_location : Stdlib.Format.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/IBase/Checker/Set/index.html b/website/static/odoc/next/infer/IBase/Checker/Set/index.html index 08aaac00083..736b374fb29 100644 --- a/website/static/odoc/next/infer/IBase/Checker/Set/index.html +++ b/website/static/odoc/next/infer/IBase/Checker/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.IBase.Checker.Set)

    Module Checker.Set

    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.IBase.Checker.Set)

    Module Checker.Set

    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/IBase/Checker/index.html b/website/static/odoc/next/infer/IBase/Checker/index.html index d24cbd6549b..59653b8af80 100644 --- a/website/static/odoc/next/infer/IBase/Checker/index.html +++ b/website/static/odoc/next/infer/IBase/Checker/index.html @@ -1,2 +1,2 @@ -Checker (infer.IBase.Checker)

    Module IBase.Checker

    module F = Stdlib.Format
    type t =
    1. | AnnotationReachability
    2. | Biabduction
    3. | BufferOverrunAnalysis
    4. | BufferOverrunChecker
    5. | ConfigImpactAnalysis
    6. | Cost
    7. | DisjunctiveDemo
    8. | FragmentRetainsView
    9. | Impurity
    10. | InefficientKeysetIterator
    11. | Lineage
    12. | LineageShape
    13. | LithoRequiredProps
    14. | Liveness
    15. | LoopHoisting
    16. | ParameterNotNullChecked
    17. | Pulse
    18. | PurityAnalysis
    19. | PurityChecker
    20. | RacerD
    21. | ResourceLeakLabExercise
    22. | SILValidation
    23. | SIOF
    24. | ScopeLeakage
    25. | SelfInBlock
    26. | Starvation
    27. | Topl
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_enumerate_lib.Enumerable.S with type t := t
    val all : t list
    type support =
    1. | NoSupport
      (*

      checker does not run at all for this language

      *)
    2. | ExperimentalSupport
      (*

      checker runs but is not expected to give reasonable results

      *)
    3. | Support
      (*

      checker is expected to give reasonable results

      *)

    per-language support for each checker

    type cli_flags = {
    1. deprecated : string list;
      (*

      More command-line flags, similar to ~deprecated arguments in CommandLineOption.

      *)
    2. show_in_help : bool;
    }
    type kind =
    1. | UserFacing of {
      1. title : string;
        (*

        the title of the documentation web page

        *)
      2. markdown_body : string;
        (*

        main text of the documentation

        *)
      }
      (*

      can report issues to users

      *)
    2. | UserFacingDeprecated of {
      1. title : string;
        (*

        the title of the documentation web page

        *)
      2. markdown_body : string;
        (*

        main text of the documentation

        *)
      3. deprecation_message : string;
      }
      (*

      can report issues to users but should probably be deleted from infer

      *)
    3. | Internal
      (*

      Analysis that only serves other analyses. Do not use to mean experimental! Please still document experimental checkers as they will become non-experimental.

      *)
    4. | Exercise
      (*

      reserved for the "resource leak" lab exercise

      *)
    type config = {
    1. id : string;
      (*

      Unique identifier. Used to generate web URLs for the documentation as well as the flag to enable this option on the command line.

      *)
    2. kind : kind;
    3. support : Language.t -> support;
    4. short_documentation : string;
      (*

      used in man pages and as a short intro on the website

      *)
    5. cli_flags : cli_flags option;
      (*

      If None then the checker cannot be enabled/disabled from the command line.

      *)
    6. enabled_by_default : bool;
    7. activates : t list;
      (*

      list of checkers that get enabled when this checker is enabled

      *)
    }
    val config : t -> config
    val get_id : t -> string

    get_id c is (config c).id

    val from_id : string -> t option
    val pp_manual : F.formatter -> t -> unit

    prints a short explanation of the checker; used for the man pages

    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    val get_dependencies : t -> Set.t
    +Checker (infer.IBase.Checker)

    Module IBase.Checker

    module F = Stdlib.Format
    type t =
    1. | AnnotationReachability
    2. | Biabduction
    3. | BufferOverrunAnalysis
    4. | BufferOverrunChecker
    5. | ConfigImpactAnalysis
    6. | Cost
    7. | DisjunctiveDemo
    8. | DispatchOnceStaticInit
    9. | FragmentRetainsView
    10. | Impurity
    11. | InefficientKeysetIterator
    12. | Lineage
    13. | LineageShape
    14. | LithoRequiredProps
    15. | Liveness
    16. | LoopHoisting
    17. | ParameterNotNullChecked
    18. | Pulse
    19. | PurityAnalysis
    20. | PurityChecker
    21. | RacerD
    22. | ResourceLeakLabExercise
    23. | SILValidation
    24. | SIOF
    25. | ScopeLeakage
    26. | SelfInBlock
    27. | Starvation
    28. | Topl
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_enumerate_lib.Enumerable.S with type t := t
    val all : t list
    type support =
    1. | NoSupport
      (*

      checker does not run at all for this language

      *)
    2. | ExperimentalSupport
      (*

      checker runs but is not expected to give reasonable results

      *)
    3. | Support
      (*

      checker is expected to give reasonable results

      *)

    per-language support for each checker

    type cli_flags = {
    1. deprecated : string list;
      (*

      More command-line flags, similar to ~deprecated arguments in CommandLineOption.

      *)
    2. show_in_help : bool;
    }
    type kind =
    1. | UserFacing of {
      1. title : string;
        (*

        the title of the documentation web page

        *)
      2. markdown_body : string;
        (*

        main text of the documentation

        *)
      }
      (*

      can report issues to users

      *)
    2. | UserFacingDeprecated of {
      1. title : string;
        (*

        the title of the documentation web page

        *)
      2. markdown_body : string;
        (*

        main text of the documentation

        *)
      3. deprecation_message : string;
      }
      (*

      can report issues to users but should probably be deleted from infer

      *)
    3. | Internal
      (*

      Analysis that only serves other analyses. Do not use to mean experimental! Please still document experimental checkers as they will become non-experimental.

      *)
    4. | Exercise
      (*

      reserved for the "resource leak" lab exercise

      *)
    type config = {
    1. id : string;
      (*

      Unique identifier. Used to generate web URLs for the documentation as well as the flag to enable this option on the command line.

      *)
    2. kind : kind;
    3. support : Language.t -> support;
    4. short_documentation : string;
      (*

      used in man pages and as a short intro on the website

      *)
    5. cli_flags : cli_flags option;
      (*

      If None then the checker cannot be enabled/disabled from the command line.

      *)
    6. enabled_by_default : bool;
    7. activates : t list;
      (*

      list of checkers that get enabled when this checker is enabled

      *)
    }
    val config : t -> config
    val get_id : t -> string

    get_id c is (config c).id

    val from_id : string -> t option
    val pp_manual : F.formatter -> t -> unit

    prints a short explanation of the checker; used for the man pages

    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    val get_dependencies : t -> Set.t
    diff --git a/website/static/odoc/next/infer/IBase/Config/index.html b/website/static/odoc/next/infer/IBase/Config/index.html index 580d63b6287..3488e678caa 100644 --- a/website/static/odoc/next/infer/IBase/Config/index.html +++ b/website/static/odoc/next/infer/IBase/Config/index.html @@ -1,5 +1,5 @@ -Config (infer.IBase.Config)

    Module IBase.Config

    Configuration values: either constant, determined at compile time, or set at startup time by system calls, environment variables, or command line options

    type os_type =
    1. | Unix
    2. | Win32
    3. | Cygwin
    type build_system =
    1. | BAnt
    2. | BBuck
    3. | BBuck2
    4. | BClang
    5. | BErlc
    6. | BGradle
    7. | BHackc
    8. | BJava
    9. | BJavac
    10. | BKotlinc
    11. | BMake
    12. | BMvn
    13. | BNdk
    14. | BPython
    15. | BRebar3
    16. | BXcode
    type scheduler =
    1. | File
    2. | Restart
    3. | SyntacticCallGraph
    val equal_scheduler : scheduler -> scheduler -> bool
    val string_of_scheduler : scheduler -> string
    val build_system_of_exe_name : string -> build_system
    val string_of_build_system : build_system -> string
    val env_inside_maven : IStdlib.IStd.Unix.env

    Constant configuration values

    val allow_listed_cpp_classes : string list
    val allow_listed_cpp_methods : string list
    val anonymous_block_prefix : string
    val biabduction_models_jar : string
    val biabduction_models_sql : string
    val bin_dir : string
    val bound_error_allowed_in_procedure_call : bool
    val clang_exe_aliases : string list
    val clang_initializer_prefix : string
    val clang_inner_destructor_prefix : string
    val clang_plugin_path : string
    val default_failure_name : string
    val dotty_frontend_output : string
    val etc_dir : string
    val fail_on_issue_exit_code : int
    val fcp_dir : string
    val idempotent_getters : bool
    val initial_analysis_time : float
    val is_running_unit_test : bool

    whether the infer executable looks like we are just running infer unit tests

    val java_lambda_marker_infix_generated_by_javalib : string

    marker to recognize methods generated by javalib to eliminate lambdas

    val java_lambda_marker_prefix_generated_by_javac : string

    marker to recognize methods generated by javac to build closures

    val kotlin_source_extension : string
    val lib_dir : string
    val max_narrows : int
    val max_widens : int
    val meet_level : int
    val nsnotification_center_checker_backend : bool
    val os_type : os_type
    val pp_version : Stdlib.Format.formatter -> unit -> unit
    val report_nullable_inconsistency : bool
    val save_compact_summaries : bool
    val smt_output : bool
    val wrappers_dir : string

    Configuration values specified by command-line options

    val abstract_pulse_models_for_erlang : bool
    val analysis_schedule_file : string option
    val annotation_reachability_apply_superclass_annotations : bool
    val annotation_reachability_check_loops : bool
    val annotation_reachability_custom_models : Yojson.Safe.t
    val annotation_reachability_custom_pairs : Yojson.Safe.t
    val annotation_reachability_expensive : bool
    val annotation_reachability_minimize_sinks : bool
    val annotation_reachability_minimize_sources : bool
    val annotation_reachability_no_allocation : bool
    val annotation_reachability_report_source_and_sink : bool
    val append_buck_flavors : string list
    val biabduction_abs_struct : int
    val biabduction_abs_val : int
    val biabduction_allow_leak : bool
    val biabduction_array_level : int
    val biabduction_iterations : int
    val biabduction_join_cond : int
    val biabduction_memleak_buckets : +Config (infer.IBase.Config)

    Module IBase.Config

    Configuration values: either constant, determined at compile time, or set at startup time by system calls, environment variables, or command line options

    type os_type =
    1. | Unix
    2. | Win32
    3. | Cygwin
    type build_system =
    1. | BAnt
    2. | BBuck
    3. | BBuck2
    4. | BClang
    5. | BErlc
    6. | BGradle
    7. | BHackc
    8. | BJava
    9. | BJavac
    10. | BKotlinc
    11. | BMake
    12. | BMvn
    13. | BNdk
    14. | BPython
    15. | BRebar3
    16. | BXcode
    type scheduler =
    1. | File
    2. | Restart
    3. | SyntacticCallGraph
    val equal_scheduler : scheduler -> scheduler -> bool
    val string_of_scheduler : scheduler -> string
    type python_globals =
    1. | OwnByClosures
    2. | OwnByModule
    val equal_python_globals : python_globals -> python_globals -> bool
    val build_system_of_exe_name : string -> build_system
    val string_of_build_system : build_system -> string
    val env_inside_maven : IStdlib.IStd.Unix.env

    Constant configuration values

    val allow_listed_cpp_classes : string list
    val allow_listed_cpp_methods : string list
    val anonymous_block_prefix : string
    val biabduction_models_jar : string
    val biabduction_models_sql : string
    val bin_dir : string
    val bound_error_allowed_in_procedure_call : bool
    val clang_exe_aliases : string list
    val clang_initializer_prefix : string
    val clang_inner_destructor_prefix : string
    val clang_plugin_path : string
    val default_failure_name : string
    val dotty_frontend_output : string
    val etc_dir : string
    val fail_on_issue_exit_code : int
    val fcp_dir : string
    val idempotent_getters : bool
    val initial_analysis_time : float
    val is_running_unit_test : bool

    whether the infer executable looks like we are just running infer unit tests

    val java_lambda_marker_infix_generated_by_javalib : string

    marker to recognize methods generated by javalib to eliminate lambdas

    val java_lambda_marker_prefix_generated_by_javac : string

    marker to recognize methods generated by javac to build closures

    val kotlin_source_extension : string
    val lib_dir : string
    val max_narrows : int
    val max_widens : int
    val meet_level : int
    val nsnotification_center_checker_backend : bool
    val os_type : os_type
    val pp_version : Stdlib.Format.formatter -> unit -> unit
    val report_nullable_inconsistency : bool
    val save_compact_summaries : bool
    val smt_output : bool
    val wrappers_dir : string

    Configuration values specified by command-line options

    val abstract_pulse_models_for_erlang : bool
    val analysis_schedule_file : string option
    val annotation_reachability_apply_superclass_annotations : bool
    val annotation_reachability_check_loops : bool
    val annotation_reachability_custom_models : Yojson.Safe.t
    val annotation_reachability_custom_pairs : Yojson.Safe.t
    val annotation_reachability_expensive : bool
    val annotation_reachability_minimize_sinks : bool
    val annotation_reachability_minimize_sources : bool
    val annotation_reachability_no_allocation : bool
    val annotation_reachability_report_source_and_sink : bool
    val append_buck_flavors : string list
    val biabduction_abs_struct : int
    val biabduction_abs_val : int
    val biabduction_allow_leak : bool
    val biabduction_array_level : int
    val biabduction_iterations : int
    val biabduction_join_cond : int
    val biabduction_memleak_buckets : [ `MLeak_all | `MLeak_arc | `MLeak_cf @@ -8,5 +8,5 @@ | `MLeak_unknown ] list
    val biabduction_models_mode : bool
    val biabduction_monitor_prop_size : bool
    val biabduction_nelseg : bool
    val biabduction_only_footprint : bool
    val biabduction_seconds_per_iteration : float option
    val biabduction_symops_per_iteration : int option
    val biabduction_trace_join : bool
    val biabduction_trace_rearrange : bool
    val biabduction_type_size : bool
    val biabduction_unsafe_malloc : bool
    val biabduction_worklist_mode : int
    val biabduction_write_dotty : bool
    val bo_assume_void : bool
    val bo_bottom_as_default : bool
    val bo_context_sensitive_allocsites : bool
    val bo_debug : int
    val bo_exit_frontend_gener_vars : bool
    val bo_field_depth_limit : int option
    val bo_max_cfg_size : int
    val bo_sound_unknown_sets_join : bool
    val bootclasspath : string option
    val buck : bool
    val buck2_build_args : string list
    val buck2_build_args_no_inline : string list
    val buck2_bxl_capture_file_block_list : string list
    val buck2_bxl_target : string option
    val buck2_inferconfig_target : string option
    val buck2_infertoolchain_target : string option
    val buck2_isolation_dir : string option
    val buck2_query_deps : bool
    val buck2_root : string
    val buck_block_list : string list
    val buck_build_args : string list
    val buck_build_args_no_inline : string list
    val buck_cache_mode : bool
    val buck_clang_use_toolchain_config : bool
    val buck_dependency_depth : int option
    val buck_java_heap_size_gb : int option
    val buck_java_suppress_config : bool
    val buck_merge_all_deps : bool
    val buck_mode : BuckMode.t option
    val buck_out : string
    val buck_out_gen : string
    val buck_targets_block_list : string list
    val capture : bool
    val capture_block_list : string * Yojson.Safe.t
    val capture_textual : string list
    val censor_report : ((bool * IStdlib.IStd.Str.regexp) * (bool * IStdlib.IStd.Str.regexp) * string) - list
    val cfg_json : string option
    val changed_files_index : string option
    val check_version : string option
    val clang_ast_file : [ `Biniou of string | `Yojson of string ] option
    val clang_block_listed_flags : string list
    val clang_block_listed_flags_with_arg : string list
    val clang_compound_literal_init_limit : int
    val clang_extra_flags : string list
    val clang_frontend_action_string : string
    val clang_idirafter_to_override_regex : IStdlib.IStd.Str.regexp option
    val clang_ignore_regex : IStdlib.IStd.Str.regexp option
    val clang_isystem_to_override_regex : IStdlib.IStd.Str.regexp option
    val clang_libcxx_include_to_override_regex : string option
    val classpath : string option
    val compaction_if_heap_greater_equal_to_GB : int
    val compaction_minimum_interval_s : int
    val complete_capture_from : string option
    val config_impact_config_field_patterns : IStdlib.IStd.Str.regexp list
    val config_impact_config_function_patterns : IStdlib.IStd.Str.regexp list
    val config_impact_config_param_patterns : IStdlib.IStd.Str.regexp list
    val config_impact_current : string option
    val config_impact_data_file : string option
    val config_impact_issues_tests : string option
    val config_impact_max_callees_to_print : int
    val config_impact_previous : string option
    val config_impact_strict_mode : bool
    val config_impact_strict_mode_paths : IStdlib.IStd.Str.regexp list
    val config_impact_test_paths : IStdlib.IStd.Str.regexp list
    val continue_analysis : bool
    val continue_capture : bool
    val cost_issues_tests : string option
    val cost_log_unknown_calls : bool
    val cost_suppress_func_ptr : bool
    val costs_current : string option
    val costs_previous : string option
    val cxx : bool
    val cxx_scope_guards : Yojson.Safe.t
    val data_flow_queries_on_topl : string list
    val dbwriter : bool
    val debug_exceptions : bool
    val debug_level_analysis : int
    val debug_level_capture : int
    val debug_level_report : int
    val debug_mode : bool
    val deduplicate : bool
    val dependency_mode : bool
    val detach_analysis_dependency : bool
    val developer_mode : bool
    val dict_missing_key_var_block_list : IStdlib.IStd.Str.regexp option
    val differential_filter_files : string option
    val differential_filter_set : [ `Introduced | `Fixed | `Preexisting ] list
    val dotty_cfg_libs : bool
    val dump_duplicate_symbols : bool
    val dump_textual : bool
    val dynamic_dispatch_json_file_path : string option
    val erlang_ast_dir : string option
    val erlang_check_return : bool
    val erlang_list_unfold_depth : int
    val erlang_reliability : bool
    val erlang_skip_compile : bool
    val erlang_with_otp_specs : bool
    val extract_capture_from : string option
    val fail_on_bug : bool
    val fcp_apple_clang : string option
    val fcp_syntax_only : bool
    val file_renamings : string option
    val files_to_analyze_index : string option
    val filter_paths : bool
    val filtering : bool
    val force_delete_results_dir : bool
    val force_integration : build_system option
    val from_json_config_impact_report : string
    val from_json_costs_report : string
    val from_json_report : string
    val frontend_stats : bool
    val frontend_tests : bool
    val generated_classes : string option
    val genrule_mode : bool
    val global_tenv : bool
    val hackc_binary : string option
    val hack_builder_patterns : (string * string list) list
    val hack_builtin_models : string
    val hack_models : string list
    val hack_naming_table : string option
    val hack_verify_capture_only : bool
    val help_checker : Checker.t list
    val help_issue_type : IssueType.t list
    val hoisting_report_only_expensive : bool
    val html : bool
    val icfg_dotty_outfile : string option
    val implicit_sdk_root : string option
    val impurity_report_immutable_modifications : bool
    val inclusive_cost : bool
    val incremental_analysis : bool
    val infer_binary : string

    absolute canonicalized path to the current executable

    val infer_is_clang : bool
    val infer_is_javac : bool
    val inferconfig_file : string option
    val inline_func_pointer_for_testing : string option
    val invalidate_only : bool
    val is_checker_enabled : Checker.t -> bool
    val issues_tests : string option
    val issues_tests_fields : IssuesTestField.t list
    val java_debug_source_file_info : string option
    val java_jar_compiler : string option
    val java_read_modules : bool
    val java_source_parser_experimental : bool
    val java_version : int option
    val javac_classes_out : string
    val job_id : string option
    val jobs : int
    val keep_going : bool
    val kotlin_capture : bool
    val lineage_source : string list
    val lineage_sink : string list
    val lineage_sanitizers : string list
    val lineage_limit : int option
    val lineage_dedup : bool
    val lineage_field_depth : int
    val lineage_field_max_cfg_size : int option
    val lineage_field_width : int
    val lineage_include_builtins : bool
    val lineage_json_report : bool
    val lineage_keep_temporaries : bool
    val lineage_max_cfg_size : int option
    val lineage_prevent_cycles : bool
    val lineage_seed : int
    val lineage_variant_width : int
    val list_categories : bool
    val list_checkers : bool
    val list_issue_types : bool
    val liveness_block_list_var_regex : IStdlib.IStd.Str.regexp option
    val liveness_dangerous_classes : Yojson.Safe.t
    val liveness_ignored_constant : string list
    val load_average : float option
    val lock_model : Yojson.Safe.t
    val log_pulse_disjunct_increase_after_model_call : bool
    val log_pulse_coverage : bool
    val log_missing_deps : bool
    val margin_html : int
    val mark_unchanged_procs : bool
    val mask_sajwa_exceptions : bool
    val max_nesting : int option
    val memtrace_analysis : bool
    val memtrace_sampling_rate : float
    val merge_capture : string list
    val merge_report : string list
    val merge_summaries : string list
    val modeled_expensive : string * Yojson.Safe.t
    val never_returning_null : string * Yojson.Safe.t
    val noescaping_function_list : string list
    val no_censor_report : IStdlib.IStd.Str.regexp list
    val no_translate_libs : bool
    val nullable_annotation : string option
    val only_cheap_debug : bool
    val oom_threshold : int option
    val objc_block_execution_macro : string option
    val objc_synthesize_dealloc : bool
    val pmd_xml : bool
    val preanalysis_html : bool
    val print_active_checkers : bool
    val print_builtins : bool
    val print_jbir : bool
    val print_logs : bool
    val print_types : bool
    val print_using_diff : bool
    val procedures : bool
    val procedures_attributes : bool
    val procedures_call_graph : bool
    val procedures_callees : bool
    val procedures_cfg : bool
    val procedures_definedness : bool
    val procedures_filter : string option
    val procedures_name : bool
    val procedures_source_file : bool
    val procedures_summary : bool
    val procedures_summary_json : bool
    val procedures_summary_skip_empty : bool
    val process_clang_ast : bool
    val procs_to_analyze_index : string option
    val progress_bar : [ `MultiLine | `Plain | `Quiet ]
    val project_root : string
    val pulse_balanced_disjuncts_strategy : bool
    val pulse_cut_to_one_path_procedures_pattern : IStdlib.IStd.Str.regexp option
    val pulse_force_continue : bool
    val pulse_havoc_arguments : bool
    val pulse_inline_global_init_func_pointer : bool
    val pulse_intraprocedural_only : bool
    val pulse_log_summary_count : bool
    val pulse_log_unknown_calls : bool
    val pulse_log_unknown_calls_sampled : int option
    val pulse_max_cfg_size : int
    val pulse_max_disjuncts : int
    val pulse_max_heap : int option
    val pulse_model_abort : string list
    val pulse_model_alloc_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_cheap_copy_type : IStdlib.IStd.Str.regexp option
    val pulse_model_free_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_malloc_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_realloc_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_release_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_return_first_arg : IStdlib.IStd.Str.regexp option
    val pulse_model_return_nonnull : IStdlib.IStd.Str.regexp option
    val pulse_model_return_this : IStdlib.IStd.Str.regexp option
    val pulse_model_returns_copy_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_skip_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_transfer_ownership : string list
    val pulse_model_transfer_ownership_namespace : (string * string) list
    val pulse_model_unreachable : string list
    val pulse_models_for_erlang : string list
    val pulse_monitor_transitive_callees : bool
    val pulse_monitor_transitive_missed_captures : bool
    val pulse_nullsafe_report_npe : bool
    val pulse_nullsafe_report_npe_as_separate_issue_type : bool
    val pulse_prevent_non_disj_top : bool
    val pulse_recency_limit : int
    val pulse_report_flows_from_taint_source : string option
    val pulse_report_flows_to_taint_sink : string option
    val pulse_report_issues_for_tests : bool
    val pulse_report_latent_issues : bool
    val pulse_sanity_checks : bool
    val pulse_skip_procedures : IStdlib.IStd.Str.regexp option
    val pulse_specialization_iteration_limit : int
    val pulse_specialization_limit : int
    val pulse_specialization_partial : bool
    val pulse_taint_config : pulse_taint_config
    val pulse_taint_follow_field_accesses : bool
    val pulse_taint_opaque_files : string list
    val pulse_taint_short_traces : bool
    val pulse_taint_skip_sources : bool
    val pulse_transitive_access_config : string list
    val pulse_transitive_access_enabled : bool
    val pulse_transitive_access_verbose : bool
    val pulse_unsafe_malloc : bool
    val pulse_widen_threshold : int
    val pure_by_default : bool
    val pyc_file : string list
    val python_files_index : string option
    val qualified_cpp_name_block_list : string list
    val quiet : bool
    val racerd_always_report_java : bool
    val racerd_guardedby : bool
    val racerd_ignore_classes : IStdlib.IStd.String.Set.t
    val reactive_mode : bool
    val reactive_capture : bool
    val reanalyze : bool
    val relative_path_backtrack : int
    val replay_analysis_schedule : bool
    val replay_ondemand_should_error : bool
    val report : bool
    val report_block_list_spec : + list
    val cfg_json : string option
    val changed_files_index : string option
    val check_version : string option
    val clang_ast_file : [ `Biniou of string | `Yojson of string ] option
    val clang_block_listed_flags : string list
    val clang_block_listed_flags_with_arg : string list
    val clang_compound_literal_init_limit : int
    val clang_extra_flags : string list
    val clang_frontend_action_string : string
    val clang_idirafter_to_override_regex : IStdlib.IStd.Str.regexp option
    val clang_ignore_regex : IStdlib.IStd.Str.regexp option
    val clang_isystem_to_override_regex : IStdlib.IStd.Str.regexp option
    val clang_libcxx_include_to_override_regex : string option
    val classpath : string option
    val compaction_if_heap_greater_equal_to_GB : int
    val compaction_minimum_interval_s : int
    val complete_capture_from : string option
    val compute_captured_context : bool
    val config_impact_config_field_patterns : IStdlib.IStd.Str.regexp list
    val config_impact_config_function_patterns : IStdlib.IStd.Str.regexp list
    val config_impact_config_param_patterns : IStdlib.IStd.Str.regexp list
    val config_impact_current : string option
    val config_impact_data_file : string option
    val config_impact_issues_tests : string option
    val config_impact_max_callees_to_print : int
    val config_impact_previous : string option
    val config_impact_strict_mode : bool
    val config_impact_strict_mode_paths : IStdlib.IStd.Str.regexp list
    val config_impact_test_paths : IStdlib.IStd.Str.regexp list
    val continue_analysis : bool
    val continue_capture : bool
    val cost_issues_tests : string option
    val cost_log_unknown_calls : bool
    val cost_suppress_func_ptr : bool
    val costs_current : string option
    val costs_previous : string option
    val cxx : bool
    val cxx_scope_guards : Yojson.Safe.t
    val data_flow_queries_on_topl : string list
    val dbwriter : bool
    val debug_exceptions : bool
    val debug_level_analysis : int
    val debug_level_capture : int
    val debug_level_report : int
    val debug_mode : bool
    val deduplicate : bool
    val default_hack_builtin_models_rel : string
    val dependency_mode : bool
    val detach_analysis_dependency : bool
    val developer_mode : bool
    val dict_missing_key_var_block_list : IStdlib.IStd.Str.regexp option
    val differential_filter_files : string option
    val differential_filter_set : [ `Introduced | `Fixed | `Preexisting ] list
    val dotty_cfg_libs : bool
    val dump_duplicate_symbols : bool
    val dump_textual : bool
    val dynamic_dispatch_json_file_path : string option
    val erlang_ast_dir : string option
    val erlang_check_return : bool
    val erlang_list_unfold_depth : int
    val erlang_reliability : bool
    val erlang_skip_compile : bool
    val erlang_with_otp_specs : bool
    val extract_capture_from : string option
    val fail_on_bug : bool
    val fcp_apple_clang : string option
    val fcp_syntax_only : bool
    val file_renamings : string option
    val files_to_analyze_index : string option
    val filter_paths : bool
    val filtering : bool
    val force_delete_results_dir : bool
    val force_integration : build_system option
    val from_json_config_impact_report : string
    val from_json_costs_report : string
    val from_json_report : string
    val frontend_stats : bool
    val frontend_tests : bool
    val generated_classes : string option
    val genrule_mode : bool
    val global_tenv : bool
    val hackc_binary : string option
    type pulse_hack_builder_pattern = {
    1. class_name : string;
    2. finalizers : string list;
    3. immediately_non_discardable_class : string option;
    }
    type pulse_hack_builder_patterns = pulse_hack_builder_pattern list
    val hack_builder_patterns : pulse_hack_builder_patterns
    val hack_builtin_models : string
    val hack_models : string list
    val hack_naming_table : string option
    val hack_verify_capture_only : bool
    val help_checker : Checker.t list
    val help_issue_type : IssueType.t list
    val hoisting_report_only_expensive : bool
    val html : bool
    val icfg_dotty_outfile : string option
    val implicit_sdk_root : string option
    val impurity_report_immutable_modifications : bool
    val inclusive_cost : bool
    val incremental_analysis : bool
    val infer_binary : string

    absolute canonicalized path to the current executable

    val infer_is_clang : bool
    val infer_is_javac : bool
    val inferconfig_file : string option
    val inline_func_pointer_for_testing : string option
    val invalidate_only : bool
    val is_checker_enabled : Checker.t -> bool
    val issues_tests : string option
    val issues_tests_fields : IssuesTestField.t list
    val java_debug_source_file_info : string option
    val java_jar_compiler : string option
    val java_read_modules : bool
    val java_source_parser_experimental : bool
    val java_version : int option
    val javac_classes_out : string
    val job_id : string option
    val jobs : int
    val keep_going : bool
    val kotlin_capture : bool
    val lineage_source : string list
    val lineage_sink : string list
    val lineage_sanitizers : string list
    val lineage_limit : int option
    val lineage_dedup : bool
    val lineage_field_depth : int
    val lineage_field_max_cfg_size : int option
    val lineage_field_width : int
    val lineage_include_builtins : bool
    val lineage_json_report : bool
    val lineage_keep_temporaries : bool
    val lineage_max_cfg_size : int option
    val lineage_prevent_cycles : bool
    val lineage_seed : int
    val lineage_variant_width : int
    val list_categories : bool
    val list_checkers : bool
    val list_issue_types : bool
    val liveness_block_list_var_regex : IStdlib.IStd.Str.regexp option
    val liveness_dangerous_classes : Yojson.Safe.t
    val liveness_ignored_constant : string list
    val load_average : float option
    val lock_model : Yojson.Safe.t
    val log_pulse_disjunct_increase_after_model_call : bool
    val log_pulse_coverage : bool
    val log_missing_deps : bool
    val margin_html : int
    val mark_unchanged_procs : bool
    val mask_sajwa_exceptions : bool
    val max_nesting : int option
    val memtrace_analysis : bool
    val memtrace_sampling_rate : float
    val merge_capture : string list
    val merge_report : string list
    val merge_summaries : string list
    val modeled_expensive : string * Yojson.Safe.t
    val never_returning_null : string * Yojson.Safe.t
    val noescaping_function_list : string list
    val no_censor_report : IStdlib.IStd.Str.regexp list
    val no_translate_libs : bool
    val nullable_annotation : string option
    val objc_block_execution_macro : string option
    val objc_synthesize_dealloc : bool
    val ondemand_recursion_restart_limit : int
    val only_cheap_debug : bool
    val oom_threshold : int option
    val pmd_xml : bool
    val preanalysis_html : bool
    val print_active_checkers : bool
    val print_builtins : bool
    val print_jbir : bool
    val print_logs : bool
    val print_types : bool
    val print_using_diff : bool
    val procedures : bool
    val procedures_attributes : bool
    val procedures_call_graph : bool
    val procedures_callees : bool
    val procedures_cfg : bool
    val procedures_definedness : bool
    val procedures_filter : string option
    val procedures_name : bool
    val procedures_source_file : bool
    val procedures_summary : bool
    val procedures_summary_json : bool
    val procedures_summary_skip_empty : bool
    val process_clang_ast : bool
    val procs_to_analyze_index : string option
    val progress_bar : [ `MultiLine | `Plain | `Quiet ]
    val project_root : string
    val pulse_balanced_disjuncts_strategy : bool
    val pulse_cut_to_one_path_procedures_pattern : IStdlib.IStd.Str.regexp option
    val pulse_force_continue : bool
    val pulse_havoc_arguments : bool
    val pulse_inline_global_init_func_pointer : bool
    val pulse_intraprocedural_only : bool
    val pulse_log_summary_count : bool
    val pulse_log_unknown_calls : bool
    val pulse_log_unknown_calls_sampled : int option
    val pulse_max_cfg_size : int
    val pulse_max_disjuncts : int
    val pulse_max_heap : int option
    val pulse_model_abort : string list
    val pulse_model_alloc_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_cheap_copy_type : IStdlib.IStd.Str.regexp option
    val pulse_model_free_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_malloc_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_realloc_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_release_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_return_first_arg : IStdlib.IStd.Str.regexp option
    val pulse_model_return_nonnull : IStdlib.IStd.Str.regexp option
    val pulse_model_return_this : IStdlib.IStd.Str.regexp option
    val pulse_model_returns_copy_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_skip_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_transfer_ownership : string list
    val pulse_model_transfer_ownership_namespace : (string * string) list
    val pulse_model_unknown_pure : IStdlib.IStd.Str.regexp option
    val pulse_model_unreachable : string list
    val pulse_models_for_erlang : string list
    val pulse_monitor_transitive_callees : bool
    val pulse_monitor_transitive_missed_captures : bool
    val pulse_nullsafe_report_npe : bool
    val pulse_nullsafe_report_npe_as_separate_issue_type : bool
    val pulse_over_approximate_reasoning : bool
    val pulse_prevent_non_disj_top : bool
    val pulse_recency_limit : int
    val pulse_report_flows_from_taint_source : string option
    val pulse_report_flows_to_taint_sink : string option
    val pulse_report_issues_for_tests : bool
    val pulse_report_latent_issues : bool
    val pulse_sanity_checks : bool
    val pulse_skip_procedures : IStdlib.IStd.Str.regexp option
    val pulse_specialization_iteration_limit : int
    val pulse_specialization_limit : int
    val pulse_specialization_partial : bool
    val pulse_taint_config : pulse_taint_config
    val pulse_taint_follow_field_accesses : bool
    val pulse_taint_opaque_files : string list
    val pulse_taint_short_traces : bool
    val pulse_taint_skip_sources : bool
    val pulse_transitive_access_config : string list
    val pulse_transitive_access_enabled : bool
    val pulse_transitive_access_verbose : bool
    val pulse_unsafe_malloc : bool
    val pulse_widen_threshold : int
    val pure_by_default : bool
    val pyc_file : string list
    val python_files_index : string option
    val python_skip_db : bool
    val python_globals : python_globals
    val qualified_cpp_name_block_list : string list
    val quiet : bool
    val racerd_always_report_java : bool
    val racerd_guardedby : bool
    val racerd_ignore_classes : IStdlib.IStd.String.Set.t
    val reactive_mode : bool
    val reactive_capture : bool
    val reanalyze : bool
    val relative_path_backtrack : int
    val replay_analysis_schedule : bool
    val replay_ondemand_should_error : bool
    val report : bool
    val report_block_list_files_containing : string list
    val report_console_limit : int option
    val report_current : string option
    val report_custom_error : bool
    val report_force_relative_path : bool
    val report_formatter : [ `No_formatter | `Phabricator_formatter ]
    val report_path_regex_allow_list : string list
    val report_path_regex_block_list : string list
    val report_previous : string option
    val report_suppress_errors : string list
    val reports_include_ml_loc : bool
    val rest : string list
    val results_dir : string
    val run_as_child : int option
    val run_python_interpreter : bool
    val sarif : bool
    val scheduler : scheduler
    val scope_leakage_config : Yojson.Safe.t
    val scuba_logging : bool
    val scuba_normals : string IStdlib.IStd.String.Map.t
    val scuba_tags : string list IStdlib.IStd.String.Map.t
    val select : [ `All | `Select of int ] option
    val show_buckets : bool
    val shrink_analysis_db : bool
    val siof_check_iostreams : bool
    val siof_safe_methods : string list
    val skip_analysis_in_path : IStdlib.IStd.Str.regexp option
    val skip_analysis_in_path_skips_compilation : bool
    val skip_duplicated_types : bool
    val skip_non_capture_clang_commands : bool
    val skip_translation_headers : string list
    val source_files : bool
    val source_files_call_graph : bool
    val source_files_call_graph_partition : int option
    val source_files_cfg : bool
    val source_files_filter : string option
    val source_files_freshly_captured : bool
    val source_files_procedure_names : bool
    val source_files_type_environment : bool
    val source_preview : bool
    val sourcepath : string option
    val sources : string list
    val sqlite_cache_size : int
    val sqlite_lock_timeout : int
    val sqlite_max_blob_size : int
    val sqlite_mmap_size : int
    val sqlite_page_size : int
    val sqlite_vfs : string option
    val starvation_c_function_pointer_models : Yojson.Safe.t
    val starvation_c_named_threads_annot : Yojson.Safe.t
    val starvation_skip_analysis : Yojson.Safe.t
    val starvation_strict_mode : bool
    val starvation_whole_program : bool
    val stats_dir_current : string option
    val stats_dir_previous : string option
    val struct_as_cpp_class : bool
    val store_analysis_schedule : bool
    val subtype_multirange : bool
    val suffix_match_changed_files : bool
    val summaries_caches_max_size : int
    val suppress_lint_ignore_types : bool
    val suppressions : bool
    val tenv_json : string option
    val testing_mode : bool
    val threadsafe_aliases : Yojson.Safe.t
    val timeout : float option
    val top_longest_proc_duration_size : int option
    val topl_max_conjuncts : int
    val topl_max_disjuncts : int
    val topl_properties : ToplAst.t list
    val topl_report_latent_issues : bool
    val trace_absarray : bool
    val trace_error : bool
    val trace_events : bool
    val trace_ondemand : bool
    val trace_topl : bool
    val unix_fork : bool
    val workspace : string option
    val write_html : bool
    val write_html_allow_list_regex : string list
    val write_website : string option
    val xcode_developer_dir : string option
    val xcode_isysroot_suffix : string option
    val xcpretty : bool

    Configuration values derived from command-line options

    val toplevel_results_dir : string

    In some integrations, eg Buck, infer subprocesses started by the build system (started by the toplevel infer process) will have their own results directory; this points to the results directory of the toplevel infer process, which can be useful for, eg, storing debug info. In other cases this is equal to results_dir.

    val java_package_is_external : string -> bool

    Check if a Java package is external to the repository

    val scuba_execution_id : IStdlib.IStd.Int64.t option

    a random number to (hopefully) uniquely identify this run

    val is_originator : bool

    is the current process (forked from) the root of the Infer process tree

    Global variables with initial values specified by command-line options

    val clang_compilation_dbs : [ `Escaped of string | `Raw of string ] list
    diff --git a/website/static/odoc/next/infer/IBase/CostIssues/CostKindMap/index.html b/website/static/odoc/next/infer/IBase/CostIssues/CostKindMap/index.html index 8785c45e155..3f20725632e 100644 --- a/website/static/odoc/next/infer/IBase/CostIssues/CostKindMap/index.html +++ b/website/static/odoc/next/infer/IBase/CostIssues/CostKindMap/index.html @@ -1,5 +1,5 @@ -CostKindMap (infer.IBase.CostIssues.CostKindMap)

    Module CostIssues.CostKindMap

    include IStdlib.PrettyPrintable.PPMap with type key = CostKind.t
    include IStdlib.IStd.Caml.Map.S with type key = IBase.CostKind.t
    type key = CostKind.t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +CostKindMap (infer.IBase.CostIssues.CostKindMap)

    Module CostIssues.CostKindMap

    include IStdlib.PrettyPrintable.PPMap with type key = CostKind.t
    include Stdlib.Map.S with type key = IBase.CostKind.t
    type key = CostKind.t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IBase/Die/index.html b/website/static/odoc/next/infer/IBase/Die/index.html index 3e47e7b372b..e896f1b56a9 100644 --- a/website/static/odoc/next/infer/IBase/Die/index.html +++ b/website/static/odoc/next/infer/IBase/Die/index.html @@ -3,7 +3,7 @@ error -> ('a, Stdlib.Format.formatter, unit, _) IStdlib.IStd.format4 -> 'a

    Raise the corresponding exception.

    val raise_error : - ?backtrace:IStdlib.IStd.Caml.Printexc.raw_backtrace -> + ?backtrace:Stdlib.Printexc.raw_backtrace -> error -> msg:string -> 'a
    type style =
    1. | Error
    2. | Fatal
    3. | Normal
    4. | Warning
    val term_styles_of_style : style -> IStdlib.IStd.ANSITerminal.style list
    diff --git a/website/static/odoc/next/infer/IBase/IssueType/Map/index.html b/website/static/odoc/next/infer/IBase/IssueType/Map/index.html index 90754ef4fcd..0a59835048e 100644 --- a/website/static/odoc/next/infer/IBase/IssueType/Map/index.html +++ b/website/static/odoc/next/infer/IBase/IssueType/Map/index.html @@ -1,5 +1,5 @@ -Map (infer.IBase.IssueType.Map)

    Module IssueType.Map

    include IStdlib.IStd.Caml.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +Map (infer.IBase.IssueType.Map)

    Module IssueType.Map

    include Stdlib.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IBase/IssueType/index.html b/website/static/odoc/next/infer/IBase/IssueType/index.html index b9be894dc16..965e9b38a8e 100644 --- a/website/static/odoc/next/infer/IBase/IssueType/index.html +++ b/website/static/odoc/next/infer/IBase/IssueType/index.html @@ -6,4 +6,4 @@ ?user_documentation:string -> severity -> Checker.t -> - t

    Create a new issue and register it in the list of all issues. NOTE: if the issue with the same string id is already registered, overrides `hum` but DOES NOT override `enabled`. This trick allows to deal with disabling/enabling dynamic issues from the config, when we don't know all params yet. Thus, the human-readable description can be updated when we encounter the definition of the issue type.

    val checker_can_report : Checker.t -> t -> bool

    Whether the issue was registered as coming from the given checker. Important to call this before reporting to keep documentation accurate.

    val set_enabled : t -> bool -> unit
    val abduction_case_not_implemented : t
    val arbitrary_code_execution_under_lock : t
    val array_of_pointsto : t
    val array_out_of_bounds_l1 : t
    val array_out_of_bounds_l2 : t
    val array_out_of_bounds_l3 : t
    val assert_failure : t
    val bad_footprint : t
    val bad_arg : latent:bool -> t
    val bad_generator : latent:bool -> t
    val bad_key : latent:bool -> t
    val bad_map : latent:bool -> t
    val bad_record : latent:bool -> t
    val bad_return : latent:bool -> t
    val biabduction_analysis_stops : t
    val biabduction_retain_cycle : t
    val block_parameter_not_null_checked : t
    val buffer_overrun_l1 : t
    val buffer_overrun_l2 : t
    val buffer_overrun_l3 : t
    val buffer_overrun_l4 : t
    val buffer_overrun_l5 : t
    val buffer_overrun_s2 : t
    val buffer_overrun_u5 : t
    val cannot_star : t
    val captured_strong_self : t
    val checkers_allocates_memory : t

    Warning name when a performance critical method directly or indirectly calls a method allocating memory

    val checkers_annotation_reachability_error : t
    val checkers_calls_expensive_method : t

    Warning name when a performance critical method directly or indirectly calls a method annotatd as expensive

    val checkers_expensive_overrides_unexpensive : t

    Warning name for the subtyping rule: method not annotated as expensive cannot be overridden by a method annotated as expensive

    val checkers_fragment_retain_view : t
    val class_cast_exception : t
    val compared_to_null_and_dereferenced : t
    val complexity_increase : kind:CostKind.t -> is_on_ui_thread:bool -> t
    val condition_always_false : t
    val condition_always_true : t
    val config_impact_analysis : t
    val config_impact_analysis_strict : t
    val pulse_config_usage : t
    val pulse_const_refable : t
    val constant_address_dereference : latent:bool -> t
    val cxx_string_captured_in_block : t
    val cxx_ref_captured_in_block : t
    val dangling_pointer_dereference : t
    val dangling_pointer_dereference_maybe : t
    val data_flow_to_sink : t
    val dead_store : t
    val deadlock : t
    val divide_by_zero : t
    val do_not_report : t

    an issue type that should never be reported

    val empty_vector_access : t
    val expensive_cost_call : kind:CostKind.t -> t
    val failure_exe : t
    val guardedby_violation : t
    val impure_function : t
    val inefficient_keyset_iterator : t
    val inferbo_alloc_is_big : t
    val inferbo_alloc_is_negative : t
    val inferbo_alloc_is_zero : t
    val inferbo_alloc_may_be_big : t
    val inferbo_alloc_may_be_negative : t
    val infinite_cost_call : kind:CostKind.t -> t
    val inherently_dangerous_function : t
    val integer_overflow_l1 : t
    val integer_overflow_l2 : t
    val integer_overflow_l5 : t
    val integer_overflow_u5 : t
    val interface_not_thread_safe : t
    val internal_error : t
    val invalid_sil : t
    val invariant_call : t
    val ipc_on_ui_thread : t
    val lab_resource_leak : t
    val leak_after_array_abstraction : t
    val leak_in_footprint : t
    val leak_unknown_origin : t
    val lockless_violation : t
    val lock_consistency_violation : t
    val expensive_loop_invariant_call : t
    val memory_leak : t
    val missing_fld : t
    val missing_required_prop : t
    val mixed_self_weakself : t
    val modifies_immutable : t
    val multiple_weakself : t
    val mutual_recursion_cycle : t
    val nil_block_call : latent:bool -> t
    val nil_insertion_into_collection : latent:bool -> t
    val nil_messaging_to_non_pod : latent:bool -> t
    val no_match_of_rhs : latent:bool -> t
    val no_matching_case_clause : latent:bool -> t
    val no_matching_else_clause : latent:bool -> t
    val no_matching_function_clause : latent:bool -> t
    val no_true_branch_in_if : latent:bool -> t
    val no_matching_branch_in_try : latent:bool -> t
    val null_argument : latent:bool -> t
    val null_dereference : t
    val nullptr_dereference : latent:bool -> t
    val nullptr_dereference_in_nullsafe_class : latent:bool -> t
    val optional_empty_access : latent:bool -> t
    val precondition_not_found : t
    val precondition_not_met : t
    val premature_nil_termination : t
    val pulse_cannot_instantiate_abstract_class : t
    val pulse_dict_missing_key : t
    val pulse_dynamic_type_mismatch : t
    val pulse_transitive_access : t
    val pulse_memory_leak_c : t
    val pulse_memory_leak_cpp : t
    val pulse_resource_leak : t
    val pulse_unawaited_awaitable : t
    val pulse_unfinished_builder : t
    val pulse_uninitialized_const : t
    val pulse_uninitialized_method : t
    val pure_function : t
    val readonly_shared_ptr_param : t
    val regex_op_on_ui_thread : t
    val resource_leak : t
    val retain_cycle : t
    val retain_cycle_no_weak_info : t
    val scope_leakage : t
    val self_in_block_passed_to_init : t
    val sensitive_data_flow : t
    val skip_function : t
    val stack_variable_address_escape : t
    val starvation : t
    val static_initialization_order_fiasco : t
    val strict_mode_violation : t
    val strong_self_not_checked : t
    val symexec_memory_error : t
    val taint_error : t
    val thread_safety_violation : t
    val topl_error : latent:bool -> t
    val uninitialized_value_pulse : t
    val unnecessary_copy_pulse : t
    val unnecessary_copy_assignment_pulse : t
    val unnecessary_copy_assignment_const_pulse : t
    val unnecessary_copy_assignment_movable_pulse : t
    val unnecessary_copy_intermediate_pulse : t
    val unnecessary_copy_intermediate_const_pulse : t
    val unnecessary_copy_movable_pulse : t
    val unnecessary_copy_optional_pulse : t
    val unnecessary_copy_optional_const_pulse : t
    val unnecessary_copy_return_pulse : t
    val unnecessary_copy_thrift_assignment_pulse : t
    val unreachable_code_after : t
    val use_after_delete : latent:bool -> t
    val use_after_free : latent:bool -> t
    val use_after_lifetime : latent:bool -> t
    val vector_invalidation : latent:bool -> t
    val pulse_reference_stability : t
    val weak_self_in_noescape_block : t
    val wrong_argument_number : t
    val unreachable_cost_call : kind:CostKind.t -> t
    val lineage_flow : t
    module Map : IStdlib.PrettyPrintable.PPMap with type key = t
    + t

    Create a new issue and register it in the list of all issues. NOTE: if the issue with the same string id is already registered, overrides `hum` but DOES NOT override `enabled`. This trick allows to deal with disabling/enabling dynamic issues from the config, when we don't know all params yet. Thus, the human-readable description can be updated when we encounter the definition of the issue type.

    val checker_can_report : Checker.t -> t -> bool

    Whether the issue was registered as coming from the given checker. Important to call this before reporting to keep documentation accurate.

    val set_enabled : t -> bool -> unit
    val abduction_case_not_implemented : t
    val arbitrary_code_execution_under_lock : t
    val array_of_pointsto : t
    val array_out_of_bounds_l1 : t
    val array_out_of_bounds_l2 : t
    val array_out_of_bounds_l3 : t
    val assert_failure : t
    val bad_footprint : t
    val bad_arg : latent:bool -> t
    val bad_generator : latent:bool -> t
    val bad_key : latent:bool -> t
    val bad_map : latent:bool -> t
    val bad_record : latent:bool -> t
    val bad_return : latent:bool -> t
    val biabduction_analysis_stops : t
    val biabduction_retain_cycle : t
    val block_parameter_not_null_checked : t
    val buffer_overrun_l1 : t
    val buffer_overrun_l2 : t
    val buffer_overrun_l3 : t
    val buffer_overrun_l4 : t
    val buffer_overrun_l5 : t
    val buffer_overrun_s2 : t
    val buffer_overrun_u5 : t
    val cannot_star : t
    val captured_strong_self : t
    val checkers_allocates_memory : t

    Warning name when a performance critical method directly or indirectly calls a method allocating memory

    val checkers_annotation_reachability_error : t
    val checkers_calls_expensive_method : t

    Warning name when a performance critical method directly or indirectly calls a method annotatd as expensive

    val checkers_expensive_overrides_unexpensive : t

    Warning name for the subtyping rule: method not annotated as expensive cannot be overridden by a method annotated as expensive

    val checkers_fragment_retain_view : t
    val class_cast_exception : t
    val compared_to_null_and_dereferenced : t
    val complexity_increase : kind:CostKind.t -> is_on_ui_thread:bool -> t
    val condition_always_false : t
    val condition_always_true : t
    val config_impact_analysis : t
    val config_impact_analysis_strict : t
    val pulse_config_usage : t
    val pulse_const_refable : t
    val constant_address_dereference : latent:bool -> t
    val cxx_string_captured_in_block : t
    val cxx_ref_captured_in_block : t
    val dangling_pointer_dereference : t
    val dangling_pointer_dereference_maybe : t
    val data_flow_to_sink : t
    val dead_store : t
    val deadlock : t
    val dispatch_once_in_static_init : t
    val divide_by_zero : t
    val do_not_report : t

    an issue type that should never be reported

    val empty_vector_access : t
    val expensive_cost_call : kind:CostKind.t -> t
    val failure_exe : t
    val guardedby_violation : t
    val impure_function : t
    val inefficient_keyset_iterator : t
    val inferbo_alloc_is_big : t
    val inferbo_alloc_is_negative : t
    val inferbo_alloc_is_zero : t
    val inferbo_alloc_may_be_big : t
    val inferbo_alloc_may_be_negative : t
    val infinite_cost_call : kind:CostKind.t -> t
    val inherently_dangerous_function : t
    val integer_overflow_l1 : t
    val integer_overflow_l2 : t
    val integer_overflow_l5 : t
    val integer_overflow_u5 : t
    val interface_not_thread_safe : t
    val internal_error : t
    val invalid_sil : t
    val invariant_call : t
    val ipc_on_ui_thread : t
    val lab_resource_leak : t
    val leak_after_array_abstraction : t
    val leak_in_footprint : t
    val leak_unknown_origin : t
    val lockless_violation : t
    val lock_consistency_violation : t
    val expensive_loop_invariant_call : t
    val memory_leak : t
    val missing_fld : t
    val missing_required_prop : t
    val mixed_self_weakself : t
    val modifies_immutable : t
    val multiple_weakself : t
    val mutual_recursion_cycle : t
    val nil_block_call : latent:bool -> t
    val nil_insertion_into_collection : latent:bool -> t
    val nil_messaging_to_non_pod : latent:bool -> t
    val no_match_of_rhs : latent:bool -> t
    val no_matching_case_clause : latent:bool -> t
    val no_matching_else_clause : latent:bool -> t
    val no_matching_function_clause : latent:bool -> t
    val no_true_branch_in_if : latent:bool -> t
    val no_matching_branch_in_try : latent:bool -> t
    val ns_string_captured_in_block : t
    val null_argument : latent:bool -> t
    val null_dereference : t
    val nullptr_dereference : latent:bool -> t
    val nullptr_dereference_in_nullsafe_class : latent:bool -> t
    val optional_empty_access : latent:bool -> t
    val precondition_not_found : t
    val precondition_not_met : t
    val premature_nil_termination : t
    val pulse_cannot_instantiate_abstract_class : t
    val pulse_dict_missing_key : t
    val pulse_dynamic_type_mismatch : t
    val pulse_transitive_access : t
    val pulse_memory_leak_c : t
    val pulse_memory_leak_cpp : t
    val pulse_resource_leak : t
    val pulse_unawaited_awaitable : t
    val pulse_unfinished_builder : t
    val pulse_uninitialized_const : t
    val pulse_uninitialized_method : t
    val pure_function : t
    val readonly_shared_ptr_param : t
    val regex_op_on_ui_thread : t
    val resource_leak : t
    val retain_cycle : t
    val retain_cycle_no_weak_info : t
    val scope_leakage : t
    val self_in_block_passed_to_init : t
    val sensitive_data_flow : t
    val skip_function : t
    val stack_variable_address_escape : t
    val starvation : t
    val static_initialization_order_fiasco : t
    val strict_mode_violation : t
    val strong_self_not_checked : t
    val symexec_memory_error : t
    val taint_error : t
    val thread_safety_violation : t
    val topl_error : latent:bool -> t
    val uninitialized_value_pulse : t
    val unnecessary_copy_pulse : t
    val unnecessary_copy_assignment_pulse : t
    val unnecessary_copy_assignment_const_pulse : t
    val unnecessary_copy_assignment_movable_pulse : t
    val unnecessary_copy_intermediate_pulse : t
    val unnecessary_copy_intermediate_const_pulse : t
    val unnecessary_copy_movable_pulse : t
    val unnecessary_copy_optional_pulse : t
    val unnecessary_copy_optional_const_pulse : t
    val unnecessary_copy_return_pulse : t
    val unnecessary_copy_thrift_assignment_pulse : t
    val unreachable_code_after : t
    val use_after_delete : latent:bool -> t
    val use_after_free : latent:bool -> t
    val use_after_lifetime : latent:bool -> t
    val vector_invalidation : latent:bool -> t
    val pulse_reference_stability : t
    val weak_self_in_noescape_block : t
    val wrong_argument_number : t
    val unreachable_cost_call : kind:CostKind.t -> t
    val lineage_flow : t
    module Map : IStdlib.PrettyPrintable.PPMap with type key = t
    diff --git a/website/static/odoc/next/infer/IBase/Location/Map/index.html b/website/static/odoc/next/infer/IBase/Location/Map/index.html index de1bfe13a24..0cc9f1032fd 100644 --- a/website/static/odoc/next/infer/IBase/Location/Map/index.html +++ b/website/static/odoc/next/infer/IBase/Location/Map/index.html @@ -1,5 +1,5 @@ -Map (infer.IBase.Location.Map)

    Module Location.Map

    include IStdlib.IStd.Caml.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +Map (infer.IBase.Location.Map)

    Module Location.Map

    include Stdlib.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IBase/Logging/index.html b/website/static/odoc/next/infer/IBase/Logging/index.html index c6b7f65214a..d627bc680e6 100644 --- a/website/static/odoc/next/infer/IBase/Logging/index.html +++ b/website/static/odoc/next/infer/IBase/Logging/index.html @@ -3,7 +3,7 @@ error -> ('a, Stdlib.Format.formatter, unit, _) IStdlib.IStd.format4 -> 'a

    Raise the corresponding exception.

    val raise_error : - ?backtrace:IStdlib.IStd.Caml.Printexc.raw_backtrace -> + ?backtrace:Stdlib.Printexc.raw_backtrace -> error -> msg:string -> 'a
    type style =
    1. | Error
    2. | Fatal
    3. | Normal
    4. | Warning
    val term_styles_of_style : style -> IStdlib.IStd.ANSITerminal.style list
    val environment_info : ('a, F.formatter, unit) IStdlib.IStd.format -> 'a

    log information about the environment

    val progress : ('a, F.formatter, unit) IStdlib.IStd.format -> 'a

    print immediately to standard error unless --quiet is specified

    val log_task : ('a, F.formatter, unit) IStdlib.IStd.format -> 'a

    log progress in the log file and on the console unless there is an active task bar

    val task_progress : f:(unit -> 'a) -> (F.formatter -> 'b -> unit) -> 'b -> 'a

    task_progress ~f pp x executes f and log progress pp x in the log file and also on the console unless there is an active task bar

    val result : diff --git a/website/static/odoc/next/infer/IBase/SourceFile/index.html b/website/static/odoc/next/infer/IBase/SourceFile/index.html index 51d8e9a96aa..4f1ba06079b 100644 --- a/website/static/odoc/next/infer/IBase/SourceFile/index.html +++ b/website/static/odoc/next/infer/IBase/SourceFile/index.html @@ -1,2 +1,2 @@ -SourceFile (infer.IBase.SourceFile)

    Module IBase.SourceFile

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Sexplib0.Sexpable.S with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val hash_normalize : t -> t
    val hash_normalize_opt : t option -> t option
    val hash_normalize_list : t list -> t list
    module Map : IStdlib.IStd.Caml.Map.S with type key = t

    Maps from source_file

    module Set : IStdlib.IStd.Caml.Set.S with type elt = t

    Set of source files

    module Hash : IStdlib.IStd.Caml.Hashtbl.S with type key = t

    Mutable hash tables and sets keyed on source files

    module HashSet : IStdlib.HashSet.S with type elt = t
    val is_invalid : t -> bool

    Is the source file the invalid source file?

    val read_config_changed_files : unit -> Set.t option

    return the list of changed files as read from Config.changed_files_index. NOTE: it may include extra source_files if --changed-files-index contains paths to header files.

    val read_config_files_to_analyze : unit -> Set.t option

    return the list of files as read from Config.files_to_analyze_index. NOTE: it may include extra source_files if --changed-files-index contains paths to header files.

    val invalid : string -> t

    Invalid source file

    val equal : t -> t -> bool

    equality of source files

    val from_abs_path : ?warn_on_error:bool -> string -> t

    create source file from absolute path. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).

    val create : ?check_abs_path:bool -> ?check_rel_path:bool -> string -> t

    Create a SourceFile from a given path. If relative, it assumes it is w.r.t. project root. WARNING: if check_abs_path (check_rel_path) is true then a warning message is shown if the provided path is absolute (relative) and an error occurs when resolving (e.g. if it does not exist).

    val is_under_project_root : t -> bool

    Returns true if the file is under the project root or the workspace directory if it exists

    val of_header : ?warn_on_error:bool -> t -> t option

    Return approximate source file corresponding to the parameter if it's header file and file exists. returns None otherwise. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given SourceFile (e.g. if it does not exist).

    val pp : Stdlib.Format.formatter -> t -> unit

    pretty print t

    val to_abs_path : t -> string

    get the full path of a source file

    val to_rel_path : t -> string

    get the relative path of a source file

    val to_string : ?force_relative:bool -> t -> string

    convert a source file to a string WARNING: result may not be valid file path, do not use this function to perform operations on filenames

    val has_extension : ext:string -> t -> bool

    returns whether the source file has provided extension

    val is_matching : IStdlib.IStd.Str.regexp list -> t -> bool

    Check if the source file path is matching with a regexp of the given regexp list.

    module SQLite : SqliteUtils.Data with type t = t
    +SourceFile (infer.IBase.SourceFile)

    Module IBase.SourceFile

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Sexplib0.Sexpable.S with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val hash_normalize : t -> t
    val hash_normalize_opt : t option -> t option
    val hash_normalize_list : t list -> t list
    module Map : Stdlib.Map.S with type key = t

    Maps from source_file

    module Set : Stdlib.Set.S with type elt = t

    Set of source files

    module Hash : Stdlib.Hashtbl.S with type key = t

    Mutable hash tables and sets keyed on source files

    module HashSet : IStdlib.HashSet.S with type elt = t
    val is_invalid : t -> bool

    Is the source file the invalid source file?

    val read_config_changed_files : unit -> Set.t option

    return the list of changed files as read from Config.changed_files_index. NOTE: it may include extra source_files if --changed-files-index contains paths to header files.

    val read_config_files_to_analyze : unit -> Set.t option

    return the list of files as read from Config.files_to_analyze_index. NOTE: it may include extra source_files if --changed-files-index contains paths to header files.

    val invalid : string -> t

    Invalid source file

    val equal : t -> t -> bool

    equality of source files

    val from_abs_path : ?warn_on_error:bool -> string -> t

    create source file from absolute path. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).

    val create : ?check_abs_path:bool -> ?check_rel_path:bool -> string -> t

    Create a SourceFile from a given path. If relative, it assumes it is w.r.t. project root. WARNING: if check_abs_path (check_rel_path) is true then a warning message is shown if the provided path is absolute (relative) and an error occurs when resolving (e.g. if it does not exist).

    val is_under_project_root : t -> bool

    Returns true if the file is under the project root or the workspace directory if it exists

    val of_header : ?warn_on_error:bool -> t -> t option

    Return approximate source file corresponding to the parameter if it's header file and file exists. returns None otherwise. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given SourceFile (e.g. if it does not exist).

    val pp : Stdlib.Format.formatter -> t -> unit

    pretty print t

    val to_abs_path : t -> string

    get the full path of a source file

    val to_rel_path : t -> string

    get the relative path of a source file

    val to_string : ?force_relative:bool -> t -> string

    convert a source file to a string WARNING: result may not be valid file path, do not use this function to perform operations on filenames

    val has_extension : ext:string -> t -> bool

    returns whether the source file has provided extension

    val is_matching : IStdlib.IStd.Str.regexp list -> t -> bool

    Check if the source file path is matching with a regexp of the given regexp list.

    module SQLite : SqliteUtils.Data with type t = t
    diff --git a/website/static/odoc/next/infer/IBase/Stats/index.html b/website/static/odoc/next/infer/IBase/Stats/index.html index 3c3767efd88..f68d8506353 100644 --- a/website/static/odoc/next/infer/IBase/Stats/index.html +++ b/website/static/odoc/next/infer/IBase/Stats/index.html @@ -1,2 +1,2 @@ -Stats (infer.IBase.Stats)

    Module IBase.Stats

    collect statistics about backend/analysis operations

    type t
    val incr_summary_file_try_load : unit -> unit

    a query to the filesystem attempting to load a summary file

    val incr_summary_read_from_disk : unit -> unit

    a summary file is deserialized from disk

    val incr_summary_cache_hits : unit -> unit
    val incr_summary_cache_misses : unit -> unit
    val incr_summary_specializations : unit -> unit
    val incr_ondemand_procs_analyzed : unit -> unit
    val incr_ondemand_double_analysis_prevented : unit -> unit
    val add_to_proc_locker_lock_time : ExecutionDuration.t -> unit
    val add_to_proc_locker_unlock_time : ExecutionDuration.t -> unit
    val add_to_restart_scheduler_total_time : ExecutionDuration.t -> unit
    val add_to_restart_scheduler_useful_time : ExecutionDuration.t -> unit
    val incr_pulse_aliasing_contradictions : unit -> unit
    val incr_pulse_args_length_contradictions : unit -> unit
    val incr_pulse_captured_vars_length_contradictions : unit -> unit
    val add_pulse_disjuncts_dropped : int -> unit
    val add_pulse_interrupted_loops : int -> unit
    val incr_pulse_unknown_calls : unit -> unit
    val incr_pulse_unknown_calls_on_hack_resource : unit -> unit
    val incr_pulse_summaries_contradictions : unit -> unit
    val incr_pulse_summaries_unsat_for_caller : unit -> unit
    val incr_pulse_summaries_with_some_unreachable_nodes : unit -> unit
    val incr_pulse_summaries_with_some_unreachable_returns : unit -> unit
    val incr_pulse_summaries_count_0_continue_program : unit -> unit
    val add_pulse_summaries_count : int -> unit
    val add_proc_duration_us : string -> string -> int -> unit
    val incr_topl_reachable_calls : unit -> unit
    val incr_timeouts : unit -> unit
    val add_timing : Timeable.t -> float -> unit
    val set_process_times : ExecutionDuration.t -> unit
    val set_useful_times : ExecutionDuration.t -> unit
    val incr_spec_store_times : ExecutionDuration.counter -> unit
    val reset : unit -> unit

    reset all stats

    val get : unit -> t

    get the stats so far

    val log_aggregate : t list -> unit

    log aggregated stats to infer's log file and to Scuba

    +Stats (infer.IBase.Stats)

    Module IBase.Stats

    collect statistics about backend/analysis operations

    type t
    val incr_summary_file_try_load : unit -> unit

    a query to the filesystem attempting to load a summary file

    val incr_summary_read_from_disk : unit -> unit

    a summary file is deserialized from disk

    val incr_summary_cache_hits : unit -> unit
    val incr_summary_cache_misses : unit -> unit
    val incr_summary_specializations : unit -> unit
    val incr_ondemand_procs_analyzed : unit -> unit
    val incr_ondemand_double_analysis_prevented : unit -> unit
    val incr_ondemand_recursion_cycle_restart_limit_hit : unit -> unit
    val add_to_proc_locker_lock_time : ExecutionDuration.t -> unit
    val add_to_proc_locker_unlock_time : ExecutionDuration.t -> unit
    val add_to_restart_scheduler_total_time : ExecutionDuration.t -> unit
    val add_to_restart_scheduler_useful_time : ExecutionDuration.t -> unit
    val incr_pulse_aliasing_contradictions : unit -> unit
    val incr_pulse_args_length_contradictions : unit -> unit
    val incr_pulse_captured_vars_length_contradictions : unit -> unit
    val add_pulse_disjuncts_dropped : int -> unit
    val add_pulse_interrupted_loops : int -> unit
    val incr_pulse_unknown_calls : unit -> unit
    val incr_pulse_unknown_calls_on_hack_resource : unit -> unit
    val incr_pulse_summaries_contradictions : unit -> unit
    val incr_pulse_summaries_unsat_for_caller : unit -> unit
    val incr_pulse_summaries_with_some_unreachable_nodes : unit -> unit
    val incr_pulse_summaries_with_some_unreachable_returns : unit -> unit
    val incr_pulse_summaries_count_0_continue_program : unit -> unit
    val add_pulse_summaries_count : int -> unit
    val add_proc_duration_us : string -> string -> int -> unit
    val incr_topl_reachable_calls : unit -> unit
    val incr_timeouts : unit -> unit
    val add_timing : Timeable.t -> float -> unit
    val set_process_times : ExecutionDuration.t -> unit
    val set_useful_times : ExecutionDuration.t -> unit
    val incr_spec_store_times : ExecutionDuration.counter -> unit
    val reset : unit -> unit

    reset all stats

    val get : unit -> t

    get the stats so far

    val log_aggregate : t list -> unit

    log aggregated stats to infer's log file and to Scuba

    diff --git a/website/static/odoc/next/infer/IBase/Timeable/index.html b/website/static/odoc/next/infer/IBase/Timeable/index.html index deb0a83d1fc..5e5c9bc1045 100644 --- a/website/static/odoc/next/infer/IBase/Timeable/index.html +++ b/website/static/odoc/next/infer/IBase/Timeable/index.html @@ -1,2 +1,2 @@ -Timeable (infer.IBase.Timeable)

    Module IBase.Timeable

    module F = Stdlib.Format
    type t =
    1. | Checker of Checker.t
    2. | Preanalysis
      (*

      the "pre-analysis" phase of a procedure, before we run the checkers

      *)

    types of everything we might possibly want to time

    val to_string : t -> string
    val pp : F.formatter -> t -> unit
    module Map : IStdlib.IStd.Caml.Map.S with type key = t
    val mk_map_of_all : init:'a -> 'a Map.t

    mk_map_of_all ~init is a map timeable -> init for all timeable keys

    +Timeable (infer.IBase.Timeable)

    Module IBase.Timeable

    module F = Stdlib.Format
    type t =
    1. | Checker of Checker.t
    2. | Preanalysis
      (*

      the "pre-analysis" phase of a procedure, before we run the checkers

      *)

    types of everything we might possibly want to time

    val to_string : t -> string
    val pp : F.formatter -> t -> unit
    module Map : Stdlib.Map.S with type key = t
    val mk_map_of_all : init:'a -> 'a Map.t

    mk_map_of_all ~init is a map timeable -> init for all timeable keys

    diff --git a/website/static/odoc/next/infer/IBase/Utils/index.html b/website/static/odoc/next/infer/IBase/Utils/index.html index cea561794e3..f91376c9ae9 100644 --- a/website/static/odoc/next/infer/IBase/Utils/index.html +++ b/website/static/odoc/next/infer/IBase/Utils/index.html @@ -22,7 +22,7 @@ (IStdlib.IStd.In_channel.t -> 'a) -> 'a * IStdlib.IStd.Unix.Exit_or_signal.t
    val create_dir : string -> unit

    recursively create a directory if it does not exist already

    val out_channel_create_with_dir : IStdlib.IStd.Filename.t -> - IStdlib.IStd.Out_channel.t

    create an out channel with creating missing directories

    val realpath : ?warn_on_error:bool -> string -> string

    realpath warn_on_error path returns path with all symbolic links resolved. It caches results of previous calls to avoid expensive system calls. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).

    val suppress_stderr2 : ('a -> 'b -> 'c) -> 'a -> 'b -> 'c

    wraps a function expecting 2 arguments in another that temporarily redirects stderr to /dev/null for the duration of the function call

    val rmtree : ?except:string list -> string -> unit

    rmtree path removes path and, if path is a directory, recursively removes its contents. Files whose name matches the absolute paths in except are not removed. If except is specified then path will only be spared if path appears literally in except (whereas files that are deeper will match if their absolute path is in except).

    val rm_all_in_dir : ?except:string list -> string -> unit

    rm_all_in_dir ?except path removes all entries in path/* except for the (absolute) paths in except

    val iter_dir : string -> f:(string -> unit) -> unit

    iterate on each entry in the directory except for "." and ".."

    val better_hash : 'a -> IStdlib.IStd.Caml.Digest.t

    Hashtbl.hash only hashes the first 10 meaningful values, better_hash uses everything.

    delete temporary file on exit

    val strip_balanced_once : drop:(char -> bool) -> string -> string

    drop at most one layer of well-balanced first and last characters satisfying drop from the string; for instance, strip_balanced ~drop:(function | 'a' | 'x' -> true | _ -> false) "xaabax" returns "aaba"

    val timeit : f:(unit -> 'a) -> 'a * Mtime.Span.t

    Returns the execution time of f together with its result

    val do_in_dir : dir:string -> f:(unit -> 'a) -> 'a

    executes f after cding into dir and then restores original cwd

    val get_available_memory_MB : unit -> int option

    On Linux systems, return Some x where MemAvailable x is in /proc/meminfo. Returns None in all other cases.

    val fold_infer_deps : + IStdlib.IStd.Out_channel.t

    create an out channel with creating missing directories

    val realpath : ?warn_on_error:bool -> string -> string

    realpath warn_on_error path returns path with all symbolic links resolved. It caches results of previous calls to avoid expensive system calls. WARNING: If warn_on_error is false, no warning will be shown whenever an error occurs for the given path (e.g. if it does not exist).

    val suppress_stderr2 : ('a -> 'b -> 'c) -> 'a -> 'b -> 'c

    wraps a function expecting 2 arguments in another that temporarily redirects stderr to /dev/null for the duration of the function call

    val rmtree : ?except:string list -> string -> unit

    rmtree path removes path and, if path is a directory, recursively removes its contents. Files whose name matches the absolute paths in except are not removed. If except is specified then path will only be spared if path appears literally in except (whereas files that are deeper will match if their absolute path is in except).

    val rm_all_in_dir : ?except:string list -> string -> unit

    rm_all_in_dir ?except path removes all entries in path/* except for the (absolute) paths in except

    val iter_dir : string -> f:(string -> unit) -> unit

    iterate on each entry in the directory except for "." and ".."

    val better_hash : 'a -> Stdlib.Digest.t

    Hashtbl.hash only hashes the first 10 meaningful values, better_hash uses everything.

    delete temporary file on exit

    val strip_balanced_once : drop:(char -> bool) -> string -> string

    drop at most one layer of well-balanced first and last characters satisfying drop from the string; for instance, strip_balanced ~drop:(function | 'a' | 'x' -> true | _ -> false) "xaabax" returns "aaba"

    val timeit : f:(unit -> 'a) -> 'a * Mtime.Span.t

    Returns the execution time of f together with its result

    val do_in_dir : dir:string -> f:(unit -> 'a) -> 'a

    executes f after cding into dir and then restores original cwd

    val get_available_memory_MB : unit -> int option

    On Linux systems, return Some x where MemAvailable x is in /proc/meminfo. Returns None in all other cases.

    val fold_infer_deps : root:string -> string -> init:'a -> diff --git a/website/static/odoc/next/infer/IR/CapturedVar/index.html b/website/static/odoc/next/infer/IR/CapturedVar/index.html index 68f5dc9af32..922c746b1c6 100644 --- a/website/static/odoc/next/infer/IR/CapturedVar/index.html +++ b/website/static/odoc/next/infer/IR/CapturedVar/index.html @@ -11,7 +11,7 @@ captured_info option -> captured_info option
    val hash_normalize_captured_info_list : captured_info list -> - captured_info list
    type context_info = {
    1. is_checked_for_null : bool;
    }
    val compare_context_info : context_info -> context_info -> int
    val equal_context_info : context_info -> context_info -> bool
    val sexp_of_context_info : context_info -> Sexplib0.Sexp.t
    val context_info_of_sexp : Sexplib0.Sexp.t -> context_info
    val hash_fold_context_info : + captured_info list
    type context_info = {
    1. is_checked_for_null : bool;
    2. is_internal_pointer_of : Typ.t option;
    }
    val compare_context_info : context_info -> context_info -> int
    val equal_context_info : context_info -> context_info -> bool
    val sexp_of_context_info : context_info -> Sexplib0.Sexp.t
    val context_info_of_sexp : Sexplib0.Sexp.t -> context_info
    val hash_fold_context_info : Ppx_hash_lib.Std.Hash.state -> context_info -> Ppx_hash_lib.Std.Hash.state
    val hash_context_info : context_info -> Ppx_hash_lib.Std.Hash.hash_value
    val hash_normalize_context_info : context_info -> context_info
    val hash_normalize_context_info_opt : diff --git a/website/static/odoc/next/infer/IR/Exp/index.html b/website/static/odoc/next/infer/IR/Exp/index.html index 439eda8e305..ca38069e990 100644 --- a/website/static/odoc/next/infer/IR/Exp/index.html +++ b/website/static/odoc/next/infer/IR/Exp/index.html @@ -15,7 +15,7 @@ lfield_obj_data option -> lfield_obj_data option
    val hash_normalize_lfield_obj_data_list : lfield_obj_data list -> - lfield_obj_data list
    val hash_normalize : t -> t
    val hash_normalize_opt : t option -> t option
    val hash_normalize_list : t list -> t list
    val equal : t -> t -> bool

    Equality for expressions.

    module Set : IStdlib.IStd.Caml.Set.S with type elt = t

    Set of expressions.

    module Map : IStdlib.IStd.Caml.Map.S with type key = t

    Map with expression keys.

    module Hash : IStdlib.IStd.Caml.Hashtbl.S with type key = t

    Hashtable with expression keys.

    val is_null_literal : t -> bool
    val is_this : t -> bool

    return true if exp is the special this/self expression

    val is_zero : t -> bool
    val is_const : t -> bool

    Utility Functions for Expressions

    val texp_to_typ : Typ.t option -> t -> Typ.t

    Turn an expression representing a type into the type it represents If not a sizeof, return the default type if given, otherwise raise an exception

    val root_of_lexp : t -> t

    Return the root of lexp.

    val get_undefined : bool -> t

    Get an expression "undefined", the boolean indicates whether the undefined value goest into the footprint

    val pointer_arith : t -> bool

    Checks whether an expression denotes a location using pointer arithmetic. Currently, catches array - indexing expressions such as ai only.

    val has_local_addr : t -> bool

    returns true if the expression operates on address of local variable

    val zero : t

    Integer constant 0

    val null : t

    Null constant

    val one : t

    Integer constant 1

    val minus_one : t

    Integer constant -1

    val int : IntLit.t -> t

    Create integer constant

    val float : float -> t

    Create float constant

    val bool : bool -> t

    Create integer constant corresponding to the boolean value

    val eq : t -> t -> t

    Create expression e1 == e2

    val ne : t -> t -> t

    Create expression e1 != e2

    val le : t -> t -> t

    Create expression e1 <= e2

    val lt : t -> t -> t

    Create expression e1 < e2

    val free_vars : t -> Ident.t IStdlib.IStd.Sequence.t

    all the idents appearing in the expression

    val gen_free_vars : t -> (unit, Ident.t) IStdlib.IStd.Sequence.Generator.t
    val ident_mem : t -> Ident.t -> bool

    true if the identifier appears in the expression

    val program_vars : t -> Pvar.t IStdlib.IStd.Sequence.t

    all the program variables appearing in the expression

    val closures : t -> closure IStdlib.IStd.Sequence.t

    all closures appearing in the expression

    val fold_captured : f:('a -> t -> 'a) -> t -> 'a -> 'a

    Fold over the expressions captured by this expression.

    val pp_diff : ?print_types:bool -> IStdlib.Pp.env -> F.formatter -> t -> unit
    val pp : F.formatter -> t -> unit
    val pp_closure : F.formatter -> closure -> unit
    val to_string : t -> string
    val d_exp : t -> unit

    dump an expression.

    val pp_texp : IStdlib.Pp.env -> F.formatter -> t -> unit

    Pretty print a type.

    val pp_texp_full : IStdlib.Pp.env -> F.formatter -> t -> unit

    Pretty print a type with all the details.

    val d_texp_full : t -> unit

    Dump a type expression with all the details.

    val d_list : t list -> unit

    Dump a list of expressions.

    val is_cpp_closure : t -> bool
    val zero_of_type : Typ.t -> t option

    Returns the zero value of a type, for int, float and ptr types

    val zero_of_type_exn : Typ.t -> t
    val ignore_cast : t -> t
    val ignore_integer_cast : t -> t
    val get_java_class_initializer : + lfield_obj_data list
    val hash_normalize : t -> t
    val hash_normalize_opt : t option -> t option
    val hash_normalize_list : t list -> t list
    val equal : t -> t -> bool

    Equality for expressions.

    module Set : Stdlib.Set.S with type elt = t

    Set of expressions.

    module Map : Stdlib.Map.S with type key = t

    Map with expression keys.

    module Hash : Stdlib.Hashtbl.S with type key = t

    Hashtable with expression keys.

    val is_null_literal : t -> bool
    val is_this : t -> bool

    return true if exp is the special this/self expression

    val is_zero : t -> bool
    val is_const : t -> bool

    Utility Functions for Expressions

    val texp_to_typ : Typ.t option -> t -> Typ.t

    Turn an expression representing a type into the type it represents If not a sizeof, return the default type if given, otherwise raise an exception

    val root_of_lexp : t -> t

    Return the root of lexp.

    val get_undefined : bool -> t

    Get an expression "undefined", the boolean indicates whether the undefined value goest into the footprint

    val pointer_arith : t -> bool

    Checks whether an expression denotes a location using pointer arithmetic. Currently, catches array - indexing expressions such as ai only.

    val has_local_addr : t -> bool

    returns true if the expression operates on address of local variable

    val zero : t

    Integer constant 0

    val null : t

    Null constant

    val one : t

    Integer constant 1

    val minus_one : t

    Integer constant -1

    val int : IntLit.t -> t

    Create integer constant

    val float : float -> t

    Create float constant

    val bool : bool -> t

    Create integer constant corresponding to the boolean value

    val eq : t -> t -> t

    Create expression e1 == e2

    val ne : t -> t -> t

    Create expression e1 != e2

    val le : t -> t -> t

    Create expression e1 <= e2

    val lt : t -> t -> t

    Create expression e1 < e2

    val free_vars : t -> Ident.t IStdlib.IStd.Sequence.t

    all the idents appearing in the expression

    val gen_free_vars : t -> (unit, Ident.t) IStdlib.IStd.Sequence.Generator.t
    val ident_mem : t -> Ident.t -> bool

    true if the identifier appears in the expression

    val program_vars : t -> Pvar.t IStdlib.IStd.Sequence.t

    all the program variables appearing in the expression

    val closures : t -> closure IStdlib.IStd.Sequence.t

    all closures appearing in the expression

    val fold_captured : f:('a -> t -> 'a) -> t -> 'a -> 'a

    Fold over the expressions captured by this expression.

    val pp_diff : ?print_types:bool -> IStdlib.Pp.env -> F.formatter -> t -> unit
    val pp : F.formatter -> t -> unit
    val pp_closure : F.formatter -> closure -> unit
    val to_string : t -> string
    val d_exp : t -> unit

    dump an expression.

    val pp_texp : IStdlib.Pp.env -> F.formatter -> t -> unit

    Pretty print a type.

    val pp_texp_full : IStdlib.Pp.env -> F.formatter -> t -> unit

    Pretty print a type with all the details.

    val d_texp_full : t -> unit

    Dump a type expression with all the details.

    val d_list : t list -> unit

    Dump a list of expressions.

    val is_cpp_closure : t -> bool
    val zero_of_type : Typ.t -> t option

    Returns the zero value of a type, for int, float and ptr types

    val zero_of_type_exn : Typ.t -> t
    val ignore_cast : t -> t
    val ignore_integer_cast : t -> t
    val get_java_class_initializer : Tenv.t -> t -> (Procname.t * Pvar.t * Fieldname.t * Typ.t) option

    Returns the class initializer of the given expression in Java

    diff --git a/website/static/odoc/next/infer/IR/Fieldname/Map/index.html b/website/static/odoc/next/infer/IR/Fieldname/Map/index.html index fa90403a0e7..92324437666 100644 --- a/website/static/odoc/next/infer/IR/Fieldname/Map/index.html +++ b/website/static/odoc/next/infer/IR/Fieldname/Map/index.html @@ -1,5 +1,5 @@ -Map (infer.IR.Fieldname.Map)

    Module Fieldname.Map

    Map for fieldnames

    include IStdlib.IStd.Caml.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +Map (infer.IR.Fieldname.Map)

    Module Fieldname.Map

    Map for fieldnames

    include Stdlib.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IR/Fieldname/Set/index.html b/website/static/odoc/next/infer/IR/Fieldname/Set/index.html index e36dde0d79a..ce8573b0691 100644 --- a/website/static/odoc/next/infer/IR/Fieldname/Set/index.html +++ b/website/static/odoc/next/infer/IR/Fieldname/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.IR.Fieldname.Set)

    Module Fieldname.Set

    Set for fieldnames

    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.IR.Fieldname.Set)

    Module Fieldname.Set

    Set for fieldnames

    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/IR/Ident/index.html b/website/static/odoc/next/infer/IR/Ident/index.html index ae0d347f616..654fa24f6b0 100644 --- a/website/static/odoc/next/infer/IR/Ident/index.html +++ b/website/static/odoc/next/infer/IR/Ident/index.html @@ -2,7 +2,7 @@ Ident (infer.IR.Ident)

    Module IR.Ident

    Identifiers: program variables and logical variables

    type t

    Program and logical variables.

    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
    include Sexplib0.Sexpable.S with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val hash_normalize : t -> t
    val hash_normalize_opt : t option -> t option
    val hash_normalize_list : t list -> t list
    val equal : t -> t -> bool

    Equality for identifiers.

    type name

    Names used to replace strings.

    val compare_name : name -> name -> int
    val hash_fold_name : Ppx_hash_lib.Std.Hash.state -> name -> - Ppx_hash_lib.Std.Hash.state
    val hash_name : name -> Ppx_hash_lib.Std.Hash.hash_value
    val hash_normalize_name : name -> name
    val hash_normalize_name_opt : name option -> name option
    val hash_normalize_name_list : name list -> name list
    val equal_name : name -> name -> bool

    Equality for names.

    type kind

    Kind of identifiers.

    val compare_kind : kind -> kind -> int
    val equal_kind : kind -> kind -> bool

    Equality for kind.

    module Set : IStdlib.IStd.Caml.Set.S with type elt = t

    Set for identifiers.

    module Map : IStdlib.IStd.Caml.Map.S with type key = t

    Map with ident as key.

    module HashQueue : IStdlib.IStd.Hash_queue.S with type key = t
    module NameGenerator : sig ... end
    val idlist_to_idset : t list -> Set.t

    Convert an identifier list to an identifier set

    val kprimed : kind
    val knormal : kind
    val kfootprint : kind
    val knone : kind
    val name_spec : name

    Name used for spec variables

    val name_return : Mangled.t

    Name used for the return variable

    val string_to_name : string -> name

    Convert a string to a name.

    val name_to_string : name -> string

    Convert a name to a string.

    val get_name : t -> name

    Name of the identifier.

    val create_with_stamp : kind -> name -> int -> t
    val create : kind -> int -> t

    Create an identifier with default name for the given kind

    val create_normal : name -> int -> t

    Generate a normal identifier with the given name and stamp.

    val create_none : unit -> t

    Create a "null" identifier for situations where the IR requires an id that will never be read

    val update_name_generator : t list -> unit

    Update the name generator so that the given id's are not generated again

    val create_fresh : kind -> t

    Create a fresh identifier with default name for the given kind.

    val create_path : string -> t

    Generate a normal identifier whose name encodes a path given as a string.

    val is_primed : t -> bool

    Check whether an identifier is primed or not.

    val is_normal : t -> bool

    Check whether an identifier is normal or not.

    val is_footprint : t -> bool

    Check whether an identifier is footprint or not.

    val is_path : t -> bool

    Check whether an identifier represents a path or not.

    val is_none : t -> bool

    Check whether an identifier is the special "none" identifier

    val get_stamp : t -> int

    Get the stamp of the identifier

    val set_stamp : t -> int -> t

    Set the stamp of the identifier

    Pretty Printing

    val pp_name : Stdlib.Format.formatter -> name -> unit

    Pretty print a name.

    val pp : Stdlib.Format.formatter -> t -> unit

    Pretty print an identifier.

    val to_string : t -> string

    Convert an identifier to a string.

    val hashqueue_of_sequence : + Ppx_hash_lib.Std.Hash.state
    val hash_name : name -> Ppx_hash_lib.Std.Hash.hash_value
    val hash_normalize_name : name -> name
    val hash_normalize_name_opt : name option -> name option
    val hash_normalize_name_list : name list -> name list
    val equal_name : name -> name -> bool

    Equality for names.

    type kind

    Kind of identifiers.

    val compare_kind : kind -> kind -> int
    val equal_kind : kind -> kind -> bool

    Equality for kind.

    module Set : Stdlib.Set.S with type elt = t

    Set for identifiers.

    module Map : Stdlib.Map.S with type key = t

    Map with ident as key.

    module HashQueue : IStdlib.IStd.Hash_queue.S with type key = t
    module NameGenerator : sig ... end
    val idlist_to_idset : t list -> Set.t

    Convert an identifier list to an identifier set

    val kprimed : kind
    val knormal : kind
    val kfootprint : kind
    val knone : kind
    val name_spec : name

    Name used for spec variables

    val name_return : Mangled.t

    Name used for the return variable

    val string_to_name : string -> name

    Convert a string to a name.

    val name_to_string : name -> string

    Convert a name to a string.

    val get_name : t -> name

    Name of the identifier.

    val create_with_stamp : kind -> name -> int -> t
    val create : kind -> int -> t

    Create an identifier with default name for the given kind

    val create_normal : name -> int -> t

    Generate a normal identifier with the given name and stamp.

    val create_none : unit -> t

    Create a "null" identifier for situations where the IR requires an id that will never be read

    val update_name_generator : t list -> unit

    Update the name generator so that the given id's are not generated again

    val create_fresh : kind -> t

    Create a fresh identifier with default name for the given kind.

    val create_path : string -> t

    Generate a normal identifier whose name encodes a path given as a string.

    val is_primed : t -> bool

    Check whether an identifier is primed or not.

    val is_normal : t -> bool

    Check whether an identifier is normal or not.

    val is_footprint : t -> bool

    Check whether an identifier is footprint or not.

    val is_path : t -> bool

    Check whether an identifier represents a path or not.

    val is_none : t -> bool

    Check whether an identifier is the special "none" identifier

    val get_stamp : t -> int

    Get the stamp of the identifier

    val set_stamp : t -> int -> t

    Set the stamp of the identifier

    Pretty Printing

    val pp_name : Stdlib.Format.formatter -> name -> unit

    Pretty print a name.

    val pp : Stdlib.Format.formatter -> t -> unit

    Pretty print an identifier.

    val to_string : t -> string

    Convert an identifier to a string.

    val hashqueue_of_sequence : ?init:unit HashQueue.t -> t IStdlib.IStd.Sequence.t -> unit HashQueue.t
    val set_of_sequence : ?init:Set.t -> t IStdlib.IStd.Sequence.t -> Set.t
    val counts_of_sequence : t IStdlib.IStd.Sequence.t -> t -> int
    diff --git a/website/static/odoc/next/infer/IR/Mangled/Map/index.html b/website/static/odoc/next/infer/IR/Mangled/Map/index.html index b2922506d55..7cd8f9c9a3d 100644 --- a/website/static/odoc/next/infer/IR/Mangled/Map/index.html +++ b/website/static/odoc/next/infer/IR/Mangled/Map/index.html @@ -1,5 +1,5 @@ -Map (infer.IR.Mangled.Map)

    Module Mangled.Map

    Map with Mangled as key

    include IStdlib.IStd.Caml.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +Map (infer.IR.Mangled.Map)

    Module Mangled.Map

    Map with Mangled as key

    include Stdlib.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IR/Mangled/Set/index.html b/website/static/odoc/next/infer/IR/Mangled/Set/index.html index e8f86d324db..a539914a572 100644 --- a/website/static/odoc/next/infer/IR/Mangled/Set/index.html +++ b/website/static/odoc/next/infer/IR/Mangled/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.IR.Mangled.Set)

    Module Mangled.Set

    Set of Mangled.

    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.IR.Mangled.Set)

    Module Mangled.Set

    Set of Mangled.

    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/IR/ProcAttributes/index.html b/website/static/odoc/next/infer/IR/ProcAttributes/index.html index fb8ae26a46a..32285fb4de0 100644 --- a/website/static/odoc/next/infer/IR/ProcAttributes/index.html +++ b/website/static/odoc/next/infer/IR/ProcAttributes/index.html @@ -19,4 +19,4 @@ int
    val equal_block_as_arg_attributes : block_as_arg_attributes -> block_as_arg_attributes -> - bool
    type t = {
    1. access : access;
      (*

      visibility access

      *)
    2. captured : CapturedVar.t list;
      (*

      name, type, and mode of variables captured in blocks and lambdas

      *)
    3. mutable changed : bool;
      (*

      true if proc has changed since last analysis

      *)
    4. exceptions : string list;
      (*

      exceptions thrown by the procedure

      *)
    5. formals : (Mangled.t * Typ.t * Annot.Item.t) list;
      (*

      name, type, and annotation of formal parameters

      *)
    6. const_formals : int list;
      (*

      list of indices of formals that are const-qualified

      *)
    7. reference_formals : int list;
      (*

      list of indices of formals that are passed by reference

      *)
    8. is_abstract : bool;
      (*

      the procedure is abstract

      *)
    9. is_biabduction_model : bool;
      (*

      the procedure is a model for the biabduction analysis

      *)
    10. is_bridge_method : bool;
      (*

      the procedure is a bridge method

      *)
    11. is_cpp_const_member_fun : bool;
      (*

      true if the procedure is a const function

      *)
    12. is_cpp_copy_assignment : bool;
      (*

      true if the procedure is a copy assignment

      *)
    13. is_cpp_copy_ctor : bool;
      (*

      true if the procedure is a copy constructor

      *)
    14. is_cpp_move_ctor : bool;
      (*

      true if the procedure is a move constructor

      *)
    15. is_cpp_deleted : bool;
      (*

      true if the procedure is deleted

      *)
    16. is_cpp_implicit : bool;
      (*

      returns false if the declaration exists in code and true if it was created implicitly by the compiler

      *)
    17. is_defined : bool;
      (*

      true if the procedure is defined, and not just declared

      *)
    18. is_java_synchronized_method : bool;
      (*

      the procedure is a Java synchronized method

      *)
    19. is_csharp_synchronized_method : bool;
      (*

      the procedure is a C# synchronized method

      *)
    20. is_hack_async : bool;
    21. is_hack_wrapper : bool;
      (*

      a generated wrapper for LSB or default parameters

      *)
    22. block_as_arg_attributes : block_as_arg_attributes option;
      (*

      Present if the procedure is an Objective-C block that has been passed to the given method in a position annotated with the NS_NOESCAPE attribute.

      *)
    23. is_no_return : bool;
      (*

      the procedure is known not to return

      *)
    24. is_objc_arc_on : bool;
      (*

      the ObjC procedure is compiled with ARC

      *)
    25. is_specialized : bool;
      (*

      the procedure is a clone specialized for dynamic dispatch handling

      *)
    26. is_synthetic_method : bool;
      (*

      the procedure is a synthetic method

      *)
    27. is_clang_variadic : bool;
      (*

      the procedure is variadic, only supported for Clang procedures

      *)
    28. hack_variadic_position : int option;
      (*

      the procedure is variadic and Some n means the variadic vector is composed of the arguments n, n+1, ..., length formals -1

      *)
    29. sentinel_attr : (int * int) option;
      (*

      __attribute__((sentinel(int, int)))

      *)
    30. specialized_with_aliasing_info : specialized_with_aliasing_info option;
      (*

      the procedure is a clone specialized with captured variables and paramaters sharing memory, with link to the original procedure, and a list of variables aliasing each other.

      *)
    31. specialized_with_closures_info : specialized_with_closures_info option;
      (*

      the procedure is a clone specialized with calls to concrete closures, with link to the original procedure, and a map that links the original formals to the elements of the closure used to specialize the procedure.

      *)
    32. clang_method_kind : ClangMethodKind.t;
      (*

      the kind of method the procedure is

      *)
    33. loc : IBase.Location.t;
      (*

      location of this procedure in the source code

      *)
    34. loc_instantiated : IBase.Location.t option;
      (*

      location of this procedure is possibly instantiated

      *)
    35. translation_unit : IBase.SourceFile.t;
      (*

      source file where the procedure was captured

      *)
    36. mutable locals : var_data list;
      (*

      name, type and attributes of local variables

      *)
    37. objc_accessor : objc_accessor_type option;
      (*

      type of ObjC accessor, if any

      *)
    38. proc_name : Procname.t;
      (*

      name of the procedure

      *)
    39. ret_type : Typ.t;
      (*

      return type

      *)
    40. ret_annots : Annot.Item.t;
      (*

      annotations of return type

      *)
    41. has_added_return_param : bool;
      (*

      whether or not a return param was added

      *)
    42. is_ret_type_pod : bool;
      (*

      whether or not the return type is POD

      *)
    43. is_ret_constexpr : bool;
      (*

      whether the (C++) function or method is declared as constexpr

      *)
    }
    val default : IBase.SourceFile.t -> Procname.t -> t

    Create a proc_attributes with default values.

    val default_var_data : Pvar.t -> Typ.t -> var_data
    val pp : Stdlib.Format.formatter -> t -> unit
    val get_access : t -> access

    Return the visibility attribute

    val get_loc : t -> IBase.Location.t

    Return loc information for the procedure

    val get_loc_instantiated : t -> IBase.Location.t option

    Return instantiated loc information for the procedure

    val get_proc_name : t -> Procname.t
    val get_pvar_formals : t -> (Pvar.t * Typ.t) list

    Return pvar and type of formal parameters

    val get_passed_by_value_formals : t -> (Pvar.t * Typ.t) list

    Return pvar and type of formal parameters that are passed by value

    val get_passed_by_ref_formals : t -> (Pvar.t * Typ.t) list

    Return pvar and type of formal parameters that are passed by reference

    val get_pointer_formals : t -> (Pvar.t * Typ.t) list

    Return pvar and type of formal parameters that are passed as pointer, i.e. T*

    val to_return_type : t -> Typ.t

    the return type from method signature, taking into account if the procedure has added return parameter

    val get_this : t -> Pvar.t option

    if the procedures is an instance method then this is its self or this variable

    val pp_block_as_arg_attributes : F.formatter -> block_as_arg_attributes -> unit
    module SQLite : IBase.SqliteUtils.Data with type t = t
    + bool
    type t = {
    1. access : access;
      (*

      visibility access

      *)
    2. captured : CapturedVar.t list;
      (*

      name, type, and mode of variables captured in blocks and lambdas

      *)
    3. mutable changed : bool;
      (*

      true if proc has changed since last analysis

      *)
    4. exceptions : string list;
      (*

      exceptions thrown by the procedure

      *)
    5. formals : (Mangled.t * Typ.t * Annot.Item.t) list;
      (*

      name, type, and annotation of formal parameters

      *)
    6. const_formals : int list;
      (*

      list of indices of formals that are const-qualified

      *)
    7. reference_formals : int list;
      (*

      list of indices of formals that are passed by reference

      *)
    8. is_abstract : bool;
      (*

      the procedure is abstract

      *)
    9. is_biabduction_model : bool;
      (*

      the procedure is a model for the biabduction analysis

      *)
    10. is_bridge_method : bool;
      (*

      the procedure is a bridge method

      *)
    11. is_cpp_const_member_fun : bool;
      (*

      true if the procedure is a const function

      *)
    12. is_cpp_copy_assignment : bool;
      (*

      true if the procedure is a copy assignment

      *)
    13. is_cpp_copy_ctor : bool;
      (*

      true if the procedure is a copy constructor

      *)
    14. is_cpp_move_ctor : bool;
      (*

      true if the procedure is a move constructor

      *)
    15. is_static_ctor : bool;
      (*

      true if the procedure has the constructor attribute

      *)
    16. is_cpp_deleted : bool;
      (*

      true if the procedure is deleted

      *)
    17. is_cpp_implicit : bool;
      (*

      returns false if the declaration exists in code and true if it was created implicitly by the compiler

      *)
    18. is_defined : bool;
      (*

      true if the procedure is defined, and not just declared

      *)
    19. is_java_synchronized_method : bool;
      (*

      the procedure is a Java synchronized method

      *)
    20. is_csharp_synchronized_method : bool;
      (*

      the procedure is a C# synchronized method

      *)
    21. is_hack_async : bool;
    22. is_hack_wrapper : bool;
      (*

      a generated wrapper for LSB or default parameters

      *)
    23. block_as_arg_attributes : block_as_arg_attributes option;
      (*

      Present if the procedure is an Objective-C block that has been passed to the given method in a position annotated with the NS_NOESCAPE attribute.

      *)
    24. is_no_return : bool;
      (*

      the procedure is known not to return

      *)
    25. is_objc_arc_on : bool;
      (*

      the ObjC procedure is compiled with ARC

      *)
    26. is_specialized : bool;
      (*

      the procedure is a clone specialized for dynamic dispatch handling

      *)
    27. is_synthetic_method : bool;
      (*

      the procedure is a synthetic method

      *)
    28. is_clang_variadic : bool;
      (*

      the procedure is variadic, only supported for Clang procedures

      *)
    29. hack_variadic_position : int option;
      (*

      the procedure is variadic and Some n means the variadic vector is composed of the arguments n, n+1, ..., length formals -1

      *)
    30. python_args : string list;
      (*

      each python function has a list of parameters that we store as a special ProcAttribute while list formals will only contain dict parameters like Python locals

      *)
    31. sentinel_attr : (int * int) option;
      (*

      __attribute__((sentinel(int, int)))

      *)
    32. specialized_with_aliasing_info : specialized_with_aliasing_info option;
      (*

      the procedure is a clone specialized with captured variables and paramaters sharing memory, with link to the original procedure, and a list of variables aliasing each other.

      *)
    33. specialized_with_closures_info : specialized_with_closures_info option;
      (*

      the procedure is a clone specialized with calls to concrete closures, with link to the original procedure, and a map that links the original formals to the elements of the closure used to specialize the procedure.

      *)
    34. clang_method_kind : ClangMethodKind.t;
      (*

      the kind of method the procedure is

      *)
    35. loc : IBase.Location.t;
      (*

      location of this procedure in the source code

      *)
    36. loc_instantiated : IBase.Location.t option;
      (*

      location of this procedure is possibly instantiated

      *)
    37. translation_unit : IBase.SourceFile.t;
      (*

      source file where the procedure was captured

      *)
    38. mutable locals : var_data list;
      (*

      name, type and attributes of local variables

      *)
    39. objc_accessor : objc_accessor_type option;
      (*

      type of ObjC accessor, if any

      *)
    40. proc_name : Procname.t;
      (*

      name of the procedure

      *)
    41. ret_type : Typ.t;
      (*

      return type

      *)
    42. ret_annots : Annot.Item.t;
      (*

      annotations of return type

      *)
    43. has_added_return_param : bool;
      (*

      whether or not a return param was added

      *)
    44. is_ret_type_pod : bool;
      (*

      whether or not the return type is POD

      *)
    45. is_ret_constexpr : bool;
      (*

      whether the (C++) function or method is declared as constexpr

      *)
    }
    val default : IBase.SourceFile.t -> Procname.t -> t

    Create a proc_attributes with default values.

    val default_var_data : Pvar.t -> Typ.t -> var_data
    val pp : Stdlib.Format.formatter -> t -> unit
    val get_access : t -> access

    Return the visibility attribute

    val get_loc : t -> IBase.Location.t

    Return loc information for the procedure

    val get_loc_instantiated : t -> IBase.Location.t option

    Return instantiated loc information for the procedure

    val get_proc_name : t -> Procname.t
    val get_pvar_formals : t -> (Pvar.t * Typ.t) list

    Return pvar and type of formal parameters

    val get_passed_by_value_formals : t -> (Pvar.t * Typ.t) list

    Return pvar and type of formal parameters that are passed by value

    val get_passed_by_ref_formals : t -> (Pvar.t * Typ.t) list

    Return pvar and type of formal parameters that are passed by reference

    val get_pointer_formals : t -> (Pvar.t * Typ.t) list

    Return pvar and type of formal parameters that are passed as pointer, i.e. T*

    val to_return_type : t -> Typ.t

    the return type from method signature, taking into account if the procedure has added return parameter

    val get_this : t -> Pvar.t option

    if the procedures is an instance method then this is its self or this variable

    val pp_block_as_arg_attributes : F.formatter -> block_as_arg_attributes -> unit
    module SQLite : IBase.SqliteUtils.Data with type t = t
    diff --git a/website/static/odoc/next/infer/IR/Procdesc/IdMap/index.html b/website/static/odoc/next/infer/IR/Procdesc/IdMap/index.html index 24f4e131af7..6a563930970 100644 --- a/website/static/odoc/next/infer/IR/Procdesc/IdMap/index.html +++ b/website/static/odoc/next/infer/IR/Procdesc/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.IR.Procdesc.IdMap)

    Module Procdesc.IdMap

    Map with node id keys.

    include IStdlib.IStd.Caml.Map.S with type key = Node.id
    type key = Node.id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +IdMap (infer.IR.Procdesc.IdMap)

    Module Procdesc.IdMap

    Map with node id keys.

    include Stdlib.Map.S with type key = Node.id
    type key = Node.id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IR/Procdesc/index.html b/website/static/odoc/next/infer/IR/Procdesc/index.html index f3204cc1bd9..701e9e70962 100644 --- a/website/static/odoc/next/infer/IR/Procdesc/index.html +++ b/website/static/odoc/next/infer/IR/Procdesc/index.html @@ -1,5 +1,5 @@ -Procdesc (infer.IR.Procdesc)

    Module IR.Procdesc

    Per-procedure CFG

    module NodeKey : sig ... end
    module Node : sig ... end

    node of the control flow graph

    Map with node id keys.

    module NodeHash : IStdlib.IStd.Caml.Hashtbl.S with type key = Node.t

    Hash table with nodes as keys.

    Hash set with nodes as keys.

    module NodeMap : IStdlib.IStd.Caml.Map.S with type key = Node.t

    Map over nodes.

    module NodeSet : IStdlib.IStd.Caml.Set.S with type elt = Node.t

    Set of nodes.

    procedure descriptions

    type t

    proc description

    val append_locals : t -> ProcAttributes.var_data list -> unit

    append a list of new local variables to the existing list of local variables

    val compute_distance_to_exit_node : t -> unit

    Compute the distance of each node to the exit node, if not computed already

    val create_node : +Procdesc (infer.IR.Procdesc)

    Module IR.Procdesc

    Per-procedure CFG

    module NodeKey : sig ... end
    module Node : sig ... end

    node of the control flow graph

    Map with node id keys.

    module NodeHash : Stdlib.Hashtbl.S with type key = Node.t

    Hash table with nodes as keys.

    Hash set with nodes as keys.

    module NodeMap : Stdlib.Map.S with type key = Node.t

    Map over nodes.

    Set of nodes.

    procedure descriptions

    type t

    proc description

    val append_locals : t -> ProcAttributes.var_data list -> unit

    append a list of new local variables to the existing list of local variables

    val compute_distance_to_exit_node : t -> unit

    Compute the distance of each node to the exit node, if not computed already

    val create_node : t -> IBase.Location.t -> Node.nodekind -> @@ -32,4 +32,4 @@ Node.t -> normal:Node.t list -> exn:Node.t list -> - unit

    Set the successor nodes and exception nodes, and update predecessor links

    val set_exit_node : t -> Node.t -> unit

    Set the exit node of the procedure

    val set_start_node : t -> Node.t -> unit
    val init_wto : t -> unit
    val is_loop_head : t -> Node.t -> bool
    val pp_signature : Stdlib.Format.formatter -> t -> unit
    val pp_local : Stdlib.Format.formatter -> ProcAttributes.var_data -> unit
    val pp_with_instrs : ?print_types:bool -> Stdlib.Format.formatter -> t -> unit
    val is_specialized : t -> bool
    val is_captured_pvar : t -> Pvar.t -> bool

    true if pvar is a captured variable of a cpp lambda or obcj block

    val is_captured_var : t -> Var.t -> bool

    true if var is a captured variable of a cpp lambda or obcj block

    val has_modify_in_block_attr : t -> Pvar.t -> bool
    val size : t -> int

    Return number of nodes, plus number of instructions (in nodes), plus number of edges (between nodes).

    val is_too_big : IBase.Checker.t -> max_cfg_size:int -> t -> bool

    Check if the CFG of the procedure is too big to analyze. If it is too big, it logs an internal error and returns true.

    module SQLite : IBase.SqliteUtils.Data with type t = t option

    per-procedure CFGs are stored in the SQLite "procedures" table as NULL if the procedure has no CFG

    val load : Procname.t -> t option

    CFG for the given proc name. None when the source code for the procedure was not captured (eg library code or code outside of the project root). NOTE: To query the procedure's attributes (eg return type, formals, ...), prefer the cheaper Attributes.load. Attributes can be present even when the source code is not.

    val load_exn : Procname.t -> t

    like load, but raises an exception if no procdesc is available.

    val load_uid : ?capture_only:bool -> string -> t option

    like load but takes a database key for the procedure directly (generated from Procname.to_unique_id) and optionally only looks inside the capture database

    val mark_if_unchanged : old_pdesc:t -> new_pdesc:t -> unit

    Record the changed attribute in-place on new_pdesc if it is unchanged wrt old_pdsec

    + unit

    Set the successor nodes and exception nodes, and update predecessor links

    val set_exit_node : t -> Node.t -> unit

    Set the exit node of the procedure

    val set_start_node : t -> Node.t -> unit
    val init_wto : t -> unit
    val is_loop_head : t -> Node.t -> bool
    val pp_signature : Stdlib.Format.formatter -> t -> unit
    val pp_local : Stdlib.Format.formatter -> ProcAttributes.var_data -> unit
    val pp_with_instrs : ?print_types:bool -> Stdlib.Format.formatter -> t -> unit
    val is_specialized : t -> bool
    val is_captured_pvar : t -> Pvar.t -> bool

    true if pvar is a captured variable of a cpp lambda or obcj block

    val is_captured_var : t -> Var.t -> bool

    true if var is a captured variable of a cpp lambda or obcj block

    val has_modify_in_block_attr : t -> Pvar.t -> bool
    val size : t -> int

    Return number of nodes, plus number of instructions (in nodes), plus number of edges (between nodes).

    val is_too_big : IBase.Checker.t -> max_cfg_size:int -> t -> bool

    Check if the CFG of the procedure is too big to analyze. If it is too big, it logs an internal error and returns true.

    module SQLite : IBase.SqliteUtils.Data with type t = t option

    per-procedure CFGs are stored in the SQLite "procedures" table as NULL if the procedure has no CFG

    val load : Procname.t -> t option

    CFG for the given proc name. None when the source code for the procedure was not captured (eg library code or code outside of the project root). NOTE: To query the procedure's attributes (eg return type, formals, ...), prefer the cheaper Attributes.load. Attributes can be present even when the source code is not.

    val load_exn : Procname.t -> t

    like load, but raises an exception if no procdesc is available.

    val load_uid : ?capture_only:bool -> string -> t option

    like load but takes a database key for the procedure directly (generated from Procname.to_unique_id) and optionally only looks inside the capture database

    val mark_if_unchanged : old_pdesc:t -> new_pdesc:t -> unit

    Record the changed attribute in-place on new_pdesc if it is unchanged wrt old_pdsec

    module Loop : sig ... end
    diff --git a/website/static/odoc/next/infer/IR/Procname/Map/index.html b/website/static/odoc/next/infer/IR/Procname/Map/index.html index dc26dedb5cf..3684417608c 100644 --- a/website/static/odoc/next/infer/IR/Procname/Map/index.html +++ b/website/static/odoc/next/infer/IR/Procname/Map/index.html @@ -1,5 +1,5 @@ -Map (infer.IR.Procname.Map)

    Module Procname.Map

    Maps from proc names.

    include IStdlib.IStd.Caml.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +Map (infer.IR.Procname.Map)

    Module Procname.Map

    Maps from proc names.

    include Stdlib.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IR/Procname/Python/index.html b/website/static/odoc/next/infer/IR/Procname/Python/index.html index 27ee7f37d81..eced375f57d 100644 --- a/website/static/odoc/next/infer/IR/Procname/Python/index.html +++ b/website/static/odoc/next/infer/IR/Procname/Python/index.html @@ -1,2 +1,2 @@ -Python (infer.IR.Procname.Python)

    Module Procname.Python

    type t = private {
    1. class_name : PythonClassName.t option;
    2. function_name : string;
    3. arity : int option;
    }
    type kind =
    1. | Fun of PythonClassName.t
      (*

      Toplevel function name, or class constructor

      *)
    2. | Init of PythonClassName.t
      (*

      Initialized of a class, like C.__init__

      *)
    3. | Other
      (*

      Other methods

      *)
    +Python (infer.IR.Procname.Python)

    Module Procname.Python

    type t = private {
    1. class_name : PythonClassName.t option;
    2. function_name : string;
    }
    val get_class_name_as_a_string : t -> string option
    diff --git a/website/static/odoc/next/infer/IR/Procname/Set/index.html b/website/static/odoc/next/infer/IR/Procname/Set/index.html index 2898e775178..6a884adcba6 100644 --- a/website/static/odoc/next/infer/IR/Procname/Set/index.html +++ b/website/static/odoc/next/infer/IR/Procname/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.IR.Procname.Set)

    Module Procname.Set

    Sets of proc names.

    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.IR.Procname.Set)

    Module Procname.Set

    Sets of proc names.

    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/IR/Procname/index.html b/website/static/odoc/next/infer/IR/Procname/index.html index 51ac9da96db..34426221d13 100644 --- a/website/static/odoc/next/infer/IR/Procname/index.html +++ b/website/static/odoc/next/infer/IR/Procname/index.html @@ -1,8 +1,8 @@ -Procname (infer.IR.Procname)

    Module IR.Procname

    module F = Stdlib.Format

    Module for Procedure Names.

    type detail_level =
    1. | FullNameOnly
    2. | NameOnly
    3. | Non_verbose
    4. | Simple
    5. | Verbose

    Level of verbosity of some to_string functions.

    module CSharp : sig ... end

    Type of csharp procedure names.

    module Java : sig ... end

    Type of java procedure names.

    module Parameter : sig ... end
    module ObjC_Cpp : sig ... end
    module C : sig ... end
    module Block : sig ... end

    Type of Objective C block names.

    module Erlang : sig ... end
    module Hack : sig ... end
    module Python : sig ... end
    type t =
    1. | Block of Block.t
    2. | C of C.t
    3. | CSharp of CSharp.t
    4. | Erlang of Erlang.t
    5. | Hack of Hack.t
    6. | Java of Java.t
    7. | ObjC_Cpp of ObjC_Cpp.t
    8. | Python of Python.t

    Type of procedure names.

    include Ppx_compare_lib.Comparable.S with type t := t
    val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
    include Sexplib0.Sexpable.S with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val hash_normalize : t -> t
    val hash_normalize_opt : t option -> t option
    val hash_normalize_list : t list -> t list
    val compare_name : t -> t -> int

    Similar to compare, but compares only names, except parameter types and template arguments.

    val get_class_type_name : t -> Typ.Name.t option
    val get_class_name : t -> string option
    val python_classify : t -> Python.kind option

    Classify a Python name into a Python.kind

    val mk_python_init : t -> t

    Turns a Python **toplevel** name into a valid initializer. E.g. it is used to turn a statement like x = C(42) into C.__init__(x, 42)

    val get_parameters : t -> Parameter.t list
    val replace_parameters : Parameter.t list -> t -> t
    val parameter_of_name : t -> Typ.Name.t -> Parameter.t
    val is_cpp_assignment_operator : t -> bool
    val is_destructor : t -> bool
    val is_java_static_method : t -> bool
    val is_java_instance_method : t -> bool
    val is_java_access_method : t -> bool
    val is_java_class_initializer : t -> bool
    val is_java_anonymous_inner_class_method : t -> bool
    val is_java_autogen_method : t -> bool
    val is_objc_method : t -> bool

    Includes specialized objective-c methods

    val is_objc_instance_method : t -> bool

    Includes specialized objective-c instance methods

    val is_objc_class_method : t -> bool

    Includes specialized objective-c class methods

    val is_objc_nsobject_class : t -> bool
    val get_objc_class_name : t -> string option
    val is_std_move : t -> bool
    val is_shared_ptr_observer : t -> bool

    Check if it is C++ shared pointer observer, e.g. std::shared_ptr::operator*

    module Comparable : IStdlib.IStd.Comparable.S with type t := t
    include module type of struct include Comparable end
    val (>=) : t -> t -> bool
    val (<=) : t -> t -> bool
    val (=) : t -> t -> bool
    val (>) : t -> t -> bool
    val (<) : t -> t -> bool
    val (<>) : t -> t -> bool
    val equal : t -> t -> bool
    val compare : t -> t -> int
    val min : t -> t -> t
    val max : t -> t -> t
    val ascending : t -> t -> int
    val descending : t -> t -> int
    val between : t -> low:t -> high:t -> bool
    val clamp_exn : t -> min:t -> max:t -> t
    val clamp : t -> min:t -> max:t -> t Base__.Or_error.t
    type comparator_witness = Comparable.comparator_witness
    val comparator : (t, comparator_witness) Base__Comparator.comparator
    val validate_lbound : min:t Core__.Maybe_bound.t -> t Validate.check
    val validate_ubound : max:t Core__.Maybe_bound.t -> t Validate.check
    val validate_bound : +Procname (infer.IR.Procname)

    Module IR.Procname

    module F = Stdlib.Format

    Module for Procedure Names.

    type detail_level =
    1. | FullNameOnly
    2. | NameOnly
    3. | Non_verbose
    4. | Simple
    5. | Verbose

    Level of verbosity of some to_string functions.

    module CSharp : sig ... end

    Type of csharp procedure names.

    module Java : sig ... end

    Type of java procedure names.

    module Parameter : sig ... end
    module ObjC_Cpp : sig ... end
    module C : sig ... end
    module Block : sig ... end

    Type of Objective C block names.

    module Erlang : sig ... end
    module Hack : sig ... end
    module Python : sig ... end
    type t =
    1. | Block of Block.t
    2. | C of C.t
    3. | CSharp of CSharp.t
    4. | Erlang of Erlang.t
    5. | Hack of Hack.t
    6. | Java of Java.t
    7. | ObjC_Cpp of ObjC_Cpp.t
    8. | Python of Python.t

    Type of procedure names.

    include Ppx_compare_lib.Comparable.S with type t := t
    val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
    include Sexplib0.Sexpable.S with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val hash_normalize : t -> t
    val hash_normalize_opt : t option -> t option
    val hash_normalize_list : t list -> t list
    val compare_name : t -> t -> int

    Similar to compare, but compares only names, except parameter types and template arguments.

    val get_class_type_name : t -> Typ.Name.t option
    val get_class_name : t -> string option
    val get_parameters : t -> Parameter.t list
    val replace_parameters : Parameter.t list -> t -> t
    val parameter_of_name : t -> Typ.Name.t -> Parameter.t
    val is_cpp_assignment_operator : t -> bool
    val is_destructor : t -> bool
    val is_java_static_method : t -> bool
    val is_java_instance_method : t -> bool
    val is_java_access_method : t -> bool
    val is_java_class_initializer : t -> bool
    val is_java_anonymous_inner_class_method : t -> bool
    val is_java_autogen_method : t -> bool
    val is_objc_method : t -> bool

    Includes specialized objective-c methods

    val is_objc_instance_method : t -> bool

    Includes specialized objective-c instance methods

    val is_objc_class_method : t -> bool

    Includes specialized objective-c class methods

    val is_objc_nsobject_class : t -> bool
    val get_objc_class_name : t -> string option
    val is_std_move : t -> bool
    val is_shared_ptr_observer : t -> bool

    Check if it is C++ shared pointer observer, e.g. std::shared_ptr::operator*

    module Comparable : IStdlib.IStd.Comparable.S with type t := t
    include module type of struct include Comparable end
    val (>=) : t -> t -> bool
    val (<=) : t -> t -> bool
    val (=) : t -> t -> bool
    val (>) : t -> t -> bool
    val (<) : t -> t -> bool
    val (<>) : t -> t -> bool
    val equal : t -> t -> bool
    val compare : t -> t -> int
    val min : t -> t -> t
    val max : t -> t -> t
    val ascending : t -> t -> int
    val descending : t -> t -> int
    val between : t -> low:t -> high:t -> bool
    val clamp_exn : t -> min:t -> max:t -> t
    val clamp : t -> min:t -> max:t -> t Base__.Or_error.t
    type comparator_witness = Comparable.comparator_witness
    val comparator : (t, comparator_witness) Base__Comparator.comparator
    val validate_lbound : min:t Core__.Maybe_bound.t -> t Validate.check
    val validate_ubound : max:t Core__.Maybe_bound.t -> t Validate.check
    val validate_bound : min:t Core__.Maybe_bound.t -> max:t Core__.Maybe_bound.t -> - t Validate.check
    module Replace_polymorphic_compare = Comparable.Replace_polymorphic_compare
    module Hash : IStdlib.IStd.Caml.Hashtbl.S with type key = t

    Hash tables with proc names as keys.

    module LRUHash : IStdlib.LRUHashtbl.S with type key = t
    module HashQueue : IStdlib.IStd.Hash_queue.S with type key = t
    module HashSet : IStdlib.HashSet.S with type elt = t
    module Map : IStdlib.PrettyPrintable.PPMap with type key = t

    Maps from proc names.

    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t

    Sets of proc names.

    module SQLite : IBase.SqliteUtils.Data with type t = t
    module SQLiteList : IBase.SqliteUtils.Data with type t = t list
    module UnitCache : sig ... end

    One-sized cache for one procedure at a time. Returns getter and setter.

    val make_java : + t Validate.check
    module Replace_polymorphic_compare = Comparable.Replace_polymorphic_compare
    module Hash : Stdlib.Hashtbl.S with type key = t

    Hash tables with proc names as keys.

    module LRUHash : IStdlib.LRUHashtbl.S with type key = t
    module HashQueue : IStdlib.IStd.Hash_queue.S with type key = t
    module HashSet : IStdlib.HashSet.S with type elt = t
    module Map : IStdlib.PrettyPrintable.PPMap with type key = t

    Maps from proc names.

    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t

    Sets of proc names.

    module SQLite : IBase.SqliteUtils.Data with type t = t
    module SQLiteList : IBase.SqliteUtils.Data with type t = t list
    module UnitCache : sig ... end

    One-sized cache for one procedure at a time. Returns getter and setter.

    val make_java : class_name:Typ.Name.t -> return_type:Typ.t option -> method_name:string -> @@ -21,5 +21,4 @@ t

    Create a Hack procedure name.

    val make_objc_dealloc : Typ.Name.t -> t

    Create a Objective-C dealloc name. This is a destructor for an Objective-C class. This procname is given by the class name, since it is always an instance method with the name "dealloc"

    val make_objc_copy : Typ.Name.t -> t

    Create a Objective-C copy name.

    val make_objc_copyWithZone : is_mutable:bool -> Typ.Name.t -> t

    Create an Objective-C method for copyWithZone: or mutableCopyWithZone: according to is_mutable.

    val make_python : class_name:PythonClassName.t option -> function_name:string -> - arity:int option -> - t

    Create a Python procedure name.

    val empty_block : t

    Empty block name.

    val get_language : t -> IBase.Language.t

    Return the language of the procedure.

    val get_method : t -> string

    Return the method/function of a procname.

    val is_objc_block : t -> bool

    Return whether the procname is a block procname.

    val is_cpp_lambda : t -> bool

    Return whether the procname is a cpp lambda procname.

    val is_cpp_method : t -> bool

    Return whether the procname is a cpp method.

    val is_objc_dealloc : t -> bool

    Return whether the dealloc method of an Objective-C class.

    val is_objc_init : t -> bool

    Return whether the init method of an Objective-C class.

    val is_c_method : t -> bool

    Return true this is an Objective-C/C++ method name.

    val is_clang : t -> bool

    Return true this is an Objective-C/C++ method name or a C function.

    val is_constructor : t -> bool

    Check if this is a constructor.

    val is_csharp : t -> bool

    Check if this is a CSharp procedure name.

    val is_hack : t -> bool

    Check if this is a Hack procedure name.

    val is_java : t -> bool

    Check if this is a Java procedure name.

    val is_python : t -> bool

    Check if this is a Python procedure name.

    val objc_cpp_replace_method_name : t -> string -> t
    val is_infer_undefined : t -> bool

    Check if this is a special Infer undefined procedure.

    val is_static : t -> bool option

    Check if a procedure is a static class method or not. If the procedure is not a class method or is unknown to be static, it returns None. For now, this checking does not work on C++ methods.

    val get_global_name_of_initializer : t -> string option

    Return the name of the global for which this procedure is the initializer if this is an initializer, None otherwise.

    val pp_without_templates : Stdlib.Format.formatter -> t -> unit

    Pretty print a c++ proc name for the user to see.

    val pp : Stdlib.Format.formatter -> t -> unit

    Pretty print a proc name for the user to see.

    val pp_verbose : Stdlib.Format.formatter -> t -> unit

    Pretty print a proc name for the user to see with verbosity parameter.

    val to_string : ?verbosity:detail_level -> t -> string

    Convert a proc name into a string for the user to see.

    val to_string_verbose : t -> string

    Convert a proc name into a string for the user to see with verbosity parameter.

    val describe : Stdlib.Format.formatter -> t -> unit

    to use in user messages

    val replace_class : t -> ?arity_incr:int -> Typ.Name.t -> t

    Replace the class name component of a procedure name. In case of Java, replace package and class name.

    val is_method_in_objc_protocol : t -> bool
    val pp_simplified_string : ?withclass:bool -> F.formatter -> t -> unit

    Pretty print a proc name as an easy string for the user to see in an IDE.

    val to_simplified_string : ?withclass:bool -> t -> string

    Convert a proc name into an easy string for the user to see in an IDE.

    val from_string_c_fun : string -> t

    Convert a string to a c function name.

    val replace_java_inner_class_prefix_regex : string -> string

    Replace "$[0-9]+" index into "$_" in Java proc name.

    val hashable_name : t -> string

    Convert the procedure name in a format suitable for computing the bug hash.

    val pp_unique_id : F.formatter -> t -> unit

    Print a proc name as a unique identifier.

    val to_unique_id : t -> string

    Convert a proc name into a unique identifier.

    val to_short_unique_name : t -> string

    Convert a proc name into a unique identfier guaranteed to be short (less than 50 characters)

    val to_filename : t -> string

    Convert a proc name to a filename.

    val get_qualifiers : t -> QualifiedCppName.t

    get qualifiers of C/objc/C++ method/function

    val decr_hack_arity : t -> t option

    return a Hack procname with decremented arity. Return None if input has no arity or 0 arity

    val get_hack_arity : t -> int option

    get the arity of a Hack procname

    val get_hack_static_constinit : is_trait:bool -> HackClassName.t -> t

    get the constinit procname in Hack

    val pp_name_only : F.formatter -> t -> unit

    Print name of procedure with at most one-level path. For example,

    • In C++: "<ClassName>::<ProcName>"
    • In Java, ObjC, C#: "<ClassName>.<ProcName>"
    • In C: "<ProcName>"
    • In Erlang: "<ModuleName>:<ProcName>"
    val pp_fullname_only : F.formatter -> t -> unit

    Like pp_name_only, but include package name for Java.

    val is_c : t -> bool
    val is_lambda_name : string -> bool
    val is_lambda : t -> bool
    val is_lambda_or_block : t -> bool
    val patterns_match : IStdlib.IStd.Str.regexp list -> t -> bool

    Test whether a proc name matches to one of the regular expressions.

    val is_erlang_unsupported : t -> bool
    val is_erlang : t -> bool
    val erlang_call_unqualified : arity:int -> t

    A special infer-erlang procname that represents a syntactic erlang (unqualified) function call. arity is the arity of the erlang function. First parameter of this procedure is expecteed to be the erlang function name, and the remaining parameters are the erlang parameters (given one-by-one and not as an erlang list).

    val erlang_call_qualified : arity:int -> t

    Same as erlang_call_unqualified but is expected to have an erlang module name as the first parameter, and the function name as second. arity is (still) the erlang arity of the function.

    val is_erlang_call_unqualified : t -> bool
    val is_erlang_call_qualified : t -> bool
    val is_hack_builtins : t -> bool
    val is_hack_constinit : t -> bool
    val has_hack_classname : t -> bool
    val is_hack_async_name : t -> bool
    val is_hack_construct : t -> bool
    val is_hack_xinit : t -> bool
    + t

    Create a Python procedure name.

    val empty_block : t

    Empty block name.

    val get_language : t -> IBase.Language.t

    Return the language of the procedure.

    val get_method : t -> string

    Return the method/function of a procname.

    val is_objc_block : t -> bool

    Return whether the procname is a block procname.

    val is_cpp_lambda : t -> bool

    Return whether the procname is a cpp lambda procname.

    val is_cpp_method : t -> bool

    Return whether the procname is a cpp method.

    val is_objc_dealloc : t -> bool

    Return whether the dealloc method of an Objective-C class.

    val is_objc_init : t -> bool

    Return whether the init method of an Objective-C class.

    val is_c_method : t -> bool

    Return true this is an Objective-C/C++ method name.

    val is_clang : t -> bool

    Return true this is an Objective-C/C++ method name or a C function.

    val is_constructor : t -> bool

    Check if this is a constructor.

    val is_csharp : t -> bool

    Check if this is a CSharp procedure name.

    val is_hack : t -> bool

    Check if this is a Hack procedure name.

    val is_java : t -> bool

    Check if this is a Java procedure name.

    val is_python : t -> bool

    Check if this is a Python procedure name.

    val objc_cpp_replace_method_name : t -> string -> t
    val is_infer_undefined : t -> bool

    Check if this is a special Infer undefined procedure.

    val is_static : t -> bool option

    Check if a procedure is a static class method or not. If the procedure is not a class method or is unknown to be static, it returns None. For now, this checking does not work on C++ methods.

    val get_global_name_of_initializer : t -> string option

    Return the name of the global for which this procedure is the initializer if this is an initializer, None otherwise.

    val pp_without_templates : Stdlib.Format.formatter -> t -> unit

    Pretty print a c++ proc name for the user to see.

    val pp : Stdlib.Format.formatter -> t -> unit

    Pretty print a proc name for the user to see.

    val pp_verbose : Stdlib.Format.formatter -> t -> unit

    Pretty print a proc name for the user to see with verbosity parameter.

    val to_string : ?verbosity:detail_level -> t -> string

    Convert a proc name into a string for the user to see.

    val to_string_verbose : t -> string

    Convert a proc name into a string for the user to see with verbosity parameter.

    val describe : Stdlib.Format.formatter -> t -> unit

    to use in user messages

    val replace_class : t -> ?arity_incr:int -> Typ.Name.t -> t

    Replace the class name component of a procedure name. In case of Java, replace package and class name.

    val is_method_in_objc_protocol : t -> bool
    val pp_simplified_string : ?withclass:bool -> F.formatter -> t -> unit

    Pretty print a proc name as an easy string for the user to see in an IDE.

    val to_simplified_string : ?withclass:bool -> t -> string

    Convert a proc name into an easy string for the user to see in an IDE.

    val from_string_c_fun : string -> t

    Convert a string to a c function name.

    val replace_java_inner_class_prefix_regex : string -> string

    Replace "$[0-9]+" index into "$_" in Java proc name.

    val hashable_name : t -> string

    Convert the procedure name in a format suitable for computing the bug hash.

    val pp_unique_id : F.formatter -> t -> unit

    Print a proc name as a unique identifier.

    val to_unique_id : t -> string

    Convert a proc name into a unique identifier.

    val to_short_unique_name : t -> string

    Convert a proc name into a unique identfier guaranteed to be short (less than 50 characters)

    val to_filename : t -> string

    Convert a proc name to a filename.

    val get_qualifiers : t -> QualifiedCppName.t

    get qualifiers of C/objc/C++ method/function

    val decr_hack_arity : t -> t option

    return a Hack procname with decremented arity. Return None if input has no arity or 0 arity

    val get_hack_arity : t -> int option

    get the arity of a Hack procname

    val get_hack_static_constinit : is_trait:bool -> HackClassName.t -> t

    get the constinit procname in Hack

    val pp_name_only : F.formatter -> t -> unit

    Print name of procedure with at most one-level path. For example,

    • In C++: "<ClassName>::<ProcName>"
    • In Java, ObjC, C#: "<ClassName>.<ProcName>"
    • In C: "<ProcName>"
    • In Erlang: "<ModuleName>:<ProcName>"
    val pp_fullname_only : F.formatter -> t -> unit

    Like pp_name_only, but include package name for Java.

    val is_c : t -> bool
    val is_lambda_name : string -> bool
    val is_lambda : t -> bool
    val is_lambda_or_block : t -> bool
    val patterns_match : IStdlib.IStd.Str.regexp list -> t -> bool

    Test whether a proc name matches to one of the regular expressions.

    val is_erlang_unsupported : t -> bool
    val is_erlang : t -> bool
    val erlang_call_unqualified : arity:int -> t

    A special infer-erlang procname that represents a syntactic erlang (unqualified) function call. arity is the arity of the erlang function. First parameter of this procedure is expecteed to be the erlang function name, and the remaining parameters are the erlang parameters (given one-by-one and not as an erlang list).

    val erlang_call_qualified : arity:int -> t

    Same as erlang_call_unqualified but is expected to have an erlang module name as the first parameter, and the function name as second. arity is (still) the erlang arity of the function.

    val is_erlang_call_unqualified : t -> bool
    val is_erlang_call_qualified : t -> bool
    val is_hack_builtins : t -> bool
    val is_hack_constinit : t -> bool
    val has_hack_classname : t -> bool
    val is_hack_async_name : t -> bool
    val is_hack_construct : t -> bool
    val is_hack_xinit : t -> bool
    val is_hack_internal : t -> bool
    diff --git a/website/static/odoc/next/infer/IR/Pvar/Map/index.html b/website/static/odoc/next/infer/IR/Pvar/Map/index.html index cfa765e0f22..911d529c700 100644 --- a/website/static/odoc/next/infer/IR/Pvar/Map/index.html +++ b/website/static/odoc/next/infer/IR/Pvar/Map/index.html @@ -1,5 +1,5 @@ -Map (infer.IR.Pvar.Map)

    Module Pvar.Map

    include IStdlib.IStd.Caml.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +Map (infer.IR.Pvar.Map)

    Module Pvar.Map

    include Stdlib.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IR/Pvar/Set/index.html b/website/static/odoc/next/infer/IR/Pvar/Set/index.html index f15497fac76..5a301f977e4 100644 --- a/website/static/odoc/next/infer/IR/Pvar/Set/index.html +++ b/website/static/odoc/next/infer/IR/Pvar/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.IR.Pvar.Set)

    Module Pvar.Set

    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.IR.Pvar.Set)

    Module Pvar.Set

    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/IR/Specialization/HeapPath/Map/index.html b/website/static/odoc/next/infer/IR/Specialization/HeapPath/Map/index.html index f967d3a1fd3..5377c452c8b 100644 --- a/website/static/odoc/next/infer/IR/Specialization/HeapPath/Map/index.html +++ b/website/static/odoc/next/infer/IR/Specialization/HeapPath/Map/index.html @@ -1,5 +1,5 @@ -Map (infer.IR.Specialization.HeapPath.Map)

    Module HeapPath.Map

    include IStdlib.IStd.Caml.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +Map (infer.IR.Specialization.HeapPath.Map)

    Module HeapPath.Map

    include Stdlib.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IR/Specialization/HeapPath/Set/index.html b/website/static/odoc/next/infer/IR/Specialization/HeapPath/Set/index.html index 0626dab34b6..13f24b5ef2f 100644 --- a/website/static/odoc/next/infer/IR/Specialization/HeapPath/Set/index.html +++ b/website/static/odoc/next/infer/IR/Specialization/HeapPath/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.IR.Specialization.HeapPath.Set)

    Module HeapPath.Set

    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.IR.Specialization.HeapPath.Set)

    Module HeapPath.Set

    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/IR/Specialization/Pulse/Map/index.html b/website/static/odoc/next/infer/IR/Specialization/Pulse/Map/index.html index 7e7fb373065..9010b55f5db 100644 --- a/website/static/odoc/next/infer/IR/Specialization/Pulse/Map/index.html +++ b/website/static/odoc/next/infer/IR/Specialization/Pulse/Map/index.html @@ -1,5 +1,5 @@ -Map (infer.IR.Specialization.Pulse.Map)

    Module Pulse.Map

    include IStdlib.IStd.Caml.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +Map (infer.IR.Specialization.Pulse.Map)

    Module Pulse.Map

    include Stdlib.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IR/Specialization/Pulse/Set/index.html b/website/static/odoc/next/infer/IR/Specialization/Pulse/Set/index.html index 9a00b0722fa..f6611a0c361 100644 --- a/website/static/odoc/next/infer/IR/Specialization/Pulse/Set/index.html +++ b/website/static/odoc/next/infer/IR/Specialization/Pulse/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.IR.Specialization.Pulse.Set)

    Module Pulse.Set

    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.IR.Specialization.Pulse.Set)

    Module Pulse.Set

    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/IR/SpecializedProcname/Map/index.html b/website/static/odoc/next/infer/IR/SpecializedProcname/Map/index.html index 44e03d2a65d..d9be64b044a 100644 --- a/website/static/odoc/next/infer/IR/SpecializedProcname/Map/index.html +++ b/website/static/odoc/next/infer/IR/SpecializedProcname/Map/index.html @@ -1,5 +1,5 @@ -Map (infer.IR.SpecializedProcname.Map)

    Module SpecializedProcname.Map

    include IStdlib.IStd.Caml.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +Map (infer.IR.SpecializedProcname.Map)

    Module SpecializedProcname.Map

    include Stdlib.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IR/SpecializedProcname/Set/index.html b/website/static/odoc/next/infer/IR/SpecializedProcname/Set/index.html index bdc5cd13a5c..9a1f100c4c4 100644 --- a/website/static/odoc/next/infer/IR/SpecializedProcname/Set/index.html +++ b/website/static/odoc/next/infer/IR/SpecializedProcname/Set/index.html @@ -1,5 +1,5 @@ -Set (infer.IR.SpecializedProcname.Set)

    Module SpecializedProcname.Set

    include IStdlib.PrettyPrintable.PPSet with type elt = t
    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include IStdlib.IStd.Sexpable with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    val hash_fold_t : +Set (infer.IR.SpecializedProcname.Set)

    Module SpecializedProcname.Set

    include IStdlib.PrettyPrintable.PPSet with type elt = t
    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    include IStdlib.IStd.Sexpable with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    val hash_fold_t : Base_internalhash_types.state -> t -> Base_internalhash_types.state
    diff --git a/website/static/odoc/next/infer/IR/Tenv/MethodInfo/Hack/index.html b/website/static/odoc/next/infer/IR/Tenv/MethodInfo/Hack/index.html index d050aebaf0f..82b854098dd 100644 --- a/website/static/odoc/next/infer/IR/Tenv/MethodInfo/Hack/index.html +++ b/website/static/odoc/next/infer/IR/Tenv/MethodInfo/Hack/index.html @@ -1,2 +1,2 @@ -Hack (infer.IR.Tenv.MethodInfo.Hack)

    Module MethodInfo.Hack

    type kind = private
    1. | IsClass
      (*

      Normal method call

      *)
    2. | IsTrait of {
      1. used : Typ.Name.t;
      2. is_direct : bool;
      }
      (*

      Trait method call: used is the name of the class uses the trait. If it is a direct trait method call, e.g. Trait::foo, used is the name of the trait.

      *)
    +Hack (infer.IR.Tenv.MethodInfo.Hack)

    Module MethodInfo.Hack

    type kind = private
    1. | IsClass
      (*

      Normal method call

      *)
    2. | IsTrait of {
      1. in_class : Typ.Name.t;
      2. is_direct : bool;
      }
      (*

      Trait method call: in_class is the name of the class uses the trait. If it is a direct trait method call, e.g. Trait::foo, used is the name of the trait.

      *)
    diff --git a/website/static/odoc/next/infer/IR/Tenv/MethodInfo/index.html b/website/static/odoc/next/infer/IR/Tenv/MethodInfo/index.html index b4291d2d1de..30046e5be68 100644 --- a/website/static/odoc/next/infer/IR/Tenv/MethodInfo/index.html +++ b/website/static/odoc/next/infer/IR/Tenv/MethodInfo/index.html @@ -1,2 +1,2 @@ -MethodInfo (infer.IR.Tenv.MethodInfo)

    Module Tenv.MethodInfo

    module Hack : sig ... end
    type t
    val pp : Ppx_show_runtime.Format.formatter -> t -> unit
    val show : t -> string
    val mk_class : Procname.t -> t
    val get_procname : t -> Procname.t
    val get_hack_kind : t -> Hack.kind option
    +MethodInfo (infer.IR.Tenv.MethodInfo)

    Module Tenv.MethodInfo

    module Hack : sig ... end
    type t
    val pp : Ppx_show_runtime.Format.formatter -> t -> unit
    val show : t -> string
    val mk_class : Procname.t -> t
    val get_proc_name : t -> Procname.t
    val get_hack_kind : t -> Hack.kind option
    diff --git a/website/static/odoc/next/infer/IR/Tenv/index.html b/website/static/odoc/next/infer/IR/Tenv/index.html index 74454a2068c..a783ef5dbd5 100644 --- a/website/static/odoc/next/infer/IR/Tenv/index.html +++ b/website/static/odoc/next/infer/IR/Tenv/index.html @@ -28,7 +28,14 @@ t -> Typ.Name.t -> f:(Typ.Name.t -> Struct.t option -> 'a option) -> - 'a option
    val get_fields_trans : t -> Typ.Name.t -> Struct.field list

    Get all fields from the super classes transitively

    type per_file =
    1. | Global
    2. | FileLocal of t
    val pp_per_file : Stdlib.Format.formatter -> per_file -> unit

    print per file type environment

    val merge : src:t -> dst:t -> unit

    Merge src into dst

    val merge_per_file : src:per_file -> dst:per_file -> per_file

    Best-effort merge of src into dst. If a procedure is both in dst and src, the one in dst will get overwritten.

    module MethodInfo : sig ... end
    type unresolved_reason =
    1. | MaybeMissingDueToMissedCapture
    2. | MaybeMissingDueToIncompleteModel
    type resolution_result =
    1. | ResolvedTo of MethodInfo.t
    2. | Unresolved of {
      1. missed_captures : Typ.Name.Set.t;
      2. unresolved_reason : unresolved_reason option;
      }
    val resolve_method : + 'a option
    val get_fields_trans : t -> Typ.Name.t -> Struct.field list

    Get all fields from the super classes transitively

    type per_file =
    1. | Global
    2. | FileLocal of t
    val pp_per_file : Stdlib.Format.formatter -> per_file -> unit

    print per file type environment

    val merge : src:t -> dst:t -> unit

    Merge src into dst

    val merge_per_file : src:per_file -> dst:per_file -> per_file

    Best-effort merge of src into dst. If a procedure is both in dst and src, the one in dst will get overwritten.

    module MethodInfo : sig ... end
    type unresolved_reason =
    1. | ClassNameNotFound
    2. | CurryInfoNotFound
    3. | MaybeMissingDueToMissedCapture
    4. | MaybeMissingDueToIncompleteModel
    val pp_unresolved_reason : + Ppx_show_runtime.Format.formatter -> + unresolved_reason -> + unit
    val show_unresolved_reason : unresolved_reason -> string
    type unresolved_data = {
    1. missed_captures : Typ.Name.Set.t;
    2. unresolved_reason : unresolved_reason option;
    }
    val mk_unresolved_data : + ?missed_captures:Typ.Name.Set.t -> + unresolved_reason option -> + unresolved_data
    type resolution_result = (MethodInfo.t, unresolved_data) IStdlib.IStd.Result.t
    val resolve_method : + ?is_virtual:bool -> method_exists:(Procname.t -> Procname.t list -> bool) -> t -> Typ.Name.t -> @@ -37,7 +44,11 @@ t -> Typ.Name.t -> Fieldname.t -> - Struct.field_info option

    resolve_field_info tenv class_name field tries to find the first field declaration that matches field name (ignoring its enclosing declared type), starting from class class_name.

    val resolve_fieldname : t -> Typ.Name.t -> string -> Fieldname.t option

    Similar to resolve_field_info, but returns the resolved field name.

    val find_cpp_destructor : t -> Typ.Name.t -> Procname.t option
    val find_cpp_constructor : t -> Typ.Name.t -> Procname.t list
    val is_trivially_copyable : t -> Typ.t -> bool
    val get_hack_direct_used_traits_interfaces : + Struct.field_info option

    resolve_field_info tenv class_name field tries to find the first field declaration that matches field name (ignoring its enclosing declared type), starting from class class_name.

    val resolve_fieldname : + t -> + Typ.Name.t -> + string -> + Fieldname.t option * Typ.Name.Set.t

    Similar to resolve_field_info, but returns the resolved field name and missed capture types.

    val find_cpp_destructor : t -> Typ.Name.t -> Procname.t option
    val find_cpp_constructor : t -> Typ.Name.t -> Procname.t list
    val is_trivially_copyable : t -> Typ.t -> bool
    val get_hack_direct_used_traits_interfaces : t -> Typ.Name.t -> ([ `Interface | `Trait ] * HackClassName.t) list

    get_hack_direct_used_traits_interfaces tenv tname returns a list of the directly used traits and directly implemented interfaces of tname, each paired with `Trait or `Interface to indicate its kind

    val expand_hack_alias : t -> Typ.name -> Typ.name option
    val expand_hack_alias_in_typ : t -> Typ.t -> Typ.t
    val normalize : per_file -> per_file

    Produce an equivalent type environment that has maximal sharing between its structures.

    diff --git a/website/static/odoc/next/infer/IR/Typ/Name/Hack/index.html b/website/static/odoc/next/infer/IR/Typ/Name/Hack/index.html index 47e8f3e54aa..e7e5a9514c4 100644 --- a/website/static/odoc/next/infer/IR/Typ/Name/Hack/index.html +++ b/website/static/odoc/next/infer/IR/Typ/Name/Hack/index.html @@ -1,2 +1,2 @@ -Hack (infer.IR.Typ.Name.Hack)

    Module Name.Hack

    val static_companion : t -> t
    val static_companion_origin : t -> t
    val is_static_companion : t -> bool
    val is_generated_curry : t -> bool
    val extract_curry_info : t -> (HackClassName.t * string) option
    +Hack (infer.IR.Typ.Name.Hack)

    Module Name.Hack

    val static_companion : t -> t
    val static_companion_origin : t -> t
    val is_static_companion : t -> bool
    val is_generated_curry : t -> bool
    val extract_curry_info : t -> (HackClassName.t * string) option
    val is_HH_classname : t -> bool

    Check return true if the typename is HH::classname

    diff --git a/website/static/odoc/next/infer/IR/Typ/Name/Map/index.html b/website/static/odoc/next/infer/IR/Typ/Name/Map/index.html index e1df10d2a75..6339c4cd07e 100644 --- a/website/static/odoc/next/infer/IR/Typ/Name/Map/index.html +++ b/website/static/odoc/next/infer/IR/Typ/Name/Map/index.html @@ -1,5 +1,5 @@ -Map (infer.IR.Typ.Name.Map)

    Module Name.Map

    include IStdlib.IStd.Caml.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +Map (infer.IR.Typ.Name.Map)

    Module Name.Map

    include Stdlib.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IR/Typ/Name/Set/index.html b/website/static/odoc/next/infer/IR/Typ/Name/Set/index.html index d4a8ad737e3..564e87f30b1 100644 --- a/website/static/odoc/next/infer/IR/Typ/Name/Set/index.html +++ b/website/static/odoc/next/infer/IR/Typ/Name/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.IR.Typ.Name.Set)

    Module Name.Set

    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.IR.Typ.Name.Set)

    Module Name.Set

    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/IR/Typ/Name/index.html b/website/static/odoc/next/infer/IR/Typ/Name/index.html index 4918c83bbc7..5d7a29230ce 100644 --- a/website/static/odoc/next/infer/IR/Typ/Name/index.html +++ b/website/static/odoc/next/infer/IR/Typ/Name/index.html @@ -1,2 +1,2 @@ -Name (infer.IR.Typ.Name)

    Module Typ.Name

    type t = name

    Named types.

    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
    include Sexplib0.Sexpable.S with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash_normalize : t -> t
    val hash_normalize_opt : t option -> t option
    val hash_normalize_list : t list -> t list
    val compare_name : t -> t -> int

    Similar to compare, but compares only names, except template arguments.

    val equal : t -> t -> bool

    Equality for typenames

    val hash : t -> int
    val to_string : t -> string

    convert the typename to a string

    val pp : Stdlib.Format.formatter -> t -> unit
    val is_class : t -> bool

    is_class name holds if name names CPP/Objc/Java class

    val is_union : t -> bool

    is_union name holds if name names C/CPP union

    val is_same_type : t -> t -> bool

    is_class name1 name2 holds if name1 and name2 name same kind of type

    val name_without_templates : t -> string

    name of the c++ typename without qualifier

    val name : t -> string

    name of the typename

    val qual_name : t -> QualifiedCppName.t

    qualified name of the type, may return nonsense for Java classes

    val unqualified_name : t -> QualifiedCppName.t
    val get_template_spec_info : t -> template_spec_info option
    val is_objc_protocol : t -> bool
    val is_objc_class : t -> bool
    val is_objc_block : t -> bool
    val is_hack_class : t -> bool
    val is_python_class : t -> bool
    module C : sig ... end
    module CSharp : sig ... end
    module Hack : sig ... end
    module Java : sig ... end
    module Cpp : sig ... end
    module Objc : sig ... end
    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    module Map : IStdlib.PrettyPrintable.PPMap with type key = t
    module Hash : IStdlib.IStd.Caml.Hashtbl.S with type key = t
    +Name (infer.IR.Typ.Name)

    Module Typ.Name

    type t = name

    Named types.

    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
    include Sexplib0.Sexpable.S with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash_normalize : t -> t
    val hash_normalize_opt : t option -> t option
    val hash_normalize_list : t list -> t list
    val compare_name : t -> t -> int

    Similar to compare, but compares only names, except template arguments.

    val equal : t -> t -> bool

    Equality for typenames

    val hash : t -> int
    val to_string : t -> string

    convert the typename to a string

    val pp : Stdlib.Format.formatter -> t -> unit
    val is_class : t -> bool

    is_class name holds if name names CPP/Objc/Java class

    val is_union : t -> bool

    is_union name holds if name names C/CPP union

    val is_same_type : t -> t -> bool

    is_class name1 name2 holds if name1 and name2 name same kind of type

    val name_without_templates : t -> string

    name of the c++ typename without qualifier

    val name : t -> string

    name of the typename

    val qual_name : t -> QualifiedCppName.t

    qualified name of the type, may return nonsense for Java classes

    val unqualified_name : t -> QualifiedCppName.t
    val get_template_spec_info : t -> template_spec_info option
    val is_objc_protocol : t -> bool
    val is_objc_class : t -> bool
    val is_objc_block : t -> bool
    val is_hack_class : t -> bool
    val is_python_class : t -> bool
    module C : sig ... end
    module CSharp : sig ... end
    module Hack : sig ... end
    module Java : sig ... end
    module Cpp : sig ... end
    module Objc : sig ... end
    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    module Map : IStdlib.PrettyPrintable.PPMap with type key = t
    module Hash : Stdlib.Hashtbl.S with type key = t
    diff --git a/website/static/odoc/next/infer/IR/Typ/index.html b/website/static/odoc/next/infer/IR/Typ/index.html index 059040ba2ce..4e781ffe9f5 100644 --- a/website/static/odoc/next/infer/IR/Typ/index.html +++ b/website/static/odoc/next/infer/IR/Typ/index.html @@ -83,4 +83,4 @@ ?length:IntLit.t -> ?stride:IntLit.t -> t -> - t

    Create an array type from a given element type. If length or stride value is given, use them as static length and size.

    val mk_struct : name -> t
    val mk_ptr : ?ptr_kind:ptr_kind -> t -> t

    make a pointer to t, default kind is Pk_pointer

    val set_ptr_to_const : t -> t
    val set_to_const : t -> t
    val get_ikind_opt : t -> ikind option

    Get ikind if the type is integer.

    val size_t : ikind

    ikind of size_t

    val is_weak_pointer : t -> bool
    val is_block_nonnull_pointer : t -> bool
    val is_strong_pointer : t -> bool
    module Name : sig ... end
    val equal : t -> t -> bool

    Equality for types.

    val equal_desc : desc -> desc -> bool
    val equal_name : name -> name -> bool
    val equal_ignore_quals : t -> t -> bool

    Equality for types, but ignoring quals in it.

    val overloading_resolution : (t -> t -> bool) list

    overloading_resolution is a list of predicates that compare whether a type T1 binds a type T2.

    val pp_full : IStdlib.Pp.env -> F.formatter -> t -> unit

    Pretty print a type with all the details.

    val pp : IStdlib.Pp.env -> F.formatter -> t -> unit

    Pretty print a type.

    val pp_desc : IStdlib.Pp.env -> F.formatter -> desc -> unit

    Pretty print a type desc.

    val pp_java : verbose:bool -> F.formatter -> t -> unit

    Pretty print a Java type. Raises if type isn't produced by the Java frontend

    val pp_cs : verbose:bool -> F.formatter -> t -> unit

    Pretty print a Java type. Raises if type isn't produced by the CSharp frontend

    val to_string : t -> string
    val desc_to_string : desc -> string
    val d_full : t -> unit

    Dump a type with all the details.

    val d_list : t list -> unit

    Dump a list of types.

    val name : t -> Name.t option

    The name of a type

    val strip_ptr : t -> t

    turn a *T into a T. fails if t is not a pointer type

    val is_ptr_to_ignore_quals : t -> ptr:t -> bool

    check if ptr is a pointer type to t, ignoring quals

    val is_ptr_to_const : t -> bool

    check if typ is a pointer type to const

    val array_elem : t option -> t -> t

    If an array type, return the type of the element. If not, return the default type if given, otherwise raise an exception

    val is_objc_class : t -> bool
    val is_cpp_class : t -> bool
    val is_pointer_to_cpp_class : t -> bool
    val is_pointer_to_smart_pointer : t -> bool
    val is_unique_pointer : t -> bool
    val is_pointer_to_unique_pointer : t -> bool
    val shared_pointer_matcher : QualifiedCppName.Match.quals_matcher
    val is_shared_pointer : t -> bool
    val is_folly_coro : t -> bool
    val is_thrift_field_ref : t -> bool
    val is_thrift_field_ref_str : string -> bool
    val is_pointer_to_void : t -> bool
    val is_void : t -> bool
    val is_pointer_to_int : t -> bool
    val is_pointer_to_const : t -> bool
    val is_pointer_to_function : t -> bool
    val is_pointer : t -> bool
    val is_reference : t -> bool
    val is_rvalue_reference : t -> bool
    val is_const_reference_on_source : t -> bool
    val is_struct : t -> bool
    val is_int : t -> bool
    val is_unsigned_int : t -> bool
    val is_char : t -> bool
    val is_csharp_type : t -> bool

    is t a type produced by the Java frontend?

    val is_java_type : t -> bool

    is t a type produced by the Java frontend?

    val unsome : string -> t option -> t
    + t

    Create an array type from a given element type. If length or stride value is given, use them as static length and size.

    val mk_struct : name -> t
    val mk_ptr : ?ptr_kind:ptr_kind -> t -> t

    make a pointer to t, default kind is Pk_pointer

    val set_ptr_to_const : t -> t
    val set_to_const : t -> t
    val get_ikind_opt : t -> ikind option

    Get ikind if the type is integer.

    val size_t : ikind

    ikind of size_t

    val is_weak_pointer : t -> bool
    val is_block_nonnull_pointer : t -> bool
    val is_strong_pointer : t -> bool
    module Name : sig ... end
    val equal : t -> t -> bool

    Equality for types.

    val equal_desc : desc -> desc -> bool
    val equal_name : name -> name -> bool
    val equal_ignore_quals : t -> t -> bool

    Equality for types, but ignoring quals in it.

    val overloading_resolution : (t -> t -> bool) list

    overloading_resolution is a list of predicates that compare whether a type T1 binds a type T2.

    val pp_full : IStdlib.Pp.env -> F.formatter -> t -> unit

    Pretty print a type with all the details.

    val pp : IStdlib.Pp.env -> F.formatter -> t -> unit

    Pretty print a type.

    val pp_desc : IStdlib.Pp.env -> F.formatter -> desc -> unit

    Pretty print a type desc.

    val pp_java : verbose:bool -> F.formatter -> t -> unit

    Pretty print a Java type. Raises if type isn't produced by the Java frontend

    val pp_cs : verbose:bool -> F.formatter -> t -> unit

    Pretty print a Java type. Raises if type isn't produced by the CSharp frontend

    val to_string : t -> string
    val desc_to_string : desc -> string
    val d_full : t -> unit

    Dump a type with all the details.

    val d_list : t list -> unit

    Dump a list of types.

    val name : t -> Name.t option

    The name of a type

    val strip_ptr : t -> t

    turn a *T into a T. fails if t is not a pointer type

    val is_ptr_to_ignore_quals : t -> ptr:t -> bool

    check if ptr is a pointer type to t, ignoring quals

    val is_ptr_to_const : t -> bool

    check if typ is a pointer type to const

    val array_elem : t option -> t -> t

    If an array type, return the type of the element. If not, return the default type if given, otherwise raise an exception

    val is_objc_class : t -> bool
    val is_cpp_class : t -> bool
    val is_pointer_to_cpp_class : t -> bool
    val is_pointer_to_smart_pointer : t -> bool
    val is_unique_pointer : t -> bool
    val is_pointer_to_unique_pointer : t -> bool
    val shared_pointer_matcher : QualifiedCppName.Match.quals_matcher
    val is_shared_pointer : t -> bool
    val is_folly_coro : t -> bool
    val thrift_field_refs : string list
    val is_thrift_field_ref : t -> bool
    val is_thrift_field_ref_str : string -> bool
    val is_pointer_to_void : t -> bool
    val is_void : t -> bool
    val is_pointer_to_int : t -> bool
    val is_pointer_to_const : t -> bool
    val is_pointer_to_function : t -> bool
    val is_pointer : t -> bool
    val is_reference : t -> bool
    val is_rvalue_reference : t -> bool
    val is_const_reference_on_source : t -> bool
    val is_struct : t -> bool
    val is_int : t -> bool
    val is_unsigned_int : t -> bool
    val is_char : t -> bool
    val is_csharp_type : t -> bool

    is t a type produced by the Java frontend?

    val is_java_type : t -> bool

    is t a type produced by the Java frontend?

    val unsome : string -> t option -> t
    diff --git a/website/static/odoc/next/infer/IR/Var/Map/index.html b/website/static/odoc/next/infer/IR/Var/Map/index.html index d7213a2f80b..6263eae5170 100644 --- a/website/static/odoc/next/infer/IR/Var/Map/index.html +++ b/website/static/odoc/next/infer/IR/Var/Map/index.html @@ -1,5 +1,5 @@ -Map (infer.IR.Var.Map)

    Module Var.Map

    include IStdlib.IStd.Caml.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +Map (infer.IR.Var.Map)

    Module Var.Map

    include Stdlib.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IR/Var/Set/index.html b/website/static/odoc/next/infer/IR/Var/Set/index.html index d9443936638..6faef554d06 100644 --- a/website/static/odoc/next/infer/IR/Var/Set/index.html +++ b/website/static/odoc/next/infer/IR/Var/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.IR.Var.Set)

    Module Var.Set

    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.IR.Var.Set)

    Module Var.Set

    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/IR/WeakTopologicalOrder/Bourdoncle_SCC/argument-1-CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/IR/WeakTopologicalOrder/Bourdoncle_SCC/argument-1-CFG/Node/IdMap/index.html index 04118c6b2cd..12666503067 100644 --- a/website/static/odoc/next/infer/IR/WeakTopologicalOrder/Bourdoncle_SCC/argument-1-CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/IR/WeakTopologicalOrder/Bourdoncle_SCC/argument-1-CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.IR.WeakTopologicalOrder.Bourdoncle_SCC.CFG.Node.IdMap)

    Module Node.IdMap

    include IStdlib.IStd.Caml.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +IdMap (infer.IR.WeakTopologicalOrder.Bourdoncle_SCC.CFG.Node.IdMap)

    Module Node.IdMap

    include Stdlib.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IR/WeakTopologicalOrder/module-type-Make/argument-1-CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/IR/WeakTopologicalOrder/module-type-Make/argument-1-CFG/Node/IdMap/index.html index dba7220eff7..a0301430304 100644 --- a/website/static/odoc/next/infer/IR/WeakTopologicalOrder/module-type-Make/argument-1-CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/IR/WeakTopologicalOrder/module-type-Make/argument-1-CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.IR.WeakTopologicalOrder.Make.CFG.Node.IdMap)

    Module Node.IdMap

    include IStdlib.IStd.Caml.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +IdMap (infer.IR.WeakTopologicalOrder.Make.CFG.Node.IdMap)

    Module Node.IdMap

    include Stdlib.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IR/WeakTopologicalOrder/module-type-PreProcCfg/Node/IdMap/index.html b/website/static/odoc/next/infer/IR/WeakTopologicalOrder/module-type-PreProcCfg/Node/IdMap/index.html index 949bbd9c3f2..b7ca4dd3511 100644 --- a/website/static/odoc/next/infer/IR/WeakTopologicalOrder/module-type-PreProcCfg/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/IR/WeakTopologicalOrder/module-type-PreProcCfg/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.IR.WeakTopologicalOrder.PreProcCfg.Node.IdMap)

    Module Node.IdMap

    include IStdlib.IStd.Caml.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +IdMap (infer.IR.WeakTopologicalOrder.PreProcCfg.Node.IdMap)

    Module Node.IdMap

    include Stdlib.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IR/WeakTopologicalOrder/module-type-S/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/IR/WeakTopologicalOrder/module-type-S/CFG/Node/IdMap/index.html index bd644096185..e0f4ebd58d0 100644 --- a/website/static/odoc/next/infer/IR/WeakTopologicalOrder/module-type-S/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/IR/WeakTopologicalOrder/module-type-S/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.IR.WeakTopologicalOrder.S.CFG.Node.IdMap)

    Module Node.IdMap

    include IStdlib.IStd.Caml.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +IdMap (infer.IR.WeakTopologicalOrder.S.CFG.Node.IdMap)

    Module Node.IdMap

    include Stdlib.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IStdlib/HashNormalizer/Make/argument-1-T/index.html b/website/static/odoc/next/infer/IStdlib/HashNormalizer/Make/argument-1-T/index.html index d3f79a11ca5..59f0dff6b72 100644 --- a/website/static/odoc/next/infer/IStdlib/HashNormalizer/Make/argument-1-T/index.html +++ b/website/static/odoc/next/infer/IStdlib/HashNormalizer/Make/argument-1-T/index.html @@ -1,2 +1,2 @@ -T (infer.IStdlib.HashNormalizer.Make.T)

    Parameter Make.T

    include Core.Caml.Hashtbl.HashedType
    type t
    val equal : t -> t -> bool
    val hash : t -> int
    val normalize : t -> t
    +T (infer.IStdlib.HashNormalizer.Make.T)

    Parameter Make.T

    include Stdlib.Hashtbl.HashedType
    type t
    val equal : t -> t -> bool
    val hash : t -> int
    val normalize : t -> t
    diff --git a/website/static/odoc/next/infer/IStdlib/HashNormalizer/module-type-NormalizedT/index.html b/website/static/odoc/next/infer/IStdlib/HashNormalizer/module-type-NormalizedT/index.html index ec808c1c236..a0755f232ad 100644 --- a/website/static/odoc/next/infer/IStdlib/HashNormalizer/module-type-NormalizedT/index.html +++ b/website/static/odoc/next/infer/IStdlib/HashNormalizer/module-type-NormalizedT/index.html @@ -1,2 +1,2 @@ -NormalizedT (infer.IStdlib.HashNormalizer.NormalizedT)

    Module type HashNormalizer.NormalizedT

    a hashed type with a normalization function which respects equality

    include Core.Caml.Hashtbl.HashedType
    type t
    val equal : t -> t -> bool
    val hash : t -> int
    val normalize : t -> t
    +NormalizedT (infer.IStdlib.HashNormalizer.NormalizedT)

    Module type HashNormalizer.NormalizedT

    a hashed type with a normalization function which respects equality

    include Stdlib.Hashtbl.HashedType
    type t
    val equal : t -> t -> bool
    val hash : t -> int
    val normalize : t -> t
    diff --git a/website/static/odoc/next/infer/IStdlib/HashSet/Make/index.html b/website/static/odoc/next/infer/IStdlib/HashSet/Make/index.html index cb41ab46d54..8e5b71aff42 100644 --- a/website/static/odoc/next/infer/IStdlib/HashSet/Make/index.html +++ b/website/static/odoc/next/infer/IStdlib/HashSet/Make/index.html @@ -1,2 +1,2 @@ -Make (infer.IStdlib.HashSet.Make)

    Module HashSet.Make

    Parameters

    module Key : IStdlib.IStd.Caml.Hashtbl.HashedType

    Signature

    type elt = Key.t
    type t
    val create : int -> t
    val singleton : elt -> t
    val add : elt -> t -> unit
    val remove : elt -> t -> unit
    val remove_all : elt Iter.t -> t -> unit
    val iter : t -> elt Iter.t
    val seq : t -> elt Stdlib.Seq.t
    val of_seq : elt Stdlib.Seq.t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val length : t -> int
    val mem : t -> elt -> bool
    val clear : t -> unit
    val union_into : into:t -> t -> unit
    val is_empty : t -> bool
    +Make (infer.IStdlib.HashSet.Make)

    Module HashSet.Make

    Parameters

    module Key : Stdlib.Hashtbl.HashedType

    Signature

    type elt = Key.t
    type t
    val create : int -> t
    val singleton : elt -> t
    val add : elt -> t -> unit
    val remove : elt -> t -> unit
    val remove_all : elt Iter.t -> t -> unit
    val iter : t -> elt Iter.t
    val seq : t -> elt Stdlib.Seq.t
    val of_seq : elt Stdlib.Seq.t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val length : t -> int
    val mem : t -> elt -> bool
    val clear : t -> unit
    val union_into : into:t -> t -> unit
    val is_empty : t -> bool
    diff --git a/website/static/odoc/next/infer/IStdlib/HashSet/index.html b/website/static/odoc/next/infer/IStdlib/HashSet/index.html index 780a1c2fa69..fb9d7e5fefc 100644 --- a/website/static/odoc/next/infer/IStdlib/HashSet/index.html +++ b/website/static/odoc/next/infer/IStdlib/HashSet/index.html @@ -1,4 +1,2 @@ -HashSet (infer.IStdlib.HashSet)

    Module IStdlib.HashSet

    Hash set interface for mutably constructing and iterating over unordered collections.

    module type S = sig ... end
    module Make - (Key : IStdlib.IStd.Caml.Hashtbl.HashedType) : - S with type elt = Key.t
    +HashSet (infer.IStdlib.HashSet)

    Module IStdlib.HashSet

    Hash set interface for mutably constructing and iterating over unordered collections.

    module type S = sig ... end
    module Make (Key : Stdlib.Hashtbl.HashedType) : S with type elt = Key.t
    diff --git a/website/static/odoc/next/infer/IStdlib/IInt/Set/index.html b/website/static/odoc/next/infer/IStdlib/IInt/Set/index.html index 2193dc9e2e3..948e82ee597 100644 --- a/website/static/odoc/next/infer/IStdlib/IInt/Set/index.html +++ b/website/static/odoc/next/infer/IStdlib/IInt/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.IStdlib.IInt.Set)

    Module IInt.Set

    include Core.Caml.Set.S with type elt = int
    type elt = int
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val pp : F.formatter -> t -> unit
    +Set (infer.IStdlib.IInt.Set)

    Module IInt.Set

    include Stdlib.Set.S with type elt = int
    type elt = int
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val pp : F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/IStdlib/IInt/index.html b/website/static/odoc/next/infer/IStdlib/IInt/index.html index ad9f1598a10..ce3a8de93d5 100644 --- a/website/static/odoc/next/infer/IStdlib/IInt/index.html +++ b/website/static/odoc/next/infer/IStdlib/IInt/index.html @@ -1,2 +1,2 @@ -IInt (infer.IStdlib.IInt)

    Module IStdlib.IInt

    module F = Stdlib.Format
    module Map : Core.Caml.Map.S with type key = int
    module Set : sig ... end
    module Hash : Core.Caml.Hashtbl.S with type key = int
    +IInt (infer.IStdlib.IInt)

    Module IStdlib.IInt

    module F = Stdlib.Format
    module Map : Stdlib.Map.S with type key = int
    module Set : sig ... end
    module Hash : Stdlib.Hashtbl.S with type key = int
    diff --git a/website/static/odoc/next/infer/IStdlib/LRUHashtbl/Make/index.html b/website/static/odoc/next/infer/IStdlib/LRUHashtbl/Make/index.html index def966a88de..3b6d7348c83 100644 --- a/website/static/odoc/next/infer/IStdlib/LRUHashtbl/Make/index.html +++ b/website/static/odoc/next/infer/IStdlib/LRUHashtbl/Make/index.html @@ -1,5 +1,5 @@ -Make (infer.IStdlib.LRUHashtbl.Make)

    Module LRUHashtbl.Make

    Parameters

    module Key : IStdlib.IStd.Caml.Hashtbl.HashedType

    Signature

    type key = Key.t
    type 'a t
    val create : initial_size:int -> max_size:int -> 'a t
    val find_opt : 'a t -> key -> 'a option
    val replace : 'a t -> key -> 'a -> unit
    val remove : 'a t -> key -> unit
    val clear : 'a t -> unit
    val pp : +Make (infer.IStdlib.LRUHashtbl.Make)

    Module LRUHashtbl.Make

    Parameters

    module Key : Stdlib.Hashtbl.HashedType

    Signature

    type key = Key.t
    type 'a t
    val create : initial_size:int -> max_size:int -> 'a t
    val find_opt : 'a t -> key -> 'a option
    val replace : 'a t -> key -> 'a -> unit
    val remove : 'a t -> key -> unit
    val clear : 'a t -> unit
    val pp : pp_key:(Stdlib.Format.formatter -> key -> unit) -> pp_v:(Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> diff --git a/website/static/odoc/next/infer/IStdlib/LRUHashtbl/index.html b/website/static/odoc/next/infer/IStdlib/LRUHashtbl/index.html index 81af3fbb1ce..6c024fd118a 100644 --- a/website/static/odoc/next/infer/IStdlib/LRUHashtbl/index.html +++ b/website/static/odoc/next/infer/IStdlib/LRUHashtbl/index.html @@ -1,4 +1,2 @@ -LRUHashtbl (infer.IStdlib.LRUHashtbl)

    Module IStdlib.LRUHashtbl

    Hash table the size of which is limited by LRU

    module type S = sig ... end
    module Make - (Key : IStdlib.IStd.Caml.Hashtbl.HashedType) : - S with type key = Key.t
    +LRUHashtbl (infer.IStdlib.LRUHashtbl)

    Module IStdlib.LRUHashtbl

    Hash table the size of which is limited by LRU

    module type S = sig ... end
    module Make (Key : Stdlib.Hashtbl.HashedType) : S with type key = Key.t
    diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPMap/argument-1-Ord/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPMap/argument-1-Ord/index.html index b24c1f68b68..0db1d5f405d 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPMap/argument-1-Ord/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPMap/argument-1-Ord/index.html @@ -1,5 +1,5 @@ -Ord (infer.IStdlib.PrettyPrintable.MakeHashSexpPPMap.Ord)

    Parameter MakeHashSexpPPMap.Ord

    include IStdlib.IStd.Caml.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    include IStdlib.IStd.Sexpable with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    val hash_fold_t : +Ord (infer.IStdlib.PrettyPrintable.MakeHashSexpPPMap.Ord)

    Parameter MakeHashSexpPPMap.Ord

    include Stdlib.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    include IStdlib.IStd.Sexpable with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    val hash_fold_t : Base_internalhash_types.state -> t -> Base_internalhash_types.state
    diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPMap/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPMap/index.html index c42c6902585..0a08f6d2738 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPMap/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPMap/index.html @@ -1,5 +1,5 @@ -MakeHashSexpPPMap (infer.IStdlib.PrettyPrintable.MakeHashSexpPPMap)

    Module PrettyPrintable.MakeHashSexpPPMap

    Parameters

    Signature

    include PPMap with type key = Ord.t
    include IStdlib.IStd.Caml.Map.S with type key = Ord.t
    type key = Ord.t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +MakeHashSexpPPMap (infer.IStdlib.PrettyPrintable.MakeHashSexpPPMap)

    Module PrettyPrintable.MakeHashSexpPPMap

    Parameters

    Signature

    include PPMap with type key = Ord.t
    include Stdlib.Map.S with type key = Ord.t
    type key = Ord.t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPSet/argument-1-Ord/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPSet/argument-1-Ord/index.html index fb1c66fe64d..120def4ce61 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPSet/argument-1-Ord/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPSet/argument-1-Ord/index.html @@ -1,5 +1,5 @@ -Ord (infer.IStdlib.PrettyPrintable.MakeHashSexpPPSet.Ord)

    Parameter MakeHashSexpPPSet.Ord

    include IStdlib.IStd.Caml.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    include IStdlib.IStd.Sexpable with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    val hash_fold_t : +Ord (infer.IStdlib.PrettyPrintable.MakeHashSexpPPSet.Ord)

    Parameter MakeHashSexpPPSet.Ord

    include Stdlib.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    include IStdlib.IStd.Sexpable with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    val hash_fold_t : Base_internalhash_types.state -> t -> Base_internalhash_types.state
    diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPSet/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPSet/index.html index cc54f3e1ee9..e705278dc6f 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPSet/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakeHashSexpPPSet/index.html @@ -1,5 +1,5 @@ -MakeHashSexpPPSet (infer.IStdlib.PrettyPrintable.MakeHashSexpPPSet)

    Module PrettyPrintable.MakeHashSexpPPSet

    Parameters

    Signature

    include PPSet with type elt = Ord.t
    include IStdlib.IStd.Caml.Set.S with type elt = Ord.t
    type elt = Ord.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IContainer.singleton_or_more
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    val pp_hov : F.formatter -> t -> unit
    val pp_element : F.formatter -> elt -> unit
    include IStdlib.IStd.Sexpable with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    val hash_fold_t : +MakeHashSexpPPSet (infer.IStdlib.PrettyPrintable.MakeHashSexpPPSet)

    Module PrettyPrintable.MakeHashSexpPPSet

    Parameters

    Signature

    include PPSet with type elt = Ord.t
    include Stdlib.Set.S with type elt = Ord.t
    type elt = Ord.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IContainer.singleton_or_more
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    val pp_hov : F.formatter -> t -> unit
    val pp_element : F.formatter -> elt -> unit
    include IStdlib.IStd.Sexpable with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    val hash_fold_t : Base_internalhash_types.state -> t -> Base_internalhash_types.state
    diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPMap/argument-1-Ord/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPMap/argument-1-Ord/index.html index 3a0d47171cb..022da77ffac 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPMap/argument-1-Ord/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPMap/argument-1-Ord/index.html @@ -1,2 +1,2 @@ -Ord (infer.IStdlib.PrettyPrintable.MakePPMap.Ord)

    Parameter MakePPMap.Ord

    include IStdlib.IStd.Caml.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    +Ord (infer.IStdlib.PrettyPrintable.MakePPMap.Ord)

    Parameter MakePPMap.Ord

    include Stdlib.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPMap/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPMap/index.html index 2bcec9ecd38..c62df6bbede 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPMap/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPMap/index.html @@ -1,5 +1,5 @@ -MakePPMap (infer.IStdlib.PrettyPrintable.MakePPMap)

    Module PrettyPrintable.MakePPMap

    Parameters

    Signature

    include IStdlib.IStd.Caml.Map.S with type key = Ord.t
    type key = Ord.t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +MakePPMap (infer.IStdlib.PrettyPrintable.MakePPMap)

    Module PrettyPrintable.MakePPMap

    Parameters

    Signature

    include Stdlib.Map.S with type key = Ord.t
    type key = Ord.t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPMonoMap/argument-1-Ord/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPMonoMap/argument-1-Ord/index.html index a6e1ba713d6..3aed24dc485 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPMonoMap/argument-1-Ord/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPMonoMap/argument-1-Ord/index.html @@ -1,2 +1,2 @@ -Ord (infer.IStdlib.PrettyPrintable.MakePPMonoMap.Ord)

    Parameter MakePPMonoMap.Ord

    include IStdlib.IStd.Caml.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    +Ord (infer.IStdlib.PrettyPrintable.MakePPMonoMap.Ord)

    Parameter MakePPMonoMap.Ord

    include Stdlib.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPSet/argument-1-Ord/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPSet/argument-1-Ord/index.html index 1083abec2bc..4d1b06c8655 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPSet/argument-1-Ord/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPSet/argument-1-Ord/index.html @@ -1,2 +1,2 @@ -Ord (infer.IStdlib.PrettyPrintable.MakePPSet.Ord)

    Parameter MakePPSet.Ord

    include IStdlib.IStd.Caml.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    +Ord (infer.IStdlib.PrettyPrintable.MakePPSet.Ord)

    Parameter MakePPSet.Ord

    include Stdlib.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPSet/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPSet/index.html index 30785a8262f..afb812d1e0a 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPSet/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPSet/index.html @@ -1,2 +1,2 @@ -MakePPSet (infer.IStdlib.PrettyPrintable.MakePPSet)

    Module PrettyPrintable.MakePPSet

    Parameters

    Signature

    include IStdlib.IStd.Caml.Set.S with type elt = Ord.t
    type elt = Ord.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IContainer.singleton_or_more
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    val pp_hov : F.formatter -> t -> unit
    val pp_element : F.formatter -> elt -> unit
    +MakePPSet (infer.IStdlib.PrettyPrintable.MakePPSet)

    Module PrettyPrintable.MakePPSet

    Parameters

    Signature

    include Stdlib.Set.S with type elt = Ord.t
    type elt = Ord.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IContainer.singleton_or_more
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    val pp_hov : F.formatter -> t -> unit
    val pp_element : F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPUniqRankSet/argument-1-Rank/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPUniqRankSet/argument-1-Rank/index.html index 36ecef66cce..ee5adafaf29 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPUniqRankSet/argument-1-Rank/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/MakePPUniqRankSet/argument-1-Rank/index.html @@ -1,2 +1,2 @@ -Rank (infer.IStdlib.PrettyPrintable.MakePPUniqRankSet.Rank)

    Parameter MakePPUniqRankSet.Rank

    include IStdlib.IStd.Caml.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableEquatableType with type t := t
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    val equal : t -> t -> bool
    +Rank (infer.IStdlib.PrettyPrintable.MakePPUniqRankSet.Rank)

    Parameter MakePPUniqRankSet.Rank

    include Stdlib.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableEquatableType with type t := t
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    val equal : t -> t -> bool
    diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/PPMonoMapOfPPMap/argument-1-M/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/PPMonoMapOfPPMap/argument-1-M/index.html index f9cf6f7d971..a8a9d187e94 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/PPMonoMapOfPPMap/argument-1-M/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/PPMonoMapOfPPMap/argument-1-M/index.html @@ -1,5 +1,5 @@ -M (infer.IStdlib.PrettyPrintable.PPMonoMapOfPPMap.M)

    Parameter PPMonoMapOfPPMap.M

    include IStdlib.IStd.Caml.Map.S
    type key
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +M (infer.IStdlib.PrettyPrintable.PPMonoMapOfPPMap.M)

    Parameter PPMonoMapOfPPMap.M

    include Stdlib.Map.S
    type key
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-HashSexpPPMap/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-HashSexpPPMap/index.html index a8df2610658..505a336f55f 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-HashSexpPPMap/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-HashSexpPPMap/index.html @@ -1,5 +1,5 @@ -HashSexpPPMap (infer.IStdlib.PrettyPrintable.HashSexpPPMap)

    Module type PrettyPrintable.HashSexpPPMap

    include PPMap
    include IStdlib.IStd.Caml.Map.S
    type key
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +HashSexpPPMap (infer.IStdlib.PrettyPrintable.HashSexpPPMap)

    Module type PrettyPrintable.HashSexpPPMap

    include PPMap
    include Stdlib.Map.S
    type key
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-HashSexpPPSet/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-HashSexpPPSet/index.html index e05e73b5e84..88fea2a2073 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-HashSexpPPSet/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-HashSexpPPSet/index.html @@ -1,5 +1,5 @@ -HashSexpPPSet (infer.IStdlib.PrettyPrintable.HashSexpPPSet)

    Module type PrettyPrintable.HashSexpPPSet

    include PPSet
    include IStdlib.IStd.Caml.Set.S
    type elt
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IContainer.singleton_or_more
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    val pp_hov : F.formatter -> t -> unit
    val pp_element : F.formatter -> elt -> unit
    include IStdlib.IStd.Sexpable with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    val hash_fold_t : +HashSexpPPSet (infer.IStdlib.PrettyPrintable.HashSexpPPSet)

    Module type PrettyPrintable.HashSexpPPSet

    include PPSet
    include Stdlib.Set.S
    type elt
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IContainer.singleton_or_more
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    val pp_hov : F.formatter -> t -> unit
    val pp_element : F.formatter -> elt -> unit
    include IStdlib.IStd.Sexpable with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    val hash_fold_t : Base_internalhash_types.state -> t -> Base_internalhash_types.state
    diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-HashableSexpablePrintableOrderedType/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-HashableSexpablePrintableOrderedType/index.html index 7bcc2afa564..5ea9e71c3bb 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-HashableSexpablePrintableOrderedType/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-HashableSexpablePrintableOrderedType/index.html @@ -1,5 +1,5 @@ -HashableSexpablePrintableOrderedType (infer.IStdlib.PrettyPrintable.HashableSexpablePrintableOrderedType)

    Module type PrettyPrintable.HashableSexpablePrintableOrderedType

    include IStdlib.IStd.Caml.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    include IStdlib.IStd.Sexpable with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    val hash_fold_t : +HashableSexpablePrintableOrderedType (infer.IStdlib.PrettyPrintable.HashableSexpablePrintableOrderedType)

    Module type PrettyPrintable.HashableSexpablePrintableOrderedType

    include Stdlib.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    include IStdlib.IStd.Sexpable with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    val hash_fold_t : Base_internalhash_types.state -> t -> Base_internalhash_types.state
    diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PPMap/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PPMap/index.html index 6b33919cc4e..2c43ee76cc4 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PPMap/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PPMap/index.html @@ -1,5 +1,5 @@ -PPMap (infer.IStdlib.PrettyPrintable.PPMap)

    Module type PrettyPrintable.PPMap

    include IStdlib.IStd.Caml.Map.S
    type key
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +PPMap (infer.IStdlib.PrettyPrintable.PPMap)

    Module type PrettyPrintable.PPMap

    include Stdlib.Map.S
    type key
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PPSet/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PPSet/index.html index 08f675ead2d..207bf766d55 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PPSet/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PPSet/index.html @@ -1,2 +1,2 @@ -PPSet (infer.IStdlib.PrettyPrintable.PPSet)

    Module type PrettyPrintable.PPSet

    include IStdlib.IStd.Caml.Set.S
    type elt
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IContainer.singleton_or_more
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    val pp_hov : F.formatter -> t -> unit
    val pp_element : F.formatter -> elt -> unit
    +PPSet (infer.IStdlib.PrettyPrintable.PPSet)

    Module type PrettyPrintable.PPSet

    include Stdlib.Set.S
    type elt
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IContainer.singleton_or_more
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    val pp_hov : F.formatter -> t -> unit
    val pp_element : F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PrintableEquatableOrderedType/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PrintableEquatableOrderedType/index.html index 918bdfaefa1..206e6b0800b 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PrintableEquatableOrderedType/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PrintableEquatableOrderedType/index.html @@ -1,2 +1,2 @@ -PrintableEquatableOrderedType (infer.IStdlib.PrettyPrintable.PrintableEquatableOrderedType)

    Module type PrettyPrintable.PrintableEquatableOrderedType

    include IStdlib.IStd.Caml.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableEquatableType with type t := t
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    val equal : t -> t -> bool
    +PrintableEquatableOrderedType (infer.IStdlib.PrettyPrintable.PrintableEquatableOrderedType)

    Module type PrettyPrintable.PrintableEquatableOrderedType

    include Stdlib.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableEquatableType with type t := t
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    val equal : t -> t -> bool
    diff --git a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PrintableOrderedType/index.html b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PrintableOrderedType/index.html index 96624ca4f67..4e676340723 100644 --- a/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PrintableOrderedType/index.html +++ b/website/static/odoc/next/infer/IStdlib/PrettyPrintable/module-type-PrintableOrderedType/index.html @@ -1,2 +1,2 @@ -PrintableOrderedType (infer.IStdlib.PrettyPrintable.PrintableOrderedType)

    Module type PrettyPrintable.PrintableOrderedType

    include IStdlib.IStd.Caml.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    +PrintableOrderedType (infer.IStdlib.PrettyPrintable.PrintableOrderedType)

    Module type PrettyPrintable.PrintableOrderedType

    include Stdlib.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrintableType with type t := t
    val pp : F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/IStdlib/RecencyMap/Make/argument-1-Key/index.html b/website/static/odoc/next/infer/IStdlib/RecencyMap/Make/argument-1-Key/index.html index fdba6ecf295..4753b4cf9a1 100644 --- a/website/static/odoc/next/infer/IStdlib/RecencyMap/Make/argument-1-Key/index.html +++ b/website/static/odoc/next/infer/IStdlib/RecencyMap/Make/argument-1-Key/index.html @@ -1,2 +1,2 @@ -Key (infer.IStdlib.RecencyMap.Make.Key)

    Parameter Make.Key

    include IStdlib.IStd.Caml.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrettyPrintable.PrintableEquatableType with type t := t
    include PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val equal : t -> t -> bool
    +Key (infer.IStdlib.RecencyMap.Make.Key)

    Parameter Make.Key

    include Stdlib.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrettyPrintable.PrintableEquatableType with type t := t
    include PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val equal : t -> t -> bool
    diff --git a/website/static/odoc/next/infer/IStdlib/RecencyMap/Make/argument-2-Value/index.html b/website/static/odoc/next/infer/IStdlib/RecencyMap/Make/argument-2-Value/index.html index cb92aa6617a..e2a89f36d20 100644 --- a/website/static/odoc/next/infer/IStdlib/RecencyMap/Make/argument-2-Value/index.html +++ b/website/static/odoc/next/infer/IStdlib/RecencyMap/Make/argument-2-Value/index.html @@ -1,2 +1,2 @@ -Value (infer.IStdlib.RecencyMap.Make.Value)

    Parameter Make.Value

    include IStdlib.IStd.Caml.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    +Value (infer.IStdlib.RecencyMap.Make.Value)

    Parameter Make.Value

    include Stdlib.Set.OrderedType
    type t
    val compare : t -> t -> int
    include PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/IStdlib/UnionFind/Make/index.html b/website/static/odoc/next/infer/IStdlib/UnionFind/Make/index.html index 11429b6a801..f256e5784ab 100644 --- a/website/static/odoc/next/infer/IStdlib/UnionFind/Make/index.html +++ b/website/static/odoc/next/infer/IStdlib/UnionFind/Make/index.html @@ -1,2 +1,2 @@ -Make (infer.IStdlib.UnionFind.Make)

    Module UnionFind.Make

    Parameters

    module X : Element
    module XSet : Core.Caml.Set.S with type elt = X.t
    module XMap : Core.Caml.Map.S with type key = X.t

    Signature

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val pp : (F.formatter -> X.t -> unit) -> F.formatter -> t -> unit
    type repr = private X.t
    val empty : t
    val is_empty : t -> bool
    val union : t -> X.t -> X.t -> t * (X.t * repr) option

    return the optional new equality added between the old representatives of the two items in the form of "old representative = new representative", None if they were already in the same congruence class

    val find : t -> X.t -> repr

    return the element given if it wasn't found in the relation

    val fold_congruences : (t, repr * XSet.t, 'acc) Core.Container.fold

    fold over the equivalence classes of the relation, singling out the representative for each class

    val reorient : should_keep:(X.t -> bool) -> t -> X.t XMap.t

    the relation x -> x' derived from the equality relation that relates all x, x' such that ¬(should_keep x), should_keep x', and x=x', as well as y -> y' when no element in the equivalence class of y satisfies should_keep and y' is the representative of the class

    val apply_subst : _ XMap.t -> t -> t

    apply_subst subst uf eliminate all variables in the domain of subst from uf, keeping the smallest representative not in the domain of subst for each class. Classes without any such elements are kept intact.

    val filter : f:(X.t -> bool) -> t -> t

    only keep items satisfying f

    val fold_elements : (t, X.t, 'acc) Core.Container.fold
    +Make (infer.IStdlib.UnionFind.Make)

    Module UnionFind.Make

    Parameters

    module X : Element
    module XSet : Stdlib.Set.S with type elt = X.t
    module XMap : Stdlib.Map.S with type key = X.t

    Signature

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val pp : (F.formatter -> X.t -> unit) -> F.formatter -> t -> unit
    type repr = private X.t
    val empty : t
    val is_empty : t -> bool
    val union : t -> X.t -> X.t -> t * (X.t * repr) option

    return the optional new equality added between the old representatives of the two items in the form of "old representative = new representative", None if they were already in the same congruence class

    val find : t -> X.t -> repr

    return the element given if it wasn't found in the relation

    val fold_congruences : (t, repr * XSet.t, 'acc) Core.Container.fold

    fold over the equivalence classes of the relation, singling out the representative for each class

    val reorient : should_keep:(X.t -> bool) -> t -> X.t XMap.t

    the relation x -> x' derived from the equality relation that relates all x, x' such that ¬(should_keep x), should_keep x', and x=x', as well as y -> y' when no element in the equivalence class of y satisfies should_keep and y' is the representative of the class

    val apply_subst : _ XMap.t -> t -> t

    apply_subst subst uf eliminate all variables in the domain of subst from uf, keeping the smallest representative not in the domain of subst for each class. Classes without any such elements are kept intact.

    val filter : f:(X.t -> bool) -> t -> t

    only keep items satisfying f

    val fold_elements : (t, X.t, 'acc) Core.Container.fold
    diff --git a/website/static/odoc/next/infer/IStdlib/UnionFind/index.html b/website/static/odoc/next/infer/IStdlib/UnionFind/index.html index 1f031cdc276..c526fa0dcb1 100644 --- a/website/static/odoc/next/infer/IStdlib/UnionFind/index.html +++ b/website/static/odoc/next/infer/IStdlib/UnionFind/index.html @@ -1,6 +1,6 @@ UnionFind (infer.IStdlib.UnionFind)

    Module IStdlib.UnionFind

    module F = Stdlib.Format

    A union-find data structure.

    module type Element = sig ... end
    module Make (X : Element) - (XSet : Core.Caml.Set.S with type elt = X.t) - (XMap : Core.Caml.Map.S with type key = X.t) : + (XSet : Stdlib.Set.S with type elt = X.t) + (XMap : Stdlib.Map.S with type key = X.t) : sig ... end
    diff --git a/website/static/odoc/next/infer/JavaFrontend/JContext/index.html b/website/static/odoc/next/infer/JavaFrontend/JContext/index.html index 2f77693f1ca..1b6b3505ef8 100644 --- a/website/static/odoc/next/infer/JavaFrontend/JContext/index.html +++ b/website/static/odoc/next/infer/JavaFrontend/JContext/index.html @@ -1,5 +1,5 @@ -JContext (infer.JavaFrontend.JContext)

    Module JavaFrontend.JContext

    type jump_kind =
    1. | Next
    2. | Jump of int
    3. | Exit

    data structure for representing whether an instruction is a goto, a return or a standard instruction.

    module NodeTbl : IStdlib.IStd.Caml.Hashtbl.S with type key = IR.Procdesc.Node.t

    Hastable for storing nodes that correspond to if-instructions. These are used when adding the edges in the contrl flow graph.

    type icfg = {
    1. tenv : IR.Tenv.t;
    2. cfg : IR.Cfg.t;
    }

    data structure for saving the three structures tht contain the intermediate representation of a file: the type environment, the control graph and the control flow graph

    type t = private {
    1. icfg : icfg;
    2. procdesc : IR.Procdesc.t;
    3. impl : Sawja_pack.JBir.t;
    4. mutable var_map : (IR.Pvar.t * IR.Typ.t * IR.Typ.t) Sawja_pack.JBir.VarMap.t;
    5. if_jumps : int NodeTbl.t;
    6. goto_jumps : (int, jump_kind) IStdlib.IStd.Caml.Hashtbl.t;
    7. cn : Javalib_pack.JBasics.class_name;
    8. source_file : IBase.SourceFile.t;
    9. program : JProgramDesc.t;
    }

    data structure for storing the context elements.

    val create_context : +JContext (infer.JavaFrontend.JContext)

    Module JavaFrontend.JContext

    type jump_kind =
    1. | Next
    2. | Jump of int
    3. | Exit

    data structure for representing whether an instruction is a goto, a return or a standard instruction.

    module NodeTbl : Stdlib.Hashtbl.S with type key = IR.Procdesc.Node.t

    Hastable for storing nodes that correspond to if-instructions. These are used when adding the edges in the contrl flow graph.

    type icfg = {
    1. tenv : IR.Tenv.t;
    2. cfg : IR.Cfg.t;
    }

    data structure for saving the three structures tht contain the intermediate representation of a file: the type environment, the control graph and the control flow graph

    type t = private {
    1. icfg : icfg;
    2. procdesc : IR.Procdesc.t;
    3. impl : Sawja_pack.JBir.t;
    4. mutable var_map : (IR.Pvar.t * IR.Typ.t * IR.Typ.t) Sawja_pack.JBir.VarMap.t;
    5. if_jumps : int NodeTbl.t;
    6. goto_jumps : (int, jump_kind) Stdlib.Hashtbl.t;
    7. cn : Javalib_pack.JBasics.class_name;
    8. source_file : IBase.SourceFile.t;
    9. program : JProgramDesc.t;
    }

    data structure for storing the context elements.

    val create_context : icfg -> IR.Procdesc.t -> Sawja_pack.JBir.t -> diff --git a/website/static/odoc/next/infer/JavaFrontend/JProgramDesc/index.html b/website/static/odoc/next/infer/JavaFrontend/JProgramDesc/index.html index 25db73acebf..222ac1dc5b7 100644 --- a/website/static/odoc/next/infer/JavaFrontend/JProgramDesc/index.html +++ b/website/static/odoc/next/infer/JavaFrontend/JProgramDesc/index.html @@ -1,6 +1,6 @@ JProgramDesc (infer.JavaFrontend.JProgramDesc)

    Module JavaFrontend.JProgramDesc

    module Classmap : - IStdlib.IStd.Caml.Hashtbl.S with type key = Javalib_pack.JBasics.class_name
    type classmap = + Stdlib.Hashtbl.S with type key = Javalib_pack.JBasics.class_name
    type classmap = Javalib_pack.JCode.jcode Javalib_pack.Javalib.interface_or_class Classmap.t
    type t
    val get_classmap : t -> classmap
    val get_matching_class_names : t -> string -> diff --git a/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/CanonValue/Memory/Access/index.html b/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/CanonValue/Memory/Access/index.html index e8bd28f0bb8..fedd729f425 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/CanonValue/Memory/Access/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/CanonValue/Memory/Access/index.html @@ -1,9 +1,8 @@ Access (infer.Pulselib.PulseAbductiveDomain.CanonValue.Memory.Access)

    Module Memory.Access

    include IStdlib.PrettyPrintable.PrintableEquatableOrderedType - with type t = t PulseAccess.access
    include IStdlib.IStd.Caml.Set.OrderedType - with type t = t Pulselib.PulseAccess.access
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableEquatableType with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val equal : t -> t -> bool
    val canonicalize : + with type t = t PulseAccess.access
    include Stdlib.Set.OrderedType with type t = t Pulselib.PulseAccess.access
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableEquatableType with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val equal : t -> t -> bool
    val yojson_of_t : t -> Yojson.Safe.t
    module Set : IStdlib.IStd.Caml.Set.S with type elt = t
    + t
    val yojson_of_t : t -> Yojson.Safe.t
    module Set : Stdlib.Set.S with type elt = t
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/CanonValue/Set/index.html b/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/CanonValue/Set/index.html index b710e41d83e..4bc514d8086 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/CanonValue/Set/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/CanonValue/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Pulselib.PulseAbductiveDomain.CanonValue.Set)

    Module CanonValue.Set

    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.Pulselib.PulseAbductiveDomain.CanonValue.Set)

    Module CanonValue.Set

    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/index.html b/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/index.html index f66790c59d1..97a3ce0ae43 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/index.html @@ -1,5 +1,5 @@ -PulseAbductiveDomain (infer.Pulselib.PulseAbductiveDomain)

    Module Pulselib.PulseAbductiveDomain

    module F = Stdlib.Format
    module BaseDomain = PulseBaseDomain
    module Decompiler = PulseDecompiler
    module DecompilerExpr = PulseDecompilerExpr
    module PathContext = PulsePathContext

    Abductive, value-normalizing layer on top of BaseDomain

    The operations in this module take care of two things that are important for the safety of domain operations:

    1. Propagate operations on the current state to the pre-condition when necessary. This is the "abductive" part of the domain and follows the principles of biabduction as laid out in *Compositional Shape Analysis by Means of Bi-Abduction*, JACM, 2011, https://doi.org/10.1145/2049697.2049700. Simply put, a read from a memory location that is reachable from the precondition for the first time is taken to mean that this memory location had better been allocated since the beginning of the function for the operation to be safe, hence we "abduce" that this was the case and add it to the pre-condition (unless we already know that address to be invalid of course).

    2. Normalize values (AbstractValue.t) in and out of the state according to their canonical representatives as per the current path condition. The idea is that one can ask about any abstract value and functions in this API will normalize it as needed first before querying the abstract state, and normalize any value found in the abstract state as needed too. For example, values in the raw map corresponding to the memory are not necessarily normalized at all times but the API allows one to pretend they are by normalizing them on the fly. On the other hand, *keys* in the memory map are always normalized so values must be normalized before being looked up in the map and this module takes care of that transparently too. See also PulseCanonValue.

    module type BaseDomainSig = sig ... end

    signature common to the "normal" Domain, representing the post at the current program point, and the inverted PreDomain, representing the inferred pre-condition

    The post abstract state at each program point, or current state.

    The inferred pre-condition at each program point, biabduction style.

    type t = private {
    1. post : PostDomain.t;
      (*

      state at the current program point

      *)
    2. pre : PreDomain.t;
      (*

      inferred procedure pre-condition leading to the current program point

      *)
    3. path_condition : Pulselib.PulseBasicInterface.Formula.t;
      (*

      arithmetic facts true along the path (holding for both pre and post since abstract values are immutable)

      *)
    4. decompiler : Decompiler.t;
    5. topl : PulseTopl.state;
      (*

      state at of the Topl monitor at the current program point, when Topl is enabled

      *)
    6. need_dynamic_type_specialization : Pulselib.PulseBasicInterface.AbstractValue.Set.t;
      (*

      a set of abstract values that are used as receiver of method calls in the instructions reached so far

      *)
    7. transitive_info : Pulselib.PulseBasicInterface.TransitiveInfo.t;
      (*

      record transitive information inter-procedurally

      *)
    8. recursive_calls : PulseMutualRecursion.Set.t;
    9. skipped_calls : Pulselib.PulseBasicInterface.SkippedCalls.t;
      (*

      metadata: procedure calls for which no summary was found

      *)
    }

    pre/post on a single program path

    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val leq : lhs:t -> rhs:t -> bool
    val pp : Stdlib.Format.formatter -> t -> unit
    val mk_initial : IR.Tenv.t -> IR.ProcAttributes.t -> t
    module Stack : sig ... end

    Safe version of PulseBaseStack

    module Memory : sig ... end

    Safe version of PulseBaseMemory

    module AddressAttributes : sig ... end
    val should_havoc_if_unknown : +PulseAbductiveDomain (infer.Pulselib.PulseAbductiveDomain)

    Module Pulselib.PulseAbductiveDomain

    module F = Stdlib.Format
    module BaseDomain = PulseBaseDomain
    module Decompiler = PulseDecompiler
    module DecompilerExpr = PulseDecompilerExpr
    module PathContext = PulsePathContext

    Abductive, value-normalizing layer on top of BaseDomain

    The operations in this module take care of two things that are important for the safety of domain operations:

    1. Propagate operations on the current state to the pre-condition when necessary. This is the "abductive" part of the domain and follows the principles of biabduction as laid out in *Compositional Shape Analysis by Means of Bi-Abduction*, JACM, 2011, https://doi.org/10.1145/2049697.2049700. Simply put, a read from a memory location that is reachable from the precondition for the first time is taken to mean that this memory location had better been allocated since the beginning of the function for the operation to be safe, hence we "abduce" that this was the case and add it to the pre-condition (unless we already know that address to be invalid of course).

    2. Normalize values (AbstractValue.t) in and out of the state according to their canonical representatives as per the current path condition. The idea is that one can ask about any abstract value and functions in this API will normalize it as needed first before querying the abstract state, and normalize any value found in the abstract state as needed too. For example, values in the raw map corresponding to the memory are not necessarily normalized at all times but the API allows one to pretend they are by normalizing them on the fly. On the other hand, *keys* in the memory map are always normalized so values must be normalized before being looked up in the map and this module takes care of that transparently too. See also PulseCanonValue.

    module type BaseDomainSig = sig ... end

    signature common to the "normal" Domain, representing the post at the current program point, and the inverted PreDomain, representing the inferred pre-condition

    The post abstract state at each program point, or current state.

    The inferred pre-condition at each program point, biabduction style.

    type t = private {
    1. post : PostDomain.t;
      (*

      state at the current program point

      *)
    2. pre : PreDomain.t;
      (*

      inferred procedure pre-condition leading to the current program point

      *)
    3. path_condition : Pulselib.PulseBasicInterface.Formula.t;
      (*

      arithmetic facts true along the path (holding for both pre and post since abstract values are immutable)

      *)
    4. decompiler : Decompiler.t;
    5. topl : PulseTopl.state;
      (*

      state at of the Topl monitor at the current program point, when Topl is enabled

      *)
    6. need_dynamic_type_specialization : Pulselib.PulseBasicInterface.AbstractValue.Set.t;
      (*

      a set of abstract values that are used as receiver of method calls in the instructions reached so far

      *)
    7. transitive_info : Pulselib.PulseBasicInterface.TransitiveInfo.t;
      (*

      record transitive information inter-procedurally

      *)
    8. recursive_calls : PulseMutualRecursion.Set.t;
    9. skipped_calls : Pulselib.PulseBasicInterface.SkippedCalls.t;
      (*

      metadata: procedure calls for which no summary was found

      *)
    }

    pre/post on a single program path

    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val leq : lhs:t -> rhs:t -> bool
    val pp : Stdlib.Format.formatter -> t -> unit
    val mk_initial : IR.Tenv.t -> IR.ProcAttributes.t -> t
    val empty : t
    module Stack : sig ... end

    Safe version of PulseBaseStack

    module Memory : sig ... end

    Safe version of PulseBaseMemory

    module AddressAttributes : sig ... end
    val should_havoc_if_unknown : unit -> [> `ShouldHavoc | `ShouldOnlyHavocResources ]
    val apply_unknown_effect : ?havoc_filter: @@ -43,11 +43,7 @@ IBase.Location.t -> dead_roots:IR.Var.t list -> t -> - t
    val add_recursive_call : - IBase.Location.t -> - IR.Procname.t -> - t -> - t * PulseMutualRecursion.t
    val add_recursive_calls : PulseMutualRecursion.Set.t -> t -> t
    val add_skipped_call : + t
    val add_recursive_call : IBase.Location.t -> IR.Procname.t -> t -> t
    val add_recursive_calls : PulseMutualRecursion.Set.t -> t -> t
    val add_skipped_call : IR.Procname.t -> Pulselib.PulseBasicInterface.Trace.t -> t -> diff --git a/website/static/odoc/next/infer/Pulselib/PulseAbstractValue/Map/index.html b/website/static/odoc/next/infer/Pulselib/PulseAbstractValue/Map/index.html index dc4720a2394..3c81c792d5b 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAbstractValue/Map/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAbstractValue/Map/index.html @@ -1,5 +1,5 @@ -Map (infer.Pulselib.PulseAbstractValue.Map)

    Module PulseAbstractValue.Map

    include IStdlib.PrettyPrintable.PPMap with type key = t
    include IStdlib.IStd.Caml.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +Map (infer.Pulselib.PulseAbstractValue.Map)

    Module PulseAbstractValue.Map

    include IStdlib.PrettyPrintable.PPMap with type key = t
    include Stdlib.Map.S with type key = t
    type key = t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Pulselib/PulseAbstractValue/Set/index.html b/website/static/odoc/next/infer/Pulselib/PulseAbstractValue/Set/index.html index 1656412534a..35eadcff3ec 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAbstractValue/Set/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAbstractValue/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Pulselib.PulseAbstractValue.Set)

    Module PulseAbstractValue.Set

    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.Pulselib.PulseAbstractValue.Set)

    Module PulseAbstractValue.Set

    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseAccess/index.html b/website/static/odoc/next/infer/Pulselib/PulseAccess/index.html index dc5e11e9802..8c2d9fc7b24 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAccess/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAccess/index.html @@ -15,4 +15,4 @@ F.formatter -> 'array_index access -> unit
    val map_array_index : f:('idx -> 'idx') -> 'idx access -> 'idx' access
    module type S = sig ... end
    include S with type key := AbstractValue.t
    include IStdlib.PrettyPrintable.PrintableEquatableOrderedType - with type t = AbstractValue.t access
    include IStdlib.IStd.Caml.Set.OrderedType with type t = AbstractValue.t access
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableEquatableType with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val equal : t -> t -> bool
    val canonicalize : get_var_repr:(AbstractValue.t -> AbstractValue.t) -> t -> t
    val yojson_of_t : t -> Yojson.Safe.t
    module Set : IStdlib.IStd.Caml.Set.S with type elt = t
    + with type t = AbstractValue.t access
    include Stdlib.Set.OrderedType with type t = AbstractValue.t access
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableEquatableType with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val equal : t -> t -> bool
    val canonicalize : get_var_repr:(AbstractValue.t -> AbstractValue.t) -> t -> t
    val yojson_of_t : t -> Yojson.Safe.t
    module Set : Stdlib.Set.S with type elt = t
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseAccess/module-type-S/index.html b/website/static/odoc/next/infer/Pulselib/PulseAccess/module-type-S/index.html index a51034ca254..ca4c17cede4 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAccess/module-type-S/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAccess/module-type-S/index.html @@ -1,3 +1,3 @@ S (infer.Pulselib.PulseAccess.S)

    Module type PulseAccess.S

    type key
    include IStdlib.PrettyPrintable.PrintableEquatableOrderedType - with type t = key access
    include IStdlib.IStd.Caml.Set.OrderedType with type t = key access
    type t = key access
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableEquatableType with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val equal : t -> t -> bool
    val canonicalize : get_var_repr:(AbstractValue.t -> AbstractValue.t) -> t -> t
    val yojson_of_t : t -> Yojson.Safe.t
    module Set : IStdlib.IStd.Caml.Set.S with type elt = t
    + with type t = key access
    include Stdlib.Set.OrderedType with type t = key access
    type t = key access
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableEquatableType with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val equal : t -> t -> bool
    val canonicalize : get_var_repr:(AbstractValue.t -> AbstractValue.t) -> t -> t
    val yojson_of_t : t -> Yojson.Safe.t
    module Set : Stdlib.Set.S with type elt = t
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseAttribute/TaintSanitizedSet/index.html b/website/static/odoc/next/infer/Pulselib/PulseAttribute/TaintSanitizedSet/index.html index d862d042558..2b4aebba311 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAttribute/TaintSanitizedSet/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAttribute/TaintSanitizedSet/index.html @@ -1,2 +1,2 @@ -TaintSanitizedSet (infer.Pulselib.PulseAttribute.TaintSanitizedSet)

    Module PulseAttribute.TaintSanitizedSet

    include IStdlib.IStd.Caml.Set.S with type elt = TaintSanitized.t
    type elt = TaintSanitized.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +TaintSanitizedSet (infer.Pulselib.PulseAttribute.TaintSanitizedSet)

    Module PulseAttribute.TaintSanitizedSet

    include Stdlib.Set.S with type elt = TaintSanitized.t
    type elt = TaintSanitized.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseAttribute/TaintSinkMap/index.html b/website/static/odoc/next/infer/Pulselib/PulseAttribute/TaintSinkMap/index.html index c37d69c5590..9c62d342949 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAttribute/TaintSinkMap/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAttribute/TaintSinkMap/index.html @@ -1,5 +1,5 @@ -TaintSinkMap (infer.Pulselib.PulseAttribute.TaintSinkMap)

    Module PulseAttribute.TaintSinkMap

    include IStdlib.IStd.Caml.Map.S with type key = TaintConfig.Kind.t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +TaintSinkMap (infer.Pulselib.PulseAttribute.TaintSinkMap)

    Module PulseAttribute.TaintSinkMap

    include Stdlib.Map.S with type key = TaintConfig.Kind.t
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/Pulselib/PulseAttribute/TaintedSet/index.html b/website/static/odoc/next/infer/Pulselib/PulseAttribute/TaintedSet/index.html index b1ac872e014..7ec7deafb1d 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAttribute/TaintedSet/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAttribute/TaintedSet/index.html @@ -1,2 +1,2 @@ -TaintedSet (infer.Pulselib.PulseAttribute.TaintedSet)

    Module PulseAttribute.TaintedSet

    include IStdlib.IStd.Caml.Set.S with type elt = Tainted.t
    type elt = Tainted.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +TaintedSet (infer.Pulselib.PulseAttribute.TaintedSet)

    Module PulseAttribute.TaintedSet

    include Stdlib.Set.S with type elt = Tainted.t
    type elt = Tainted.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseBaseMemory/Access/index.html b/website/static/odoc/next/infer/Pulselib/PulseBaseMemory/Access/index.html index 7b5201a6fcf..c91a2d25f5f 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseBaseMemory/Access/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseBaseMemory/Access/index.html @@ -1,6 +1,6 @@ Access (infer.Pulselib.PulseBaseMemory.Access)

    Module PulseBaseMemory.Access

    include IStdlib.PrettyPrintable.PrintableEquatableOrderedType - with type t = PulseBasicInterface.AbstractValue.t PulseAccess.access
    include IStdlib.IStd.Caml.Set.OrderedType + with type t = PulseBasicInterface.AbstractValue.t PulseAccess.access
    include Stdlib.Set.OrderedType with type t = Pulselib.PulseBasicInterface.AbstractValue.t Pulselib.PulseAccess.access
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableEquatableType with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val equal : t -> t -> bool
    val canonicalize : @@ -8,4 +8,4 @@ (Pulselib.PulseAccess.AbstractValue.t -> Pulselib.PulseAccess.AbstractValue.t) -> t -> - t
    val yojson_of_t : t -> Yojson.Safe.t
    module Set : IStdlib.IStd.Caml.Set.S with type elt = t
    + t
    val yojson_of_t : t -> Yojson.Safe.t
    module Set : Stdlib.Set.S with type elt = t
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseBaseMemory/module-type-S/Access/index.html b/website/static/odoc/next/infer/Pulselib/PulseBaseMemory/module-type-S/Access/index.html index 8d0ccdc1575..67d38b4f034 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseBaseMemory/module-type-S/Access/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseBaseMemory/module-type-S/Access/index.html @@ -1,9 +1,8 @@ Access (infer.Pulselib.PulseBaseMemory.S.Access)

    Module S.Access

    include IStdlib.PrettyPrintable.PrintableEquatableOrderedType - with type t = key PulseAccess.access
    include IStdlib.IStd.Caml.Set.OrderedType - with type t = key Pulselib.PulseAccess.access
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableEquatableType with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val equal : t -> t -> bool
    val canonicalize : + with type t = key PulseAccess.access
    include Stdlib.Set.OrderedType with type t = key Pulselib.PulseAccess.access
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableEquatableType with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val equal : t -> t -> bool
    val yojson_of_t : t -> Yojson.Safe.t
    module Set : IStdlib.IStd.Caml.Set.S with type elt = t
    + t
    val yojson_of_t : t -> Yojson.Safe.t
    module Set : Stdlib.Set.S with type elt = t
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseCallOperations/index.html b/website/static/odoc/next/infer/Pulselib/PulseCallOperations/index.html index 0ac4c02a8a8..9c0a7c8bd5a 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseCallOperations/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseCallOperations/index.html @@ -27,6 +27,7 @@ Pulselib.PulseDomainInterface.PathContext.t -> IBase.Location.t -> Pulselib.PulseBasicInterface.CallEvent.t -> + ?force_pure:bool -> IR.Procname.t option -> ret:(IR.Ident.t * IR.Typ.t) -> actuals: diff --git a/website/static/odoc/next/infer/Pulselib/PulseCanonValue/Make/Memory/Access/index.html b/website/static/odoc/next/infer/Pulselib/PulseCanonValue/Make/Memory/Access/index.html index 9be16e944cd..91b36c3a8af 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseCanonValue/Make/Memory/Access/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseCanonValue/Make/Memory/Access/index.html @@ -1,9 +1,8 @@ Access (infer.Pulselib.PulseCanonValue.Make.Memory.Access)

    Module Memory.Access

    include IStdlib.PrettyPrintable.PrintableEquatableOrderedType - with type t = t PulseAccess.access
    include IStdlib.IStd.Caml.Set.OrderedType - with type t = t Pulselib.PulseAccess.access
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableEquatableType with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val equal : t -> t -> bool
    val canonicalize : + with type t = t PulseAccess.access
    include Stdlib.Set.OrderedType with type t = t Pulselib.PulseAccess.access
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableEquatableType with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val equal : t -> t -> bool
    val yojson_of_t : t -> Yojson.Safe.t
    module Set : IStdlib.IStd.Caml.Set.S with type elt = t
    + t
    val yojson_of_t : t -> Yojson.Safe.t
    module Set : Stdlib.Set.S with type elt = t
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseCanonValue/Make/Set/index.html b/website/static/odoc/next/infer/Pulselib/PulseCanonValue/Make/Set/index.html index d6a721eef69..00cd1925425 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseCanonValue/Make/Set/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseCanonValue/Make/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Pulselib.PulseCanonValue.Make.Set)

    Module Make.Set

    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.Pulselib.PulseCanonValue.Make.Set)

    Module Make.Set

    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseCanonValue/module-type-S/Memory/Access/index.html b/website/static/odoc/next/infer/Pulselib/PulseCanonValue/module-type-S/Memory/Access/index.html index 11cdfa9208f..153d973ebdf 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseCanonValue/module-type-S/Memory/Access/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseCanonValue/module-type-S/Memory/Access/index.html @@ -1,9 +1,8 @@ Access (infer.Pulselib.PulseCanonValue.S.Memory.Access)

    Module Memory.Access

    include IStdlib.PrettyPrintable.PrintableEquatableOrderedType - with type t = t PulseAccess.access
    include IStdlib.IStd.Caml.Set.OrderedType - with type t = t Pulselib.PulseAccess.access
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableEquatableType with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val equal : t -> t -> bool
    val canonicalize : + with type t = t PulseAccess.access
    include Stdlib.Set.OrderedType with type t = t Pulselib.PulseAccess.access
    val compare : t -> t -> int
    include IStdlib.PrettyPrintable.PrintableEquatableType with type t := t
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val equal : t -> t -> bool
    val yojson_of_t : t -> Yojson.Safe.t
    module Set : IStdlib.IStd.Caml.Set.S with type elt = t
    + t
    val yojson_of_t : t -> Yojson.Safe.t
    module Set : Stdlib.Set.S with type elt = t
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseCanonValue/module-type-S/Set/index.html b/website/static/odoc/next/infer/Pulselib/PulseCanonValue/module-type-S/Set/index.html index df0146a4412..0a1ee007e03 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseCanonValue/module-type-S/Set/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseCanonValue/module-type-S/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Pulselib.PulseCanonValue.S.Set)

    Module S.Set

    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.Pulselib.PulseCanonValue.S.Set)

    Module S.Set

    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseModelsDSL/Syntax/index.html b/website/static/odoc/next/infer/Pulselib/PulseModelsDSL/Syntax/index.html index f149cfb7670..adaeceaec2c 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseModelsDSL/Syntax/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseModelsDSL/Syntax/index.html @@ -35,7 +35,10 @@ Pulselib.PulseBasicInterface.ValueOrigin.t Absint.ProcnameDispatcher.Call.FuncArg.t list -> - unit model_monad
    val apply_hack_closure : aval -> aval list -> aval model_monad
    val add_model_call : + unit model_monad
    val python_call : IR.Procname.t -> (string * aval) list -> aval model_monad
    val apply_hack_closure : aval -> aval list -> aval model_monad
    val apply_python_closure : + aval -> + (IR.ProcAttributes.t -> aval list model_monad) -> + aval model_monad

    Disjunctive reasoning

    val disj : 'a model_monad list -> 'a model_monad
    val start_model : (unit -> unit model_monad) -> PulseModelsImport.model

    get a model from a disjunctive model_monad

    val start_named_model : string -> @@ -60,9 +63,10 @@ aval -> Pulselib.PulseBasicInterface.Access.t -> aval model_monad
    val load_access : + ?no_access:bool -> aval -> Pulselib.PulseBasicInterface.Access.t -> - aval model_monad
    val load : aval -> aval model_monad

    read the Dereference access from the value

    val get_dynamic_type : + aval model_monad
    val load : aval -> aval model_monad

    read the Dereference access from the value

    val and_dynamic_type_is : aval -> IR.Typ.t -> unit model_monad
    val get_dynamic_type : ask_specialization:bool -> aval -> Pulselib.PulseBasicInterface.Formula.dynamic_type_data option model_monad
    val new_ : IR.Exp.t -> aval model_monad
    val constructor : IR.Typ.Name.t -> (string * aval) list -> aval model_monad

    constructor_dsl typ_name fields builds a fresh object of type typ_name and initializes its fields using list fields

    val remove_hack_builder_attributes : aval -> unit model_monad
    val fresh : ?more:string -> unit -> aval model_monad
    val fresh_nonneg : ?more:string -> unit -> aval model_monad
    val write_field : ref:aval -> IR.Fieldname.t -> aval -> unit model_monad
    val store_field : ref:aval -> IR.Fieldname.t -> aval -> unit model_monad
    val store : ref:aval -> aval -> unit model_monad
    val get_known_fields : @@ -78,7 +82,7 @@ IR.Struct.field_info option model_monad
    val tenv_resolve_fieldname : IR.Typ.name -> string -> - IR.Fieldname.t option model_monad

    Invalidation operations

    val invalidate_access : + (IR.Fieldname.t option * IR.Tenv.unresolved_reason option) model_monad

    Invalidation operations

    val invalidate_access : Pulselib.PulseBasicInterface.Invalidation.t -> aval -> Pulselib.PulseBasicInterface.Access.t -> diff --git a/website/static/odoc/next/infer/Pulselib/PulseModelsImport/Basic/index.html b/website/static/odoc/next/infer/Pulselib/PulseModelsImport/Basic/index.html index b53dcfca2d0..505588d88c0 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseModelsImport/Basic/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseModelsImport/Basic/index.html @@ -97,6 +97,7 @@ * Pulselib.PulseBasicInterface.ValueHistory.t) Absint.ProcnameDispatcher.Call.FuncArg.t -> model_no_non_disj
    val unknown_call : + ?force_pure:bool -> string -> (Pulselib.PulseBasicInterface.AbstractValue.t * Pulselib.PulseBasicInterface.ValueHistory.t) diff --git a/website/static/odoc/next/infer/Pulselib/PulseMutualRecursion/Set/index.html b/website/static/odoc/next/infer/Pulselib/PulseMutualRecursion/Set/index.html index 45c5bdfbd3e..f38ba397e07 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseMutualRecursion/Set/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseMutualRecursion/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Pulselib.PulseMutualRecursion.Set)

    Module PulseMutualRecursion.Set

    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.Pulselib.PulseMutualRecursion.Set)

    Module PulseMutualRecursion.Set

    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseNonDisjunctiveDomain/index.html b/website/static/odoc/next/infer/Pulselib/PulseNonDisjunctiveDomain/index.html index a7411cc3d5f..bca5987ba79 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseNonDisjunctiveDomain/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseNonDisjunctiveDomain/index.html @@ -1,5 +1,5 @@ -PulseNonDisjunctiveDomain (infer.Pulselib.PulseNonDisjunctiveDomain)

    Module Pulselib.PulseNonDisjunctiveDomain

    module BaseMemory = PulseBaseMemory
    module DecompilerExpr = PulseDecompilerExpr
    module ExecutionDomain = PulseExecutionDomain
    module PathContext = PulsePathContext
    type copy_spec_t =
    1. | Copied of {
      1. source_typ : IR.Typ.t option;
      2. source_opt : DecompilerExpr.source_expr option;
      3. location : IBase.Location.t;
      4. copied_location : (IR.Procname.t * IBase.Location.t) option;
      5. heap : BaseMemory.t;
      6. from : Pulselib.PulseBasicInterface.Attribute.CopyOrigin.t;
      7. timestamp : Pulselib.PulseBasicInterface.Timestamp.t;
      }
    2. | Modified of {
      1. source_typ : IR.Typ.t option;
      2. source_opt : DecompilerExpr.source_expr option;
      3. location : IBase.Location.t;
      4. copied_location : (IR.Procname.t * IBase.Location.t) option;
      5. from : Pulselib.PulseBasicInterface.Attribute.CopyOrigin.t;
      6. copied_timestamp : Pulselib.PulseBasicInterface.Timestamp.t;
      }
    type parameter_spec_t =
    1. | Unmodified of {
      1. typ : IR.Typ.t;
      2. location : IBase.Location.t;
      3. heap : BaseMemory.t;
      }
    2. | Modified
    include Absint.AbstractDomain.WithBottomTop
    include Absint.AbstractDomain.S
    include Absint.AbstractDomain.Comparable
    include IStdlib.PrettyPrintable.PrintableType
    type t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    val top : t
    val is_top : t -> bool
    type summary
    val make_summary : t -> summary
    module Summary : sig ... end
    val add_var : +PulseNonDisjunctiveDomain (infer.Pulselib.PulseNonDisjunctiveDomain)

    Module Pulselib.PulseNonDisjunctiveDomain

    module F = Stdlib.Format
    module BaseMemory = PulseBaseMemory
    module DecompilerExpr = PulseDecompilerExpr
    module ExecutionDomain = PulseExecutionDomain
    module PathContext = PulsePathContext
    type copy_spec_t =
    1. | Copied of {
      1. source_typ : IR.Typ.t option;
      2. source_opt : DecompilerExpr.source_expr option;
      3. node : IR.Procdesc.Node.t;
      4. location : IBase.Location.t;
      5. copied_location : (IR.Procname.t * IBase.Location.t) option;
      6. heap : BaseMemory.t;
      7. from : Pulselib.PulseBasicInterface.Attribute.CopyOrigin.t;
      8. timestamp : Pulselib.PulseBasicInterface.Timestamp.t;
      }
    2. | Modified of {
      1. source_typ : IR.Typ.t option;
      2. source_opt : DecompilerExpr.source_expr option;
      3. node : IR.Procdesc.Node.t;
      4. location : IBase.Location.t;
      5. copied_location : (IR.Procname.t * IBase.Location.t) option;
      6. from : Pulselib.PulseBasicInterface.Attribute.CopyOrigin.t;
      7. copied_timestamp : Pulselib.PulseBasicInterface.Timestamp.t;
      }
    type parameter_spec_t =
    1. | Unmodified of {
      1. typ : IR.Typ.t;
      2. location : IBase.Location.t;
      3. heap : BaseMemory.t;
      }
    2. | Modified
    include Absint.AbstractDomain.WithBottomTop
    include Absint.AbstractDomain.S
    include Absint.AbstractDomain.Comparable
    include IStdlib.PrettyPrintable.PrintableType
    type t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool

    the implication relation: lhs <= rhs means lhs |- rhs

    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    val top : t
    val is_top : t -> bool
    val pp_with_kind : IStdlib.Pp.print_kind -> F.formatter -> t -> unit
    type summary
    val make_summary : t -> summary
    module Summary : sig ... end
    val add_var : Pulselib.PulseBasicInterface.Attribute.CopiedInto.t -> source_addr_opt:Pulselib.PulseBasicInterface.AbstractValue.t option -> copy_spec_t -> @@ -27,6 +27,7 @@ (Pulselib.PulseBasicInterface.Attribute.CopiedInto.t * IR.Typ.t option * DecompilerExpr.source_expr option + * IR.Procdesc.Node.t * IBase.Location.t * (IR.Procname.t * IBase.Location.t) option * Pulselib.PulseBasicInterface.Attribute.CopyOrigin.t) diff --git a/website/static/odoc/next/infer/Pulselib/PulseNonDisjunctiveOperations/index.html b/website/static/odoc/next/infer/Pulselib/PulseNonDisjunctiveOperations/index.html index d9869682c52..49359dd0e07 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseNonDisjunctiveOperations/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseNonDisjunctiveOperations/index.html @@ -9,6 +9,7 @@ IR.IntegerWidths.t -> IR.Tenv.t -> IR.Procdesc.t -> + IR.Procdesc.Node.t -> Pulselib.PulseDomainInterface.PathContext.t -> IBase.Location.t -> call_exp:IR.Exp.t -> diff --git a/website/static/odoc/next/infer/Pulselib/PulseSatUnsat/index.html b/website/static/odoc/next/infer/Pulselib/PulseSatUnsat/index.html index fa42009b296..56d2e066881 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseSatUnsat/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseSatUnsat/index.html @@ -4,7 +4,7 @@ init:'accum -> f:('accum -> 'a -> 'accum t) -> 'accum t
    val to_list : 'a t -> 'a list
    val filter : 'a t list -> 'a list

    keep only Sat _ elements

    val seq_fold : - 'a IStdlib.IStd.Caml.Seq.t -> + 'a Stdlib.Seq.t -> init:'accum -> f:('accum -> 'a -> 'accum t) -> 'accum t
    module Import : sig ... end
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseTaintConfig/Kind/Set/index.html b/website/static/odoc/next/infer/Pulselib/PulseTaintConfig/Kind/Set/index.html index 7e7318d0e5e..75dc26b014c 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseTaintConfig/Kind/Set/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseTaintConfig/Kind/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Pulselib.PulseTaintConfig.Kind.Set)

    Module Kind.Set

    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.Pulselib.PulseTaintConfig.Kind.Set)

    Module Kind.Set

    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseTrace/Set/index.html b/website/static/odoc/next/infer/Pulselib/PulseTrace/Set/index.html index e8c6212d092..03cd4bcc10c 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseTrace/Set/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseTrace/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Pulselib.PulseTrace.Set)

    Module PulseTrace.Set

    include IStdlib.PrettyPrintable.PPSet with type elt = t
    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    val map_callee : CallEvent.t -> IBase.Location.t -> t -> t
    +Set (infer.Pulselib.PulseTrace.Set)

    Module PulseTrace.Set

    include IStdlib.PrettyPrintable.PPSet with type elt = t
    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    val map_callee : CallEvent.t -> IBase.Location.t -> t -> t
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseTransitiveInfo/DirectCallee/Set/index.html b/website/static/odoc/next/infer/Pulselib/PulseTransitiveInfo/DirectCallee/Set/index.html index fee1e66d9e8..acbb4bf6555 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseTransitiveInfo/DirectCallee/Set/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseTransitiveInfo/DirectCallee/Set/index.html @@ -1,2 +1,2 @@ -Set (infer.Pulselib.PulseTransitiveInfo.DirectCallee.Set)

    Module DirectCallee.Set

    include IStdlib.PrettyPrintable.PPSet with type elt = t
    include IStdlib.IStd.Caml.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +Set (infer.Pulselib.PulseTransitiveInfo.DirectCallee.Set)

    Module DirectCallee.Set

    include IStdlib.PrettyPrintable.PPSet with type elt = t
    include Stdlib.Set.S with type elt = t
    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseValueHistory/CellId/index.html b/website/static/odoc/next/infer/Pulselib/PulseValueHistory/CellId/index.html index 763cd64fdeb..50ac9dfc1f3 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseValueHistory/CellId/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseValueHistory/CellId/index.html @@ -1,2 +1,2 @@ -CellId (infer.Pulselib.PulseValueHistory.CellId)

    Module PulseValueHistory.CellId

    Used to identify which cells (places in the memory) in the current precondition are mentioned in a value history in the current abstract state, i.e. were used to compute that value.

    type t = private int
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
    val pp : F.formatter -> t -> unit
    val next : unit -> t
    module Map : IStdlib.IStd.Caml.Map.S with type key = t
    module Set : IStdlib.IStd.Caml.Set.S with type elt = t
    +CellId (infer.Pulselib.PulseValueHistory.CellId)

    Module PulseValueHistory.CellId

    Used to identify which cells (places in the memory) in the current precondition are mentioned in a value history in the current abstract state, i.e. were used to compute that value.

    type t = private int
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
    val pp : F.formatter -> t -> unit
    val next : unit -> t
    module Map : Stdlib.Map.S with type key = t
    module Set : Stdlib.Set.S with type elt = t
    diff --git a/website/static/odoc/next/infer/Pulselib/index.html b/website/static/odoc/next/infer/Pulselib/index.html index 5200828ed65..4a3e9c8db80 100644 --- a/website/static/odoc/next/infer/Pulselib/index.html +++ b/website/static/odoc/next/infer/Pulselib/index.html @@ -1,2 +1,2 @@ -Pulselib (infer.Pulselib)

    Module Pulselib

    module Pulse : sig ... end
    module PulseAbductiveDecompiler : sig ... end
    module PulseAbductiveDomain : sig ... end
    module PulseAbstractValue : sig ... end
    module PulseAccess : sig ... end
    module PulseAccessResult : sig ... end
    module PulseArithmetic : sig ... end
    module PulseAttribute : sig ... end
    module PulseBaseAddressAttributes : sig ... end
    module PulseBaseDomain : sig ... end
    module PulseBaseMemory : sig ... end
    module PulseBaseStack : sig ... end
    module PulseBasicInterface : sig ... end

    Basic Pulse modules that are safe to use in any module

    module PulseCItv : sig ... end
    module PulseCallEvent : sig ... end
    module PulseCallOperations : sig ... end
    module PulseCanonValue : sig ... end
    module PulseCheapCopyTypes : sig ... end
    module PulseContext : sig ... end
    module PulseDecompiler : sig ... end
    module PulseDecompilerExpr : sig ... end
    module PulseDiagnostic : sig ... end
    module PulseDomainInterface : sig ... end
    module PulseExecutionDomain : sig ... end
    module PulseFormula : sig ... end
    module PulseInterproc : sig ... end
    module PulseInvalidation : sig ... end
    module PulseLatentIssue : sig ... end
    module PulseLoadInstrModels : sig ... end
    module PulseModels : sig ... end
    module PulseModelsAndroid : sig ... end
    module PulseModelsC : sig ... end
    module PulseModelsCSharp : sig ... end
    module PulseModelsCpp : sig ... end
    module PulseModelsDSL : sig ... end
    module PulseModelsErlang : sig ... end
    module PulseModelsHack : sig ... end
    module PulseModelsImport : sig ... end
    module PulseModelsJava : sig ... end
    module PulseModelsLocks : sig ... end
    module PulseModelsObjC : sig ... end
    module PulseModelsOptional : sig ... end
    module PulseModelsSmartPointers : sig ... end
    module PulseMutualRecursion : sig ... end
    module PulseNonDisjunctiveDomain : sig ... end
    module PulseNonDisjunctiveOperations : sig ... end
    module PulseOperationResult : sig ... end
    module PulseOperations : sig ... end
    module PulsePathContext : sig ... end
    module PulsePp : sig ... end
    module PulseRefCounting : sig ... end
    module PulseReport : sig ... end
    module PulseResult : sig ... end
    module PulseRetainCycleChecker : sig ... end
    module PulseSatUnsat : sig ... end
    module PulseSkippedCalls : sig ... end
    module PulseSpecialization : sig ... end
    module PulseSpecializedCallGraph : sig ... end
    module PulseSummary : sig ... end
    module PulseTaintConfig : sig ... end
    module PulseTaintItem : sig ... end
    module PulseTaintItemMatcher : sig ... end
    module PulseTaintOperations : sig ... end
    module PulseTimestamp : sig ... end
    module PulseTopl : sig ... end
    module PulseTrace : sig ... end
    module PulseTransitiveAccessChecker : sig ... end
    module PulseTransitiveInfo : sig ... end
    module PulseUninitBlocklist : sig ... end
    module PulseValueHistory : sig ... end
    module PulseValueOrigin : sig ... end
    module QSafeCapped : sig ... end
    module ZSafe : sig ... end
    +Pulselib (infer.Pulselib)

    Module Pulselib

    module Pulse : sig ... end
    module PulseAbductiveDecompiler : sig ... end
    module PulseAbductiveDomain : sig ... end
    module PulseAbstractValue : sig ... end
    module PulseAccess : sig ... end
    module PulseAccessResult : sig ... end
    module PulseArithmetic : sig ... end
    module PulseAttribute : sig ... end
    module PulseBaseAddressAttributes : sig ... end
    module PulseBaseDomain : sig ... end
    module PulseBaseMemory : sig ... end
    module PulseBaseStack : sig ... end
    module PulseBasicInterface : sig ... end

    Basic Pulse modules that are safe to use in any module

    module PulseCItv : sig ... end
    module PulseCallEvent : sig ... end
    module PulseCallOperations : sig ... end
    module PulseCanonValue : sig ... end
    module PulseCheapCopyTypes : sig ... end
    module PulseContext : sig ... end
    module PulseDecompiler : sig ... end
    module PulseDecompilerExpr : sig ... end
    module PulseDiagnostic : sig ... end
    module PulseDomainInterface : sig ... end
    module PulseExecutionDomain : sig ... end
    module PulseFormula : sig ... end
    module PulseInterproc : sig ... end
    module PulseInvalidation : sig ... end
    module PulseJoin : sig ... end
    module PulseLatentIssue : sig ... end
    module PulseLoadInstrModels : sig ... end
    module PulseModels : sig ... end
    module PulseModelsAndroid : sig ... end
    module PulseModelsC : sig ... end
    module PulseModelsCSharp : sig ... end
    module PulseModelsCpp : sig ... end
    module PulseModelsDSL : sig ... end
    module PulseModelsErlang : sig ... end
    module PulseModelsHack : sig ... end
    module PulseModelsImport : sig ... end
    module PulseModelsJava : sig ... end
    module PulseModelsLocks : sig ... end
    module PulseModelsObjC : sig ... end
    module PulseModelsOptional : sig ... end
    module PulseModelsPython : sig ... end
    module PulseModelsSmartPointers : sig ... end
    module PulseMutualRecursion : sig ... end
    module PulseNonDisjunctiveDomain : sig ... end
    module PulseNonDisjunctiveOperations : sig ... end
    module PulseOperationResult : sig ... end
    module PulseOperations : sig ... end
    module PulsePathContext : sig ... end
    module PulsePp : sig ... end
    module PulseRefCounting : sig ... end
    module PulseReport : sig ... end
    module PulseResult : sig ... end
    module PulseRetainCycleChecker : sig ... end
    module PulseSatUnsat : sig ... end
    module PulseSkippedCalls : sig ... end
    module PulseSpecialization : sig ... end
    module PulseSpecializedCallGraph : sig ... end
    module PulseSummary : sig ... end
    module PulseTaintConfig : sig ... end
    module PulseTaintItem : sig ... end
    module PulseTaintItemMatcher : sig ... end
    module PulseTaintOperations : sig ... end
    module PulseTimestamp : sig ... end
    module PulseTopl : sig ... end
    module PulseTrace : sig ... end
    module PulseTransitiveAccessChecker : sig ... end
    module PulseTransitiveInfo : sig ... end
    module PulseUninitBlocklist : sig ... end
    module PulseValueHistory : sig ... end
    module PulseValueOrigin : sig ... end
    module QSafeCapped : sig ... end
    module ZSafe : sig ... end
    diff --git a/website/static/odoc/next/infer/PythonFrontend/PyIR/BuiltinCaller/index.html b/website/static/odoc/next/infer/PythonFrontend/PyIR/BuiltinCaller/index.html index 2b9acf92e61..81fa52e2c77 100644 --- a/website/static/odoc/next/infer/PythonFrontend/PyIR/BuiltinCaller/index.html +++ b/website/static/odoc/next/infer/PythonFrontend/PyIR/BuiltinCaller/index.html @@ -1,2 +1,2 @@ -BuiltinCaller (infer.PythonFrontend.PyIR.BuiltinCaller)

    Module PyIR.BuiltinCaller

    type t =
    1. | BuildClass
    2. | BuildConstKeyMap
    3. | Format
    4. | FormatFn of FormatFunction.t
    5. | CallFunctionEx
      (*

      CALL_FUNCTION_EX

      *)
    6. | Inplace of BinaryOp.t
    7. | ImportName of string
    8. | ImportFrom of string
    9. | ImportStar
    10. | Binary of BinaryOp.t
    11. | Unary of UnaryOp.t
    12. | Compare of CompareOp.t
    13. | LoadClosure of {
      1. name : Ident.t;
      2. slot : int;
      }
      (*

      LOAD_CLOSURE

      *)
    14. | LoadDeref of {
      1. name : Ident.t;
      2. slot : int;
      }
      (*

      LOAD_DEREF

      *)
    15. | LoadClassDeref of {
      1. name : Ident.t;
      2. slot : int;
      }
      (*

      LOAD_CLASSDEREF

      *)
    16. | StoreDeref of {
      1. name : Ident.t;
      2. slot : int;
      }
      (*

      STORE_DEREF

      *)
    17. | Function of {
      1. qual_name : QualName.t;
      2. short_name : Ident.t;
      }
    18. | GetAIter
    19. | GetIter
    20. | NextIter
    21. | HasNextIter
    22. | IterData
    23. | GetYieldFromIter
    24. | ListAppend
    25. | SetAdd
    26. | DictSetItem
    27. | Delete of ScopedIdent.t
    28. | DeleteDeref of {
      1. name : Ident.t;
      2. slot : int;
      }
      (*

      DELETE_DEREF

      *)
    29. | DeleteAttr of string
    30. | DeleteSubscr
    31. | YieldFrom
    32. | GetAwaitable
    33. | UnpackEx
    34. | GetPreviousException
    +BuiltinCaller (infer.PythonFrontend.PyIR.BuiltinCaller)

    Module PyIR.BuiltinCaller

    type t =
    1. | BuildClass
    2. | BuildConstKeyMap
    3. | Format
    4. | FormatFn of FormatFunction.t
    5. | CallFunctionEx
      (*

      CALL_FUNCTION_EX

      *)
    6. | Inplace of BinaryOp.t
    7. | Binary of BinaryOp.t
    8. | Unary of UnaryOp.t
    9. | Compare of CompareOp.t
    10. | GetAIter
    11. | GetIter
    12. | NextIter
    13. | HasNextIter
    14. | IterData
    15. | GetYieldFromIter
    16. | ListAppend
    17. | ListExtend
    18. | ListToTuple
    19. | SetAdd
    20. | SetUpdate
    21. | DictSetItem
    22. | DictUpdate
    23. | DictMerge
    24. | DeleteSubscr
    25. | YieldFrom
    26. | GetAwaitable
    27. | UnpackEx
    28. | GetPreviousException
    diff --git a/website/static/odoc/next/infer/PythonFrontend/PyIR/CodeInfo/index.html b/website/static/odoc/next/infer/PythonFrontend/PyIR/CodeInfo/index.html index 4b2e0fab271..79e3607c8bd 100644 --- a/website/static/odoc/next/infer/PythonFrontend/PyIR/CodeInfo/index.html +++ b/website/static/odoc/next/infer/PythonFrontend/PyIR/CodeInfo/index.html @@ -1,2 +1,2 @@ -CodeInfo (infer.PythonFrontend.PyIR.CodeInfo)

    Module PyIR.CodeInfo

    type t = {
    1. co_name : string;
    2. co_nlocals : int;
    3. co_argcount : int;
    4. co_posonlyargcount : int;
    5. co_kwonlyargcount : int;
    6. co_cellvars : string array;
    7. co_freevars : string array;
    8. co_names : string array;
    9. co_varnames : string array;
    10. has_star_arguments : bool;
    11. has_star_keywords : bool;
    12. is_generator : bool;
    }
    +CodeInfo (infer.PythonFrontend.PyIR.CodeInfo)

    Module PyIR.CodeInfo

    type t = {
    1. co_name : Ident.t;
    2. co_firstlineno : int;
    3. co_nlocals : int;
    4. co_argcount : int;
    5. co_posonlyargcount : int;
    6. co_kwonlyargcount : int;
    7. co_cellvars : Ident.t array;
    8. co_freevars : Ident.t array;
    9. co_names : Ident.t array;
    10. co_varnames : Ident.t array;
    11. has_star_arguments : bool;
    12. has_star_keywords : bool;
    13. is_generator : bool;
    }
    diff --git a/website/static/odoc/next/infer/PythonFrontend/PyIR/Exp/index.html b/website/static/odoc/next/infer/PythonFrontend/PyIR/Exp/index.html index 8a5940fe307..f34377f19b5 100644 --- a/website/static/odoc/next/infer/PythonFrontend/PyIR/Exp/index.html +++ b/website/static/odoc/next/infer/PythonFrontend/PyIR/Exp/index.html @@ -1,2 +1,2 @@ -Exp (infer.PythonFrontend.PyIR.Exp)

    Module PyIR.Exp

    type collection =
    1. | List
    2. | Set
    3. | Tuple
    4. | Map
    type t =
    1. | Const of Const.t
    2. | Var of ScopedIdent.t
    3. | Temp of SSA.t
    4. | Subscript of {
      1. exp : t;
      2. index : t;
      }
    5. | BuildSlice of t list
    6. | BuildString of t list
    7. | BuildFrozenSet of t list
    8. | Collection of {
      1. kind : collection;
      2. values : t list;
      3. unpack : bool;
      }
    9. | GetAttr of t * string
    10. | Yield of t
    +Exp (infer.PythonFrontend.PyIR.Exp)

    Module PyIR.Exp

    type collection =
    1. | List
    2. | Set
    3. | Tuple
    4. | Map
    type t =
    1. | AssertionError
    2. | BuildFrozenSet of t list
    3. | BuildSlice of t list
    4. | BuildString of t list
    5. | Collection of {
      1. kind : collection;
      2. values : t list;
      3. unpack : bool;
      }
    6. | Const of Const.t
    7. | Function of {
      1. qual_name : QualName.t;
      2. short_name : Ident.t;
      3. default_values : t;
      4. default_values_kw : t;
      5. annotations : t;
      6. cells_for_closure : t;
      }
    8. | GetAttr of {
      1. exp : t;
      2. attr : Ident.t;
      }
    9. | ImportFrom of {
      1. name : Ident.t;
      2. exp : t;
      }
    10. | ImportName of {
      1. name : Ident.t;
      2. fromlist : t;
      3. level : t;
      }
    11. | LoadClassDeref of {
      1. name : Ident.t;
      2. slot : int;
      }
      (*

      LOAD_CLASSDEREF

      *)
    12. | LoadClosure of {
      1. name : Ident.t;
      2. slot : int;
      }
      (*

      LOAD_CLOSURE

      *)
    13. | LoadDeref of {
      1. name : Ident.t;
      2. slot : int;
      }
      (*

      LOAD_DEREF

      *)
    14. | MatchClass of {
      1. subject : t;
      2. type_ : t;
      3. count : int;
      4. names : t;
      }
    15. | BoolOfMatchClass of t
    16. | AttributesOfMatchClass of t
    17. | MatchSequence of t
    18. | GetLen of t
    19. | Subscript of {
      1. exp : t;
      2. index : t;
      }
    20. | Temp of SSA.t
    21. | Var of ScopedIdent.t
    22. | Yield of t
    val pp : Stdlib.Format.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/PythonFrontend/PyIR/Ident/Special/index.html b/website/static/odoc/next/infer/PythonFrontend/PyIR/Ident/Special/index.html index d75b6c28713..929f79bb68d 100644 --- a/website/static/odoc/next/infer/PythonFrontend/PyIR/Ident/Special/index.html +++ b/website/static/odoc/next/infer/PythonFrontend/PyIR/Ident/Special/index.html @@ -1,2 +1,2 @@ -Special (infer.PythonFrontend.PyIR.Ident.Special)

    Module Ident.Special

    val print : t
    +Special (infer.PythonFrontend.PyIR.Ident.Special)

    Module Ident.Special

    val name : t
    val print : t
    diff --git a/website/static/odoc/next/infer/PythonFrontend/PyIR/Ident/index.html b/website/static/odoc/next/infer/PythonFrontend/PyIR/Ident/index.html index 5ae09b5b1c1..573191d85ab 100644 --- a/website/static/odoc/next/infer/PythonFrontend/PyIR/Ident/index.html +++ b/website/static/odoc/next/infer/PythonFrontend/PyIR/Ident/index.html @@ -1,2 +1,2 @@ -Ident (infer.PythonFrontend.PyIR.Ident)

    Module PyIR.Ident

    type t
    val pp : Stdlib.Format.formatter -> t -> unit
    module Hashtbl : IStdlib.IStd.Caml.Hashtbl.S with type key = t
    module Special : sig ... end
    +Ident (infer.PythonFrontend.PyIR.Ident)

    Module PyIR.Ident

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val mk : string -> t
    val pp : Stdlib.Format.formatter -> t -> unit
    module Hashtbl : Stdlib.Hashtbl.S with type key = t
    module Special : sig ... end
    diff --git a/website/static/odoc/next/infer/PythonFrontend/PyIR/Location/index.html b/website/static/odoc/next/infer/PythonFrontend/PyIR/Location/index.html index ca22bac71c5..9af477b9060 100644 --- a/website/static/odoc/next/infer/PythonFrontend/PyIR/Location/index.html +++ b/website/static/odoc/next/infer/PythonFrontend/PyIR/Location/index.html @@ -1,2 +1,2 @@ -Location (infer.PythonFrontend.PyIR.Location)

    Module PyIR.Location

    type t
    val pp : Stdlib.Format.formatter -> t -> unit
    +Location (infer.PythonFrontend.PyIR.Location)

    Module PyIR.Location

    type t
    val line : t -> int option
    val pp : Stdlib.Format.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/PythonFrontend/PyIR/NodeName/index.html b/website/static/odoc/next/infer/PythonFrontend/PyIR/NodeName/index.html index 23a3c63b51d..fb4fdbdf3dc 100644 --- a/website/static/odoc/next/infer/PythonFrontend/PyIR/NodeName/index.html +++ b/website/static/odoc/next/infer/PythonFrontend/PyIR/NodeName/index.html @@ -1,2 +1,2 @@ -NodeName (infer.PythonFrontend.PyIR.NodeName)

    Module PyIR.NodeName

    type t
    module Map : IStdlib.IStd.Caml.Map.S with type key = t
    val pp : Stdlib.Format.formatter -> t -> unit
    +NodeName (infer.PythonFrontend.PyIR.NodeName)

    Module PyIR.NodeName

    type t
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    module Map : Stdlib.Map.S with type key = t
    val pp : Stdlib.Format.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/PythonFrontend/PyIR/QualName/index.html b/website/static/odoc/next/infer/PythonFrontend/PyIR/QualName/index.html index 9c319020664..71b3f68b123 100644 --- a/website/static/odoc/next/infer/PythonFrontend/PyIR/QualName/index.html +++ b/website/static/odoc/next/infer/PythonFrontend/PyIR/QualName/index.html @@ -1,2 +1,2 @@ -QualName (infer.PythonFrontend.PyIR.QualName)

    Module PyIR.QualName

    type t
    module Map : IStdlib.IStd.Caml.Map.S with type key = t
    +QualName (infer.PythonFrontend.PyIR.QualName)

    Module PyIR.QualName

    type t = {
    1. module_name : Ident.t;
    2. function_name : Ident.t;
    }
    val pp : Stdlib.Format.formatter -> t -> unit
    module Map : Stdlib.Map.S with type key = t
    diff --git a/website/static/odoc/next/infer/PythonFrontend/PyIR/SSA/index.html b/website/static/odoc/next/infer/PythonFrontend/PyIR/SSA/index.html index fb313eab3d8..a7677e404c3 100644 --- a/website/static/odoc/next/infer/PythonFrontend/PyIR/SSA/index.html +++ b/website/static/odoc/next/infer/PythonFrontend/PyIR/SSA/index.html @@ -1,2 +1,2 @@ -SSA (infer.PythonFrontend.PyIR.SSA)

    Module PyIR.SSA

    type t
    val pp : Stdlib.Format.formatter -> t -> unit
    module Hashtbl : IStdlib.IStd.Caml.Hashtbl.S with type key = t
    +SSA (infer.PythonFrontend.PyIR.SSA)

    Module PyIR.SSA

    type t
    val id : t -> int
    val pp : Stdlib.Format.formatter -> t -> unit
    module Hashtbl : Stdlib.Hashtbl.S with type key = t
    diff --git a/website/static/odoc/next/infer/PythonFrontend/PyIR/Stmt/index.html b/website/static/odoc/next/infer/PythonFrontend/PyIR/Stmt/index.html index c08f61c4b70..56e7303b07a 100644 --- a/website/static/odoc/next/infer/PythonFrontend/PyIR/Stmt/index.html +++ b/website/static/odoc/next/infer/PythonFrontend/PyIR/Stmt/index.html @@ -1,2 +1,2 @@ -Stmt (infer.PythonFrontend.PyIR.Stmt)

    Module PyIR.Stmt

    type call_arg = Exp.t
    type t =
    1. | Let of {
      1. lhs : SSA.t;
      2. rhs : Exp.t;
      }
    2. | SetAttr of {
      1. lhs : Exp.t;
      2. attr : string;
      3. rhs : Exp.t;
      }
    3. | Store of {
      1. lhs : ScopedIdent.t;
      2. rhs : Exp.t;
      }
    4. | StoreSubscript of {
      1. lhs : Exp.t;
      2. index : Exp.t;
      3. rhs : Exp.t;
      }
    5. | Call of {
      1. lhs : SSA.t;
      2. exp : Exp.t;
      3. args : call_arg list;
      4. arg_names : Exp.t;
      }
    6. | CallMethod of {
      1. lhs : SSA.t;
      2. name : Ident.t;
      3. self_if_needed : Exp.t;
      4. args : Exp.t list;
      5. arg_names : Exp.t;
      }
    7. | BuiltinCall of {
      1. lhs : SSA.t;
      2. call : BuiltinCaller.t;
      3. args : call_arg list;
      4. arg_names : Exp.t;
      }
    8. | SetupAnnotations
    +Stmt (infer.PythonFrontend.PyIR.Stmt)

    Module PyIR.Stmt

    type gen_kind =
    1. | Generator
    2. | Coroutine
    3. | AsyncGenerator
    type t =
    1. | Let of {
      1. lhs : SSA.t;
      2. rhs : Exp.t;
      }
    2. | SetAttr of {
      1. lhs : Exp.t;
      2. attr : Ident.t;
      3. rhs : Exp.t;
      }
    3. | Store of {
      1. lhs : ScopedIdent.t;
      2. rhs : Exp.t;
      }
    4. | StoreSubscript of {
      1. lhs : Exp.t;
      2. index : Exp.t;
      3. rhs : Exp.t;
      }
    5. | Call of {
      1. lhs : SSA.t;
      2. exp : Exp.t;
      3. args : Exp.t list;
      4. arg_names : Exp.t;
      }
    6. | CallMethod of {
      1. lhs : SSA.t;
      2. name : Ident.t;
      3. self_if_needed : Exp.t;
      4. args : Exp.t list;
      5. arg_names : Exp.t;
      }
    7. | BuiltinCall of {
      1. lhs : SSA.t;
      2. call : BuiltinCaller.t;
      3. args : Exp.t list;
      4. arg_names : Exp.t;
      }
    8. | StoreDeref of {
      1. name : Ident.t;
      2. slot : int;
      3. rhs : Exp.t;
      }
      (*

      STORE_DEREF

      *)
    9. | Delete of ScopedIdent.t
    10. | DeleteDeref of {
      1. name : Ident.t;
      2. slot : int;
      }
      (*

      DELETE_DEREF

      *)
    11. | DeleteAttr of {
      1. exp : Exp.t;
      2. attr : Ident.t;
      }
    12. | ImportStar of Exp.t
    13. | GenStart of {
      1. kind : gen_kind;
      }
    14. | SetupAnnotations
    diff --git a/website/static/odoc/next/infer/PythonFrontend/PyIR/index.html b/website/static/odoc/next/infer/PythonFrontend/PyIR/index.html index 319eecfc0ce..8f8b5f8e107 100644 --- a/website/static/odoc/next/infer/PythonFrontend/PyIR/index.html +++ b/website/static/odoc/next/infer/PythonFrontend/PyIR/index.html @@ -4,4 +4,8 @@ ?debug:bool -> ?run:(Module.t -> unit) -> string -> + unit
    val test_files : + ?debug:bool -> + ?run:(Module.t list -> unit) -> + (string * string) list -> unit
    val test_cfg_skeleton : ?filename:string -> string -> unit
    diff --git a/website/static/odoc/next/infer/PythonFrontend/PyIRExec/index.html b/website/static/odoc/next/infer/PythonFrontend/PyIRExec/index.html index 2989c5ec790..ca9d084d3d7 100644 --- a/website/static/odoc/next/infer/PythonFrontend/PyIRExec/index.html +++ b/website/static/odoc/next/infer/PythonFrontend/PyIRExec/index.html @@ -1,2 +1,2 @@ -PyIRExec (infer.PythonFrontend.PyIRExec)

    Module PythonFrontend.PyIRExec

    val run : PyIR.Module.t -> unit
    +PyIRExec (infer.PythonFrontend.PyIRExec)

    Module PythonFrontend.PyIRExec

    val run : PyIR.Module.t -> unit
    val run_files : PyIR.Module.t list -> unit
    diff --git a/website/static/odoc/next/infer/PythonFrontend/index.html b/website/static/odoc/next/infer/PythonFrontend/index.html index 19577b2c8aa..368624daeca 100644 --- a/website/static/odoc/next/infer/PythonFrontend/index.html +++ b/website/static/odoc/next/infer/PythonFrontend/index.html @@ -1,2 +1,2 @@ -PythonFrontend (infer.PythonFrontend)

    Module PythonFrontend

    module FFI : sig ... end

    This file is about translating Python3.8 code objects into an OCaml representation. Some interesting readings:

    module PyIR : sig ... end
    module PyIRExec : sig ... end
    +PythonFrontend (infer.PythonFrontend)

    Module PythonFrontend

    module FFI : sig ... end

    This file is about translating Python3.8 code objects into an OCaml representation. Some interesting readings:

    module PyIR : sig ... end
    module PyIR2Textual : sig ... end
    module PyIRExec : sig ... end
    diff --git a/website/static/odoc/next/infer/Textuallib/LineMap/index.html b/website/static/odoc/next/infer/Textuallib/LineMap/index.html index 4d35e488363..d09f17197a7 100644 --- a/website/static/odoc/next/infer/Textuallib/LineMap/index.html +++ b/website/static/odoc/next/infer/Textuallib/LineMap/index.html @@ -1,2 +1,2 @@ -LineMap (infer.Textuallib.LineMap)

    Module Textuallib.LineMap

    module F = Stdlib.Format
    type t
    val create : string -> t
    val find : t -> int -> int option
    val pp : F.formatter -> t -> unit
    +LineMap (infer.Textuallib.LineMap)

    Module Textuallib.LineMap

    module F = Stdlib.Format
    type loc = {
    1. line : int;
    2. column : int;
    }
    type t
    val create : string -> t
    val find : t -> int -> loc option
    val pp : F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Textuallib/Textual/Attr/index.html b/website/static/odoc/next/infer/Textuallib/Textual/Attr/index.html index 2e62dfd3aa9..b47d58f12a7 100644 --- a/website/static/odoc/next/infer/Textuallib/Textual/Attr/index.html +++ b/website/static/odoc/next/infer/Textuallib/Textual/Attr/index.html @@ -1,2 +1,2 @@ -Attr (infer.Textuallib.Textual.Attr)

    Module Textual.Attr

    type t = {
    1. name : string;
    2. values : string list;
    3. loc : Location.t;
    }
    val name : t -> string
    val values : t -> string list
    val mk_source_language : Lang.t -> t
    val mk_static : t
    val mk_final : t
    val is_async : t -> bool
    val is_abstract : t -> bool
    val is_alias : t -> bool
    val is_hack_wrapper : t -> bool
    val is_final : t -> bool
    val is_notnull : t -> bool
    val is_static : t -> bool
    val is_interface : t -> bool
    val is_trait : t -> bool
    val is_variadic : t -> bool
    val is_const : t -> bool
    val mk_trait : t
    val pp : F.formatter -> t -> unit
    val pp_with_loc : F.formatter -> t -> unit
    +Attr (infer.Textuallib.Textual.Attr)

    Module Textual.Attr

    type t = {
    1. name : string;
    2. values : string list;
    3. loc : Location.t;
    }
    val name : t -> string
    val values : t -> string list
    val mk_source_language : Lang.t -> t
    val mk_static : t
    val mk_final : t
    val is_async : t -> bool
    val is_abstract : t -> bool
    val is_alias : t -> bool
    val is_hack_wrapper : t -> bool
    val is_final : t -> bool
    val is_notnull : t -> bool
    val is_static : t -> bool
    val is_interface : t -> bool
    val is_trait : t -> bool
    val is_variadic : t -> bool
    val is_const : t -> bool
    val mk_python_args : string list -> t
    val find_python_args : t -> string list option
    val mk_trait : t
    val pp : F.formatter -> t -> unit
    val pp_with_loc : F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Textuallib/Textual/FieldName/index.html b/website/static/odoc/next/infer/Textuallib/Textual/FieldName/index.html index 72318198da5..18177bcf9bf 100644 --- a/website/static/odoc/next/infer/Textuallib/Textual/FieldName/index.html +++ b/website/static/odoc/next/infer/Textuallib/Textual/FieldName/index.html @@ -1,2 +1,2 @@ -FieldName (infer.Textuallib.Textual.FieldName)

    Module Textual.FieldName

    type t = {
    1. value : string;
    2. loc : Location.t;
    }
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val of_java_name : string -> t
    val pp : F.formatter -> t -> unit
    val is_hack_init : t -> bool
    module Hashtbl : Hashtbl.S with type key = t
    module HashSet : IStdlib.HashSet.S with type elt = t
    module Map : IStdlib.IStd.Caml.Map.S with type key = t
    module Set : IStdlib.IStd.Caml.Set.S with type elt = t
    +FieldName (infer.Textuallib.Textual.FieldName)

    Module Textual.FieldName

    type t = {
    1. value : string;
    2. loc : Location.t;
    }
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val of_string : ?loc:Location.t -> string -> t

    we replace any dot in the string by '::' because dot is a reserved separator in Textual

    val pp : F.formatter -> t -> unit
    val is_hack_init : t -> bool
    module Hashtbl : Hashtbl.S with type key = t
    module HashSet : IStdlib.HashSet.S with type elt = t
    module Map : Stdlib.Map.S with type key = t
    module Set : Stdlib.Set.S with type elt = t
    diff --git a/website/static/odoc/next/infer/Textuallib/Textual/Ident/index.html b/website/static/odoc/next/infer/Textuallib/Textual/Ident/index.html index 59064d4eddd..0be198b85b4 100644 --- a/website/static/odoc/next/infer/Textuallib/Textual/Ident/index.html +++ b/website/static/odoc/next/infer/Textuallib/Textual/Ident/index.html @@ -1,2 +1,2 @@ -Ident (infer.Textuallib.Textual.Ident)

    Module Textual.Ident

    type t
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    module Set : IStdlib.IStd.Caml.Set.S with type elt = t
    module Map : IStdlib.IStd.Caml.Map.S with type key = t
    val of_int : int -> t
    val to_int : t -> int
    val next : t -> t
    val fresh : Set.t -> t
    val to_ssa_var : t -> VarName.t
    val pp : F.formatter -> t -> unit
    +Ident (infer.Textuallib.Textual.Ident)

    Module Textual.Ident

    type t
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    module Set : Stdlib.Set.S with type elt = t
    module Map : Stdlib.Map.S with type key = t
    val of_int : int -> t
    val to_int : t -> int
    val next : t -> t
    val fresh : Set.t -> t
    val to_ssa_var : t -> VarName.t
    val pp : F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Textuallib/Textual/Instr/index.html b/website/static/odoc/next/infer/Textuallib/Textual/Instr/index.html index 0d2b2db473a..e62acaed137 100644 --- a/website/static/odoc/next/infer/Textuallib/Textual/Instr/index.html +++ b/website/static/odoc/next/infer/Textuallib/Textual/Instr/index.html @@ -1,2 +1,2 @@ -Instr (infer.Textuallib.Textual.Instr)

    Module Textual.Instr

    type t =
    1. | Load of {
      1. id : Ident.t;
      2. exp : Exp.t;
      3. typ : Typ.t option;
      4. loc : Location.t;
      }
      (*

      id <- *exp with *exp:typ

      *)
    2. | Store of {
      1. exp1 : Exp.t;
      2. typ : Typ.t option;
      3. exp2 : Exp.t;
      4. loc : Location.t;
      }
      (*

      *exp1 <- exp2 with exp2:typ

      *)
    3. | Prune of {
      1. exp : Exp.t;
      2. loc : Location.t;
      }
      (*

      assume exp

      *)
    4. | Let of {
      1. id : Ident.t;
      2. exp : Exp.t;
      3. loc : Location.t;
      }
      (*

      id = exp

      *)
    val loc : t -> Location.t
    val pp : F.formatter -> t -> unit
    +Instr (infer.Textuallib.Textual.Instr)

    Module Textual.Instr

    type t =
    1. | Load of {
      1. id : Ident.t;
      2. exp : Exp.t;
      3. typ : Typ.t option;
      4. loc : Location.t;
      }
      (*

      id <- *exp with *exp:typ

      *)
    2. | Store of {
      1. exp1 : Exp.t;
      2. typ : Typ.t option;
      3. exp2 : Exp.t;
      4. loc : Location.t;
      }
      (*

      *exp1 <- exp2 with exp2:typ

      *)
    3. | Prune of {
      1. exp : Exp.t;
      2. loc : Location.t;
      }
      (*

      assume exp

      *)
    4. | Let of {
      1. id : Ident.t option;
      2. exp : Exp.t;
      3. loc : Location.t;
      }
      (*

      id = exp or _ = exp

      *)
    val loc : t -> Location.t
    val pp : F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Textuallib/Textual/Location/index.html b/website/static/odoc/next/infer/Textuallib/Textual/Location/index.html index 3f7a9e541e5..524d8b03028 100644 --- a/website/static/odoc/next/infer/Textuallib/Textual/Location/index.html +++ b/website/static/odoc/next/infer/Textuallib/Textual/Location/index.html @@ -1,2 +1,2 @@ -Location (infer.Textuallib.Textual.Location)

    Module Textual.Location

    type t =
    1. | Known of {
      1. line : int;
      2. col : int;
      }
    2. | Unknown
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val known : line:int -> col:int -> t
    val pp : F.formatter -> t -> unit
    val pp_line : F.formatter -> t -> unit
    +Location (infer.Textuallib.Textual.Location)

    Module Textual.Location

    type t =
    1. | Known of {
      1. line : int;
      2. col : int;
      }
    2. | Unknown
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val known : line:int -> col:int -> t
    val decr_line : t -> t
    val pp : F.formatter -> t -> unit
    val pp_line : F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Textuallib/Textual/NodeName/index.html b/website/static/odoc/next/infer/Textuallib/Textual/NodeName/index.html index 98570e00414..30ac4fa8908 100644 --- a/website/static/odoc/next/infer/Textuallib/Textual/NodeName/index.html +++ b/website/static/odoc/next/infer/Textuallib/Textual/NodeName/index.html @@ -1,2 +1,2 @@ -NodeName (infer.Textuallib.Textual.NodeName)

    Module Textual.NodeName

    type t = {
    1. value : string;
    2. loc : Location.t;
    }
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val of_java_name : string -> t
    val pp : F.formatter -> t -> unit
    val is_hack_init : t -> bool
    module Hashtbl : Hashtbl.S with type key = t
    module HashSet : IStdlib.HashSet.S with type elt = t
    module Map : IStdlib.IStd.Caml.Map.S with type key = t
    module Set : IStdlib.IStd.Caml.Set.S with type elt = t
    +NodeName (infer.Textuallib.Textual.NodeName)

    Module Textual.NodeName

    type t = {
    1. value : string;
    2. loc : Location.t;
    }
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val of_string : ?loc:Location.t -> string -> t

    we replace any dot in the string by '::' because dot is a reserved separator in Textual

    val pp : F.formatter -> t -> unit
    val is_hack_init : t -> bool
    module Hashtbl : Hashtbl.S with type key = t
    module HashSet : IStdlib.HashSet.S with type elt = t
    module Map : Stdlib.Map.S with type key = t
    module Set : Stdlib.Set.S with type elt = t
    diff --git a/website/static/odoc/next/infer/Textuallib/Textual/ProcName/index.html b/website/static/odoc/next/infer/Textuallib/Textual/ProcName/index.html index 5466cf6f345..7c639403879 100644 --- a/website/static/odoc/next/infer/Textuallib/Textual/ProcName/index.html +++ b/website/static/odoc/next/infer/Textuallib/Textual/ProcName/index.html @@ -1,2 +1,2 @@ -ProcName (infer.Textuallib.Textual.ProcName)

    Module Textual.ProcName

    type t = {
    1. value : string;
    2. loc : Location.t;
    }
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val of_java_name : string -> t
    val pp : F.formatter -> t -> unit
    val is_hack_init : t -> bool
    module Hashtbl : Hashtbl.S with type key = t
    module HashSet : IStdlib.HashSet.S with type elt = t
    module Map : IStdlib.IStd.Caml.Map.S with type key = t
    module Set : IStdlib.IStd.Caml.Set.S with type elt = t
    +ProcName (infer.Textuallib.Textual.ProcName)

    Module Textual.ProcName

    type t = {
    1. value : string;
    2. loc : Location.t;
    }
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val of_string : ?loc:Location.t -> string -> t

    we replace any dot in the string by '::' because dot is a reserved separator in Textual

    val pp : F.formatter -> t -> unit
    val is_hack_init : t -> bool
    module Hashtbl : Hashtbl.S with type key = t
    module HashSet : IStdlib.HashSet.S with type elt = t
    module Map : Stdlib.Map.S with type key = t
    module Set : Stdlib.Set.S with type elt = t
    diff --git a/website/static/odoc/next/infer/Textuallib/Textual/QualifiedProcName/index.html b/website/static/odoc/next/infer/Textuallib/Textual/QualifiedProcName/index.html index 331f5bdbae4..a05387b5cdc 100644 --- a/website/static/odoc/next/infer/Textuallib/Textual/QualifiedProcName/index.html +++ b/website/static/odoc/next/infer/Textuallib/Textual/QualifiedProcName/index.html @@ -1,2 +1,2 @@ -QualifiedProcName (infer.Textuallib.Textual.QualifiedProcName)

    Module Textual.QualifiedProcName

    type enclosing_class =
    1. | TopLevel
    2. | Enclosing of TypeName.t
    type t = {
    1. enclosing_class : enclosing_class;
    2. name : ProcName.t;
    }
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val pp : F.formatter -> t -> unit
    val name : t -> ProcName.t
    val contains_wildcard : t -> bool
    module Hashtbl : Hashtbl.S with type key = t
    +QualifiedProcName (infer.Textuallib.Textual.QualifiedProcName)

    Module Textual.QualifiedProcName

    type enclosing_class =
    1. | TopLevel
    2. | Enclosing of TypeName.t
    type t = {
    1. enclosing_class : enclosing_class;
    2. name : ProcName.t;
    }
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val pp : F.formatter -> t -> unit
    val name : t -> ProcName.t
    val contains_wildcard : t -> bool
    val is_python_builtin : t -> bool
    module Hashtbl : Hashtbl.S with type key = t
    diff --git a/website/static/odoc/next/infer/Textuallib/Textual/TypeName/index.html b/website/static/odoc/next/infer/Textuallib/Textual/TypeName/index.html index b2951e1a4f7..dab0964827c 100644 --- a/website/static/odoc/next/infer/Textuallib/Textual/TypeName/index.html +++ b/website/static/odoc/next/infer/Textuallib/Textual/TypeName/index.html @@ -1,2 +1,2 @@ -TypeName (infer.Textuallib.Textual.TypeName)

    Module Textual.TypeName

    include NAME
    type t = {
    1. value : string;
    2. loc : Location.t;
    }
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val of_java_name : string -> t
    val pp : F.formatter -> t -> unit
    val is_hack_init : t -> bool
    module Hashtbl : Hashtbl.S with type key = t
    module HashSet : IStdlib.HashSet.S with type elt = t
    module Map : IStdlib.IStd.Caml.Map.S with type key = t
    module Set : IStdlib.IStd.Caml.Set.S with type elt = t
    val hack_generics : t
    val wildcard : t
    +TypeName (infer.Textuallib.Textual.TypeName)

    Module Textual.TypeName

    include NAME
    type t = {
    1. value : string;
    2. loc : Location.t;
    }
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val of_string : ?loc:Location.t -> string -> t

    we replace any dot in the string by '::' because dot is a reserved separator in Textual

    val pp : F.formatter -> t -> unit
    val is_hack_init : t -> bool
    module Hashtbl : Hashtbl.S with type key = t
    module HashSet : IStdlib.HashSet.S with type elt = t
    module Map : Stdlib.Map.S with type key = t
    module Set : Stdlib.Set.S with type elt = t
    val hack_generics : t
    val wildcard : t
    diff --git a/website/static/odoc/next/infer/Textuallib/Textual/VarName/index.html b/website/static/odoc/next/infer/Textuallib/Textual/VarName/index.html index 0179e92ac01..0fb8e93cd43 100644 --- a/website/static/odoc/next/infer/Textuallib/Textual/VarName/index.html +++ b/website/static/odoc/next/infer/Textuallib/Textual/VarName/index.html @@ -1,2 +1,2 @@ -VarName (infer.Textuallib.Textual.VarName)

    Module Textual.VarName

    include NAME
    type t = {
    1. value : string;
    2. loc : Location.t;
    }
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val of_java_name : string -> t
    val pp : F.formatter -> t -> unit
    val is_hack_init : t -> bool
    module Hashtbl : Hashtbl.S with type key = t
    module HashSet : IStdlib.HashSet.S with type elt = t
    module Map : IStdlib.IStd.Caml.Map.S with type key = t
    module Set : IStdlib.IStd.Caml.Set.S with type elt = t
    val is_hack_reified_generics_param : t -> bool
    +VarName (infer.Textuallib.Textual.VarName)

    Module Textual.VarName

    include NAME
    type t = {
    1. value : string;
    2. loc : Location.t;
    }
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val of_string : ?loc:Location.t -> string -> t

    we replace any dot in the string by '::' because dot is a reserved separator in Textual

    val pp : F.formatter -> t -> unit
    val is_hack_init : t -> bool
    module Hashtbl : Hashtbl.S with type key = t
    module HashSet : IStdlib.HashSet.S with type elt = t
    module Map : Stdlib.Map.S with type key = t
    module Set : Stdlib.Set.S with type elt = t
    val is_hack_reified_generics_param : t -> bool
    diff --git a/website/static/odoc/next/infer/Textuallib/Textual/index.html b/website/static/odoc/next/infer/Textuallib/Textual/index.html index a9a2e9bbd97..21cf342550a 100644 --- a/website/static/odoc/next/infer/Textuallib/Textual/index.html +++ b/website/static/odoc/next/infer/Textuallib/Textual/index.html @@ -1,2 +1,2 @@ -Textual (infer.Textuallib.Textual)

    Module Textuallib.Textual

    module F = Stdlib.Format
    module Hashtbl = IStdlib.IStd.Caml.Hashtbl
    module Lang : sig ... end
    module Location : sig ... end
    module type NAME = sig ... end
    module ProcName : NAME
    module VarName : sig ... end
    module FieldName : NAME
    module NodeName : NAME
    module TypeName : sig ... end
    module QualifiedProcName : sig ... end
    type qualified_fieldname = {
    1. enclosing_class : TypeName.t;
    2. name : FieldName.t;
    }
    val pp_qualified_fieldname : F.formatter -> qualified_fieldname -> unit
    module Attr : sig ... end
    module Typ : sig ... end
    module Ident : sig ... end
    module Const : sig ... end
    module ProcSig : sig ... end
    module ProcDecl : sig ... end
    module Global : sig ... end
    module FieldDecl : sig ... end
    module Exp : sig ... end
    module BoolExp : sig ... end
    module Instr : sig ... end
    module Terminator : sig ... end
    module Node : sig ... end
    module ProcDesc : sig ... end
    module Body : sig ... end
    module Struct : sig ... end
    module SsaVerification : sig ... end
    module SourceFile : sig ... end
    module Module : sig ... end
    type transform_error = {
    1. loc : Location.t;
    2. msg : string IStdlib.IStd.Lazy.t;
    }
    val pp_transform_error : SourceFile.t -> F.formatter -> transform_error -> unit
    exception TextualTransformError of transform_error list
    exception SpecialSyntaxError of Location.t * string
    +Textual (infer.Textuallib.Textual)

    Module Textuallib.Textual

    module F = Stdlib.Format
    module Hashtbl = Stdlib.Hashtbl
    module Lang : sig ... end
    module Location : sig ... end
    module type NAME = sig ... end
    module ProcName : NAME
    module VarName : sig ... end
    module FieldName : NAME
    module NodeName : NAME
    module TypeName : sig ... end
    module QualifiedProcName : sig ... end
    type qualified_fieldname = {
    1. enclosing_class : TypeName.t;
    2. name : FieldName.t;
    }
    val pp_qualified_fieldname : F.formatter -> qualified_fieldname -> unit
    module Attr : sig ... end
    module Typ : sig ... end
    module Ident : sig ... end
    module Const : sig ... end
    module ProcSig : sig ... end
    module ProcDecl : sig ... end
    module Global : sig ... end
    module FieldDecl : sig ... end
    module Exp : sig ... end
    module BoolExp : sig ... end
    module Instr : sig ... end
    module Terminator : sig ... end
    module Node : sig ... end
    module ProcDesc : sig ... end
    module Body : sig ... end
    module Struct : sig ... end
    module SsaVerification : sig ... end
    module SourceFile : sig ... end
    module Module : sig ... end
    type transform_error = {
    1. loc : Location.t;
    2. msg : string IStdlib.IStd.Lazy.t;
    }
    val pp_transform_error : SourceFile.t -> F.formatter -> transform_error -> unit
    exception TextualTransformError of transform_error list
    exception SpecialSyntaxError of Location.t * string
    diff --git a/website/static/odoc/next/infer/Textuallib/Textual/module-type-NAME/index.html b/website/static/odoc/next/infer/Textuallib/Textual/module-type-NAME/index.html index db90f1b2d1f..2177ac6ff07 100644 --- a/website/static/odoc/next/infer/Textuallib/Textual/module-type-NAME/index.html +++ b/website/static/odoc/next/infer/Textuallib/Textual/module-type-NAME/index.html @@ -1,2 +1,2 @@ -NAME (infer.Textuallib.Textual.NAME)

    Module type Textual.NAME

    type t = {
    1. value : string;
    2. loc : Location.t;
    }
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val of_java_name : string -> t
    val pp : F.formatter -> t -> unit
    val is_hack_init : t -> bool
    module Hashtbl : Hashtbl.S with type key = t
    module HashSet : IStdlib.HashSet.S with type elt = t
    module Map : IStdlib.IStd.Caml.Map.S with type key = t
    module Set : IStdlib.IStd.Caml.Set.S with type elt = t
    +NAME (infer.Textuallib.Textual.NAME)

    Module type Textual.NAME

    type t = {
    1. value : string;
    2. loc : Location.t;
    }
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val of_string : ?loc:Location.t -> string -> t

    we replace any dot in the string by '::' because dot is a reserved separator in Textual

    val pp : F.formatter -> t -> unit
    val is_hack_init : t -> bool
    module Hashtbl : Hashtbl.S with type key = t
    module HashSet : IStdlib.HashSet.S with type elt = t
    module Map : Stdlib.Map.S with type key = t
    module Set : Stdlib.Set.S with type elt = t
    diff --git a/website/static/odoc/next/infer/Textuallib/TextualBasicVerification/index.html b/website/static/odoc/next/infer/Textuallib/TextualBasicVerification/index.html index c7d34325342..4ac0f13de77 100644 --- a/website/static/odoc/next/infer/Textuallib/TextualBasicVerification/index.html +++ b/website/static/odoc/next/infer/Textuallib/TextualBasicVerification/index.html @@ -1,2 +1,2 @@ -TextualBasicVerification (infer.Textuallib.TextualBasicVerification)

    Module Textuallib.TextualBasicVerification

    type error
    val pp_error : Textual.SourceFile.t -> Stdlib.Format.formatter -> error -> unit
    +TextualBasicVerification (infer.Textuallib.TextualBasicVerification)

    Module Textuallib.TextualBasicVerification

    type error
    val pp_error : Stdlib.Format.formatter -> error -> unit
    val error_loc : error -> Textual.Location.t
    diff --git a/website/static/odoc/next/infer/Textuallib/TextualDecls/index.html b/website/static/odoc/next/infer/Textuallib/TextualDecls/index.html index c340e6127e2..6ce397924bb 100644 --- a/website/static/odoc/next/infer/Textuallib/TextualDecls/index.html +++ b/website/static/odoc/next/infer/Textuallib/TextualDecls/index.html @@ -17,4 +17,4 @@ (variadic_status * generics_status * Textual.ProcDecl.t) option
    val get_procdesc : t -> Textual.ProcSig.t -> Textual.ProcDesc.t option
    val get_proc_entries_by_enclosing_class : t -> ProcEntry.t list Textuallib.Textual.TypeName.Map.t - * Textuallib.Textual.TypeName.Set.t

    returns 1) in a map, all function implementation and declarations, indexed by the name of their enclosing class 2) the set of all enclosing class that were not introduced by a type declaration

    val get_struct : t -> Textual.TypeName.t -> Textual.Struct.t option
    val is_field_declared : t -> Textual.qualified_fieldname -> bool
    val is_defined_in_a_trait : t -> Textual.QualifiedProcName.t -> bool
    val is_trait_method : t -> Textual.ProcSig.t -> bool
    val source_file : t -> Textual.SourceFile.t
    val lang : t -> Textual.Lang.t option
    val get_undefined_types : t -> Textual.TypeName.t Stdlib.Seq.t
    type error
    val pp_error : Textual.SourceFile.t -> Stdlib.Format.formatter -> error -> unit
    val make_decls : Textual.Module.t -> error list * t
    + * Textuallib.Textual.TypeName.Set.t

    returns 1) in a map, all function implementation and declarations, indexed by the name of their enclosing class 2) the set of all enclosing class that were not introduced by a type declaration

    val get_struct : t -> Textual.TypeName.t -> Textual.Struct.t option
    val is_field_declared : t -> Textual.qualified_fieldname -> bool
    val is_defined_in_a_trait : t -> Textual.QualifiedProcName.t -> bool
    val is_trait_method : t -> Textual.ProcSig.t -> bool
    val source_file : t -> Textual.SourceFile.t
    val lang : t -> Textual.Lang.t option
    val get_undefined_types : t -> Textual.TypeName.t Stdlib.Seq.t
    type error
    val pp_error : Stdlib.Format.formatter -> error -> unit
    val make_decls : Textual.Module.t -> error list * t
    diff --git a/website/static/odoc/next/infer/Textuallib/TextualParser/index.html b/website/static/odoc/next/infer/Textuallib/TextualParser/index.html index 18e619d9e5a..a7f0bd59764 100644 --- a/website/static/odoc/next/infer/Textuallib/TextualParser/index.html +++ b/website/static/odoc/next/infer/Textuallib/TextualParser/index.html @@ -1,5 +1,5 @@ -TextualParser (infer.Textuallib.TextualParser)

    Module Textuallib.TextualParser

    module F = Stdlib.Format
    type error =
    1. | SyntaxError of {
      1. loc : Textual.Location.t;
      2. msg : string;
      }
    2. | BasicError of TextualBasicVerification.error
    3. | TypeError of TextualTypeVerification.error
    4. | TransformError of Textual.transform_error list
    5. | DeclaredTwiceError of TextualDecls.error
      (*

      errors related to Textual

      *)
    val pp_error : Textual.SourceFile.t -> F.formatter -> error -> unit
    val error_to_string : Textual.SourceFile.t -> error -> string
    val parse_string : +TextualParser (infer.Textuallib.TextualParser)

    Module Textuallib.TextualParser

    module F = Stdlib.Format
    type error =
    1. | SyntaxError of {
      1. loc : Textual.Location.t;
      2. msg : string;
      }
    2. | VerificationError of TextualVerification.error list
    3. | TransformError of Textual.transform_error list
    val pp_error : Textual.SourceFile.t -> F.formatter -> error -> unit
    val error_to_string : Textual.SourceFile.t -> error -> string
    val parse_string : Textual.SourceFile.t -> string -> (Textual.Module.t, error list) IStdlib.IStd.result
    module TextualFile : sig ... end
    val capture : TextualFile.t list -> unit

    turn a list of textual files into a SIL-Java program and capture them.

    diff --git a/website/static/odoc/next/infer/Textuallib/TextualSil/index.html b/website/static/odoc/next/infer/Textuallib/TextualSil/index.html index c15f3a190b7..6b6585df789 100644 --- a/website/static/odoc/next/infer/Textuallib/TextualSil/index.html +++ b/website/static/odoc/next/infer/Textuallib/TextualSil/index.html @@ -1,5 +1,8 @@ -TextualSil (infer.Textuallib.TextualSil)

    Module Textuallib.TextualSil

    val proc_decl_to_sil : Textual.Lang.t -> Textual.ProcDecl.t -> IR.Procname.t
    val module_to_sil : Textual.Module.t -> IR.Cfg.t * IR.Tenv.t
    val from_java : filename:string -> IR.Tenv.t -> IR.Cfg.t -> unit

    generate a .sil file with name filename containing all the functions in the given cfg

    val dump_module : filename:string -> Textual.Module.t -> unit

    generate a .sil file with name filename with all the content of the input module

    val default_return_type : +TextualSil (infer.Textuallib.TextualSil)

    Module Textuallib.TextualSil

    val proc_decl_to_sil : Textual.Lang.t -> Textual.ProcDecl.t -> IR.Procname.t

    convert a Textual unit into Infer internal representation (cfg + tenv). During the process the textual representation undergoes several transformations. The result is passed as the third element of the returned tuple

    val from_java : filename:string -> IR.Tenv.t -> IR.Cfg.t -> unit

    generate a .sil file with name filename containing all the functions in the given cfg

    val dump_module : filename:string -> Textual.Module.t -> unit

    generate a .sil file with name filename with all the content of the input module

    val default_return_type : Textual.Lang.t option -> Textual.Location.t -> - Textual.Typ.t
    val hack_dict_type_name : IR.Typ.name
    val hack_dict_iter_type_name : IR.Typ.name
    val hack_vec_type_name : IR.Typ.name
    val hack_vec_iter_type_name : IR.Typ.name
    val hack_bool_type_name : IR.Typ.name
    val hack_int_type_name : IR.Typ.name
    val hack_float_type_name : IR.Typ.name
    val hack_string_type_name : IR.Typ.name
    val hack_splated_vec_type_name : IR.Typ.name
    val hack_mixed_type_name : IR.Typ.name
    val hack_awaitable_type_name : IR.Typ.name
    val hack_mixed_static_companion_type_name : IR.Typ.name
    val hack_builtins_type_name : IR.Typ.name
    val hack_root_type_name : IR.Typ.name
    val wildcard_sil_fieldname : Textual.Lang.t -> string -> IR.Fieldname.t
    val textual_ext : string
    val to_filename : string -> string
    + Textual.Typ.t
    val hack_dict_type_name : IR.Typ.name
    val hack_dict_iter_type_name : IR.Typ.name
    val hack_vec_type_name : IR.Typ.name
    val hack_vec_iter_type_name : IR.Typ.name
    val hack_bool_type_name : IR.Typ.name
    val hack_int_type_name : IR.Typ.name
    val hack_float_type_name : IR.Typ.name
    val hack_string_type_name : IR.Typ.name
    val hack_splated_vec_type_name : IR.Typ.name
    val hack_mixed_type_name : IR.Typ.name
    val hack_awaitable_type_name : IR.Typ.name
    val hack_mixed_static_companion_type_name : IR.Typ.name
    val hack_builtins_type_name : IR.Typ.name
    val hack_root_type_name : IR.Typ.name
    val python_dict_type_name : IR.Typ.name
    val python_int_type_name : IR.Typ.name
    val python_none_type_name : IR.Typ.name
    val python_mixed_type_name : IR.Typ.name
    val python_tuple_type_name : IR.Typ.name
    val wildcard_sil_fieldname : Textual.Lang.t -> string -> IR.Fieldname.t
    val textual_ext : string
    val to_filename : string -> string
    diff --git a/website/static/odoc/next/infer/Textuallib/TextualTransform/index.html b/website/static/odoc/next/infer/Textuallib/TextualTransform/index.html index 201a80089c4..df662fe134f 100644 --- a/website/static/odoc/next/infer/Textuallib/TextualTransform/index.html +++ b/website/static/odoc/next/infer/Textuallib/TextualTransform/index.html @@ -3,4 +3,4 @@ Textual.Lang.t -> TextualDecls.t -> Textual.Module.t -> - Textual.Module.t
    val remove_if_terminator : Textual.Module.t -> Textual.Module.t
    val let_propagation : Textual.Module.t -> Textual.Module.t
    + Textual.Module.t * bool
    val remove_if_terminator : Textual.Module.t -> Textual.Module.t
    val let_propagation : Textual.Module.t -> Textual.Module.t
    diff --git a/website/static/odoc/next/infer/Textuallib/TextualTypeVerification/index.html b/website/static/odoc/next/infer/Textuallib/TextualTypeVerification/index.html index f0685b99a47..80a81685bdb 100644 --- a/website/static/odoc/next/infer/Textuallib/TextualTypeVerification/index.html +++ b/website/static/odoc/next/infer/Textuallib/TextualTypeVerification/index.html @@ -78,7 +78,7 @@ G, L, N, rt |- Ret exp lexp1 = exp1, ..., expk - G, L |- exp1 : t1 t1 <= N[lab1

    1] ... G, L |- expk : tk tk <= Nlab1k ... lexpn = ... ... ------------------------------------------------------ G, L, rt, N |- Jump lab1(lexp1), ..., labn(lexpn)

    G, L |- exp : *t ----------------------------------------------------- G, L, N, rt |- Throw exp

    ----------------------------------------------------- G, L, N, rt |- Unreachable

    type error
    val pp_error : Textual.SourceFile.t -> Stdlib.Format.formatter -> error -> unit
    val run : + G, L |- exp1 : t1 t1 <= N[lab1

    1] ... G, L |- expk : tk tk <= Nlab1k ... lexpn = ... ... ------------------------------------------------------ G, L, rt, N |- Jump lab1(lexp1), ..., labn(lexpn)

    G, L |- exp : *t ----------------------------------------------------- G, L, N, rt |- Throw exp

    ----------------------------------------------------- G, L, N, rt |- Unreachable

    type error
    val pp_error : Stdlib.Format.formatter -> error -> unit
    val error_loc : error -> Textual.Location.t
    val run : Textual.Module.t -> TextualDecls.t -> (Textual.Module.t, error list) IStdlib.IStd.Result.t
    type type_check_result =
    1. | Ok of Textual.Module.t
    2. | Decl_errors of TextualDecls.error list
    3. | Type_errors of error list
    diff --git a/website/static/odoc/next/infer/Textuallib/index.html b/website/static/odoc/next/infer/Textuallib/index.html index 068470c5071..201560983d4 100644 --- a/website/static/odoc/next/infer/Textuallib/index.html +++ b/website/static/odoc/next/infer/Textuallib/index.html @@ -1,2 +1,2 @@ -Textuallib (infer.Textuallib)

    Module Textuallib

    module LineMap : sig ... end
    module Textual : sig ... end
    module TextualBasicVerification : sig ... end
    module TextualDecls : sig ... end
    module TextualLexer : sig ... end
    module TextualMenhir : sig ... end
    module TextualParser : sig ... end
    module TextualSil : sig ... end
    module TextualTransform : sig ... end
    module TextualTypeVerification : sig ... end

    This module provides basic type verification for Textual programs.

    +Textuallib (infer.Textuallib)

    Module Textuallib

    module LineMap : sig ... end
    module Textual : sig ... end
    module TextualBasicVerification : sig ... end
    module TextualDecls : sig ... end
    module TextualLexer : sig ... end
    module TextualMenhir : sig ... end
    module TextualParser : sig ... end
    module TextualSil : sig ... end
    module TextualTransform : sig ... end
    module TextualTypeVerification : sig ... end

    This module provides basic type verification for Textual programs.

    module TextualVerification : sig ... end
    diff --git a/website/static/odoc/next/infer/UnitTests/AbstractInterpreterTests/PathCountTransferFunctions/argument-1-CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/UnitTests/AbstractInterpreterTests/PathCountTransferFunctions/argument-1-CFG/Node/IdMap/index.html index dc25697c623..9938b38300d 100644 --- a/website/static/odoc/next/infer/UnitTests/AbstractInterpreterTests/PathCountTransferFunctions/argument-1-CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/UnitTests/AbstractInterpreterTests/PathCountTransferFunctions/argument-1-CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.UnitTests.AbstractInterpreterTests.PathCountTransferFunctions.CFG.Node.IdMap)

    Module Node.IdMap

    include IStdlib.IStd.Caml.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +IdMap (infer.UnitTests.AbstractInterpreterTests.PathCountTransferFunctions.CFG.Node.IdMap)

    Module Node.IdMap

    include Stdlib.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/UnitTests/AbstractInterpreterTests/PathCountTransferFunctions/argument-1-CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/UnitTests/AbstractInterpreterTests/PathCountTransferFunctions/argument-1-CFG/Node/IdSet/index.html index e681d3cc987..32f85539241 100644 --- a/website/static/odoc/next/infer/UnitTests/AbstractInterpreterTests/PathCountTransferFunctions/argument-1-CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/UnitTests/AbstractInterpreterTests/PathCountTransferFunctions/argument-1-CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.UnitTests.AbstractInterpreterTests.PathCountTransferFunctions.CFG.Node.IdSet)

    Module Node.IdSet

    include IStdlib.IStd.Caml.Set.S with type elt = id
    type elt = id
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +IdSet (infer.UnitTests.AbstractInterpreterTests.PathCountTransferFunctions.CFG.Node.IdSet)

    Module Node.IdSet

    include Stdlib.Set.S with type elt = id
    type elt = id
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/Make/argument-1-T/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/Make/argument-1-T/CFG/Node/IdMap/index.html index f7c2d023734..143d909fed3 100644 --- a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/Make/argument-1-T/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/Make/argument-1-T/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.UnitTests.AnalyzerTester.Make.T.CFG.Node.IdMap)

    Module Node.IdMap

    include IStdlib.IStd.Caml.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +IdMap (infer.UnitTests.AnalyzerTester.Make.T.CFG.Node.IdMap)

    Module Node.IdMap

    include Stdlib.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/Make/argument-1-T/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/Make/argument-1-T/CFG/Node/IdSet/index.html index 8b730d8fde8..28666c030f3 100644 --- a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/Make/argument-1-T/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/Make/argument-1-T/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.UnitTests.AnalyzerTester.Make.T.CFG.Node.IdSet)

    Module Node.IdSet

    include IStdlib.IStd.Caml.Set.S with type elt = id
    type elt = id
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +IdSet (infer.UnitTests.AnalyzerTester.Make.T.CFG.Node.IdSet)

    Module Node.IdSet

    include Stdlib.Set.S with type elt = id
    type elt = id
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeBackwardExceptional/argument-1-T/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeBackwardExceptional/argument-1-T/CFG/Node/IdMap/index.html index 90a6a2f78fe..5b7d15b7100 100644 --- a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeBackwardExceptional/argument-1-T/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeBackwardExceptional/argument-1-T/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.UnitTests.AnalyzerTester.MakeBackwardExceptional.T.CFG.Node.IdMap)

    Module Node.IdMap

    include IStdlib.IStd.Caml.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +IdMap (infer.UnitTests.AnalyzerTester.MakeBackwardExceptional.T.CFG.Node.IdMap)

    Module Node.IdMap

    include Stdlib.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeBackwardExceptional/argument-1-T/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeBackwardExceptional/argument-1-T/CFG/Node/IdSet/index.html index 04ac26c147a..a9b746c1324 100644 --- a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeBackwardExceptional/argument-1-T/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeBackwardExceptional/argument-1-T/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.UnitTests.AnalyzerTester.MakeBackwardExceptional.T.CFG.Node.IdSet)

    Module Node.IdSet

    include IStdlib.IStd.Caml.Set.S with type elt = id
    type elt = id
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +IdSet (infer.UnitTests.AnalyzerTester.MakeBackwardExceptional.T.CFG.Node.IdSet)

    Module Node.IdSet

    include Stdlib.Set.S with type elt = id
    type elt = id
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTester/argument-1-I/TransferFunctions/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTester/argument-1-I/TransferFunctions/CFG/Node/IdMap/index.html index 07ee3d10b1b..e0950651d87 100644 --- a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTester/argument-1-I/TransferFunctions/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTester/argument-1-I/TransferFunctions/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.UnitTests.AnalyzerTester.MakeTester.I.TransferFunctions.CFG.Node.IdMap)

    Module Node.IdMap

    include IStdlib.IStd.Caml.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +IdMap (infer.UnitTests.AnalyzerTester.MakeTester.I.TransferFunctions.CFG.Node.IdMap)

    Module Node.IdMap

    include Stdlib.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTester/argument-1-I/TransferFunctions/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTester/argument-1-I/TransferFunctions/CFG/Node/IdSet/index.html index 8a57d773c4c..5ddea9d9356 100644 --- a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTester/argument-1-I/TransferFunctions/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTester/argument-1-I/TransferFunctions/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.UnitTests.AnalyzerTester.MakeTester.I.TransferFunctions.CFG.Node.IdSet)

    Module Node.IdSet

    include IStdlib.IStd.Caml.Set.S with type elt = id
    type elt = id
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +IdSet (infer.UnitTests.AnalyzerTester.MakeTester.I.TransferFunctions.CFG.Node.IdSet)

    Module Node.IdSet

    include Stdlib.Set.S with type elt = id
    type elt = id
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTesters/argument-1-RPO/TransferFunctions/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTesters/argument-1-RPO/TransferFunctions/CFG/Node/IdMap/index.html index b1555b4d60e..a107fd7da51 100644 --- a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTesters/argument-1-RPO/TransferFunctions/CFG/Node/IdMap/index.html +++ b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTesters/argument-1-RPO/TransferFunctions/CFG/Node/IdMap/index.html @@ -1,5 +1,5 @@ -IdMap (infer.UnitTests.AnalyzerTester.MakeTesters.RPO.TransferFunctions.CFG.Node.IdMap)

    Module Node.IdMap

    include IStdlib.IStd.Caml.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : +IdMap (infer.UnitTests.AnalyzerTester.MakeTesters.RPO.TransferFunctions.CFG.Node.IdMap)

    Module Node.IdMap

    include Stdlib.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> diff --git a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTesters/argument-1-RPO/TransferFunctions/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTesters/argument-1-RPO/TransferFunctions/CFG/Node/IdSet/index.html index 0452d296564..fbbb550b239 100644 --- a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTesters/argument-1-RPO/TransferFunctions/CFG/Node/IdSet/index.html +++ b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/MakeTesters/argument-1-RPO/TransferFunctions/CFG/Node/IdSet/index.html @@ -1,2 +1,2 @@ -IdSet (infer.UnitTests.AnalyzerTester.MakeTesters.RPO.TransferFunctions.CFG.Node.IdSet)

    Module Node.IdSet

    include IStdlib.IStd.Caml.Set.S with type elt = id
    type elt = id
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit
    +IdSet (infer.UnitTests.AnalyzerTester.MakeTesters.RPO.TransferFunctions.CFG.Node.IdSet)

    Module Node.IdSet

    include Stdlib.Set.S with type elt = id
    type elt = id
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    include IStdlib.PrettyPrintable.PrintableType with type t := t
    val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_hov : IStdlib.PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib.PrettyPrintable.F.formatter -> elt -> unit