Activates: checker
annotation-reachability: Given a pair of source and sink
-annotation, e.g. ’@PerformanceCritical’ and
-’@Expensive’, this checker will warn whenever
+annotation, e.g. ‘@PerformanceCritical‘ and
+‘@Expensive‘, this checker will warn whenever
some method annotated with
-’@PerformanceCritical’ calls, directly or
+‘@PerformanceCritical‘ calls, directly or
indirectly, another method annotated with
-’@Expensive’ (Conversely:
+‘@Expensive‘ (Conversely:
--no-annotation-reachability)
@@ -152,7 +152,7 @@ given the same before. Not compatible with
Activates: checker cost:
Computes the time complexity of functions and methods. Can
be used to detect changes in runtime complexity with
-’infer reportdiff’. (Conversely:
+‘infer reportdiff‘. (Conversely:
--no-cost)
--cost-only
@@ -161,6 +161,13 @@ be used to detect changes in runtime complexity with
disable all other checkers (Conversely:
--no-cost-only)
+
+
--no-cost-suppress-func-ptr
+
+
Deactivates: Suppress printing
+function pointers in cost reports (Conversely:
+--cost-suppress-func-ptr)
Activates: checker eradicate:
-The eradicate ’@Nullable’ checker for Java
+The eradicate ‘@Nullable‘ checker for Java
annotations. (Conversely: --no-eradicate)
--eradicate-only
@@ -272,9 +279,9 @@ internal options in the INTERNAL OPTIONS section
Activates: checker
immutable-cast: Detection of object cast from immutable
types to mutable types. For instance, it will detect casts
-from ’ImmutableList’ to ’List’,
-’ImmutableMap’ to ’Map’, and
-’ImmutableSet’ to ’Set’.
+from ‘ImmutableList‘ to ‘List‘,
+‘ImmutableMap‘ to ‘Map‘, and
+‘ImmutableSet‘ to ‘Set‘.
(Conversely: --no-immutable-cast)
@@ -343,7 +350,7 @@ disable all other checkers (Conversely:
Activates: checker
litho-required-props: Checks that all non-optional
-’@Prop’s have been specified when constructing
+‘@Prop‘s have been specified when constructing
Litho components. (Conversely:
--no-litho-required-props)
@@ -401,11 +408,11 @@ stdout and stderr (Conversely: --no-print-logs)
--printf-args
Activates: checker printf-args:
-Detect mismatches between the Java ’printf’
+Detect mismatches between the Java ‘printf‘
format strings and the argument types For example, this
checker will warn about the type error in
-’printf("Hello %d",
-"world")’ (Conversely:
+‘printf("Hello %d",
+"world")‘ (Conversely:
--no-printf-args)
--printf-args-only
@@ -584,7 +591,7 @@ performs better in some circumstances
Deactivates: checker
self-in-block: An Objective-C-specific analysis to detect
-when a block captures ’self’. (Conversely:
+when a block captures ‘self‘. (Conversely:
--self-in-block)
diff --git a/website/static/man/next/infer-capture.1.html b/website/static/man/next/infer-capture.1.html
index d2255a18a..754aaa084 100644
--- a/website/static/man/next/infer-capture.1.html
+++ b/website/static/man/next/infer-capture.1.html
@@ -232,6 +232,16 @@ database operations, in milliseconds.
SQLite page size in bytes, must
be a power of two between 512 and 65536.
+
--workspace
+path
+
+
Specifies the root of the
+workspace, which is a directory containing
+--project-root. This can be needed if the capture
+phase is expected to require several different
+project roots, all relative to a common workspace. Usually a
+single project root is enough, though.
+
@@ -340,14 +350,14 @@ matched by the specified regular expression. Only valid for
+string
Pass values as command-line
-arguments to invocations of ’buck build’.
+arguments to invocations of ‘buck build‘.
Only valid for --buck-clang.
--Xbuck-no-inline+string
Pass values as command-line
-arguments to invocations of ’buck build’,
+arguments to invocations of ‘buck build‘,
don't inline any args starting with '@'. Only valid for
--buck-clang.
@@ -439,7 +449,8 @@ AL files, then emit possible errors in JSON format to stdout
file
Specify a file containing the
-AST of the program, in biniou format
+AST of the program, in biniou format. Please note you still
+need to provide a compilation command.
--clang-blacklisted-flags
@@ -463,6 +474,13 @@ initialization of compound types (structs and arrays) is not
done element by element but using a builtin function that
each analysis has to model.
+
--clang-yojson-file
+file
+
+
Specify a file containing the
+AST of the program, in yojson format. Please note you still
+need to provide a compilation command.
+
--compilation-database+path
@@ -519,8 +537,8 @@ arguments to invocations of clang
Activates: Infer will use
xcpretty together with xcodebuild to analyze an iOS app.
xcpretty just needs to be in the path, infer command is
-still just ’infer -- <xcodebuild
-command>’. (Conversely:
+still just ‘infer -- <xcodebuild
+command>‘. (Conversely:
--no-xcpretty)
JAVA OPTIONS
diff --git a/website/static/man/next/infer-debug.1.html b/website/static/man/next/infer-debug.1.html
index 49d5404d7..6620bc651 100644
--- a/website/static/man/next/infer-debug.1.html
+++ b/website/static/man/next/infer-debug.1.html
@@ -94,6 +94,12 @@ undefined, and to pager otherwise.
Show this manual with all
internal options in the INTERNAL OPTIONS section
+
--select
+(N|all)
+
+
Select option number N
+or all of them. If omitted, prompt for input.
+
DEBUG GLOBAL TYPE ENVIRONMENT
@@ -174,6 +180,13 @@ found in the output of --procedures (Conversely:
of each procedure in the output of --procedures
(Conversely: --no-procedures-summary)
+
+
--procedures-summary-json
+
+
Activates: Emit the summaries
+of each procedure in the output of --procedures as
+JSON (Conversely: --no-procedures-summary-json)
+
DEBUG SOURCE FILES
diff --git a/website/static/man/next/infer-explore.1.html b/website/static/man/next/infer-explore.1.html
index c550b8315..60ae07a57 100644
--- a/website/static/man/next/infer-explore.1.html
+++ b/website/static/man/next/infer-explore.1.html
@@ -104,10 +104,11 @@ report. (Conversely: --no-html)
to show. Trace elements beyond the maximum nesting level are
skipped. If omitted, all levels are shown.
-
--selectN
+
--select
+(N|all)
-
Select bug number N. If
-omitted, prompt for input.
+
Select option number N
+or all of them. If omitted, prompt for input.
--no-source-preview
diff --git a/website/static/man/next/infer-report.1.html b/website/static/man/next/infer-report.1.html
index 6423ae114..fb113dd71 100644
--- a/website/static/man/next/infer-report.1.html
+++ b/website/static/man/next/infer-report.1.html
@@ -78,18 +78,18 @@ are specified, they are applied in the order in which they
are specified. Each filter is applied to each issue
detected, and only issues which are accepted by all filters
are reported. Each filter is of the form:
-’<issue_type_regex>:<filename_regex>:<reason_string>’.
+‘<issue_type_regex>:<filename_regex>:<reason_string>‘.
The first two components are OCaml Str regular expressions,
-with an optional ’!’ character prefix. If a
-regex has a ’!’ prefix, the polarity is
+with an optional ‘!‘ character prefix. If a
+regex has a ‘!‘ prefix, the polarity is
inverted, and the filter becomes a "blacklist"
instead of a "whitelist". Each filter is
interpreted as an implication: an issue matches if it does
-not match the ’issue_type_regex’ or if it does
-match the ’filename_regex’. The filenames that
+not match the ‘issue_type_regex‘ or if it does
+match the ‘filename_regex‘. The filenames that
are tested by the regex are relative to the
-’--project-root’ directory. The
-’<reason_string>’ is a non-empty string
+‘--project-root‘ directory. The
+‘<reason_string>‘ is a non-empty string
used to explain why the issue was filtered.
--cost-issues-tests
@@ -231,6 +231,7 @@ default),
DIVIDE_BY_ZERO (disabled by default),
DO_NOT_REPORT (enabled by default),
EMPTY_VECTOR_ACCESS (enabled by default),
+ERADICATE_ANNOTATION_GRAPH (enabled by default),
ERADICATE_BAD_NESTED_CLASS_ANNOTATION (enabled by default),
ERADICATE_CONDITION_REDUNDANT (enabled by default),
@@ -306,7 +307,7 @@ MULTIPLE_WEAKSELF (enabled by default),
MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE (enabled by
default),
Missing_fld (enabled by default),
-NULLPTR_DEREFERENCE (disabled by default),
+NULLPTR_DEREFERENCE (enabled by default),
NULL_DEREFERENCE (enabled by default),
OPTIONAL_EMPTY_ACCESS (disabled by default),
PARAMETER_NOT_NULL_CHECKED (enabled by default),
diff --git a/website/static/man/next/infer-run.1.html b/website/static/man/next/infer-run.1.html
index 8c6cc04cd..e0779052e 100644
--- a/website/static/man/next/infer-run.1.html
+++ b/website/static/man/next/infer-run.1.html
@@ -81,18 +81,18 @@ are specified, they are applied in the order in which they
are specified. Each filter is applied to each issue
detected, and only issues which are accepted by all filters
are reported. Each filter is of the form:
-’<issue_type_regex>:<filename_regex>:<reason_string>’.
+‘<issue_type_regex>:<filename_regex>:<reason_string>‘.
The first two components are OCaml Str regular expressions,
-with an optional ’!’ character prefix. If a
-regex has a ’!’ prefix, the polarity is
+with an optional ‘!‘ character prefix. If a
+regex has a ‘!‘ prefix, the polarity is
inverted, and the filter becomes a "blacklist"
instead of a "whitelist". Each filter is
interpreted as an implication: an issue matches if it does
-not match the ’issue_type_regex’ or if it does
-match the ’filename_regex’. The filenames that
+not match the ‘issue_type_regex‘ or if it does
+match the ‘filename_regex‘. The filenames that
are tested by the regex are relative to the
-’--project-root’ directory. The
-’<reason_string>’ is a non-empty string
+‘--project-root‘ directory. The
+‘<reason_string>‘ is a non-empty string
used to explain why the issue was filtered.
--debug,-g
diff --git a/website/static/man/next/infer.1.html b/website/static/man/next/infer.1.html
index f3f91f21d..695841d7a 100644
--- a/website/static/man/next/infer.1.html
+++ b/website/static/man/next/infer.1.html
@@ -121,12 +121,12 @@ reserved for internal use).
Activates: checker
annotation-reachability: Given a pair of source and sink
-annotation, e.g. ’@PerformanceCritical’ and
-’@Expensive’, this checker will warn whenever
+annotation, e.g. ‘@PerformanceCritical‘ and
+‘@Expensive‘, this checker will warn whenever
some method annotated with
-’@PerformanceCritical’ calls, directly or
+‘@PerformanceCritical‘ calls, directly or
indirectly, another method annotated with
-’@Expensive’ (Conversely:
+‘@Expensive‘ (Conversely:
--no-annotation-reachability)
See also
@@ -365,18 +365,18 @@ are specified, they are applied in the order in which they
are specified. Each filter is applied to each issue
detected, and only issues which are accepted by all filters
are reported. Each filter is of the form:
-’<issue_type_regex>:<filename_regex>:<reason_string>’.
+‘<issue_type_regex>:<filename_regex>:<reason_string>‘.
The first two components are OCaml Str regular expressions,
-with an optional ’!’ character prefix. If a
-regex has a ’!’ prefix, the polarity is
+with an optional ‘!‘ character prefix. If a
+regex has a ‘!‘ prefix, the polarity is
inverted, and the filter becomes a "blacklist"
instead of a "whitelist". Each filter is
interpreted as an implication: an issue matches if it does
-not match the ’issue_type_regex’ or if it does
-match the ’filename_regex’. The filenames that
+not match the ‘issue_type_regex‘ or if it does
+match the ‘filename_regex‘. The filenames that
are tested by the regex are relative to the
-’--project-root’ directory. The
-’<reason_string>’ is a non-empty string
+‘--project-root‘ directory. The
+‘<reason_string>‘ is a non-empty string
used to explain why the issue was filtered.
See also infer-report(1)
@@ -393,7 +393,8 @@ root or be absolute
--clang-biniou-file file
Specify a file containing the
-AST of the program, in biniou format
+AST of the program, in biniou format. Please note you still
+need to provide a compilation command.
See also
infer-capture(1).
@@ -419,6 +420,14 @@ each analysis has to model.
See also
infer-analyze(1) and infer-capture(1).
+--clang-yojson-filefile
+
+
Specify a file containing the
+AST of the program, in yojson format. Please note you still
+need to provide a compilation command.
+
+
See also
+infer-capture(1).
--compilation-database+path
File that contain compilation
@@ -478,7 +487,7 @@ given the same before. Not compatible with
Activates: checker cost:
Computes the time complexity of functions and methods. Can
be used to detect changes in runtime complexity with
-’infer reportdiff’. (Conversely:
+‘infer reportdiff‘. (Conversely:
--no-cost)
See also
@@ -496,6 +505,14 @@ a format suitable for cost tests to file
disable all other checkers (Conversely:
--no-cost-only)
+
See also
+infer-analyze(1).
+--no-cost-suppress-func-ptr
+
+
Deactivates: Suppress printing
+function pointers in cost reports (Conversely:
+--cost-suppress-func-ptr)
+
See also
infer-analyze(1).
--cost-tests-only-autoreleasepool
@@ -719,6 +736,7 @@ default),
DIVIDE_BY_ZERO (disabled by default),
DO_NOT_REPORT (enabled by default),
EMPTY_VECTOR_ACCESS (enabled by default),
+ERADICATE_ANNOTATION_GRAPH (enabled by default),
ERADICATE_BAD_NESTED_CLASS_ANNOTATION (enabled by default),
ERADICATE_CONDITION_REDUNDANT (enabled by default),
@@ -794,7 +812,7 @@ MULTIPLE_WEAKSELF (enabled by default),
MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE (enabled by
default),
Missing_fld (enabled by default),
-NULLPTR_DEREFERENCE (disabled by default),
+NULLPTR_DEREFERENCE (enabled by default),
NULL_DEREFERENCE (enabled by default),
OPTIONAL_EMPTY_ACCESS (disabled by default),
PARAMETER_NOT_NULL_CHECKED (enabled by default),
@@ -865,7 +883,7 @@ or off.
--eradicate
Activates: checker eradicate:
-The eradicate ’@Nullable’ checker for Java
+The eradicate ‘@Nullable‘ checker for Java
annotations. (Conversely: --no-eradicate)
See also
@@ -1067,9 +1085,9 @@ report. (Conversely: --no-html)
Activates: checker
immutable-cast: Detection of object cast from immutable
types to mutable types. For instance, it will detect casts
-from ’ImmutableList’ to ’List’,
-’ImmutableMap’ to ’Map’, and
-’ImmutableSet’ to ’Set’.
+from ‘ImmutableList‘ to ‘List‘,
+‘ImmutableMap‘ to ‘Map‘, and
+‘ImmutableSet‘ to ‘Set‘.
(Conversely: --no-immutable-cast)
See also
@@ -1263,7 +1281,7 @@ issue types that infer might report. (Conversely:
Activates: checker
litho-required-props: Checks that all non-optional
-’@Prop’s have been specified when constructing
+‘@Prop‘s have been specified when constructing
Litho components. (Conversely:
--no-litho-required-props)
Activates: checker printf-args:
-Detect mismatches between the Java ’printf’
+Detect mismatches between the Java ‘printf‘
format strings and the argument types For example, this
checker will warn about the type error in
-’printf("Hello %d",
-"world")’ (Conversely:
+‘printf("Hello %d",
+"world")‘ (Conversely:
--no-printf-args)
See also
@@ -1479,6 +1497,14 @@ found in the output of --procedures (Conversely:
of each procedure in the output of --procedures
(Conversely: --no-procedures-summary)
+
See also infer-debug(1).
+
+--procedures-summary-json
+
+
Activates: Emit the summaries
+of each procedure in the output of --procedures as
+JSON (Conversely: --no-procedures-summary-json)
+
See also infer-debug(1).
--no-progress-bar,-P
@@ -1789,18 +1815,18 @@ duplicate work between different analysis processes and thus
performs better in some circumstances
See also infer-analyze(1).
---selectN
+--select (N|all)
-
Select bug number N. If
-omitted, prompt for input.
+
Select option number N
+or all of them. If omitted, prompt for input.
-
See also
-infer-explore(1).
+
See also infer-debug(1)
+and infer-explore(1).
--no-self-in-block
Deactivates: checker
self-in-block: An Objective-C-specific analysis to detect
-when a block captures ’self’. (Conversely:
+when a block captures ‘self‘. (Conversely:
--self-in-block)
See also
@@ -2066,6 +2092,17 @@ json format and exit
See also infer-run(1).
+--workspacepath
+
+
Specifies the root of the
+workspace, which is a directory containing
+--project-root. This can be needed if the capture
+phase is expected to require several different
+project roots, all relative to a common workspace. Usually a
+single project root is enough, though.
+
+
See also
+infer-capture(1).
--write-websitepath_to_website_dir
Use to write website files
@@ -2079,7 +2116,7 @@ Infer directory to generate its website at
--Xbuck +string
Pass values as command-line
-arguments to invocations of ’buck build’.
+arguments to invocations of ‘buck build‘.
Only valid for --buck-clang.
See also
@@ -2087,7 +2124,7 @@ Only valid for --buck-clang.
--Xbuck-no-inline +string
Pass values as command-line
-arguments to invocations of ’buck build’,
+arguments to invocations of ‘buck build‘,
don't inline any args starting with '@'. Only valid for
--buck-clang.
@@ -2119,8 +2156,8 @@ isysroot directory, to avoid absolute paths in tests
Activates: Infer will use
xcpretty together with xcodebuild to analyze an iOS app.
xcpretty just needs to be in the path, infer command is
-still just ’infer -- <xcodebuild
-command>’. (Conversely:
+still just ‘infer -- <xcodebuild
+command>‘. (Conversely:
--no-xcpretty)
See also
@@ -2155,9 +2192,9 @@ may be passed to all infer commands using the
INFER_ARGS environment variable (see the
OPTIONS section). INFER_ARGS is expected to
contain a string of ^-separated options. For instance,
-calling ’INFER_ARGS=--debug^--print-logs infer’
-is equivalent to calling ’infer --debug
---print-logs’.
+calling ‘INFER_ARGS=--debug^--print-logs infer‘
+is equivalent to calling ‘infer --debug
+--print-logs‘.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ATDGenerated/Jsonbug_t/index.html b/website/static/odoc/next/infer/ATDGenerated/Jsonbug_t/index.html
index 2cc467e3c..7c6f2aec7 100644
--- a/website/static/odoc/next/infer/ATDGenerated/Jsonbug_t/index.html
+++ b/website/static/odoc/next/infer/ATDGenerated/Jsonbug_t/index.html
@@ -1,2 +1,2 @@
-Jsonbug_t (infer.ATDGenerated.Jsonbug_t)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ATDGenerated__Jsonbug_j/index.html b/website/static/odoc/next/infer/ATDGenerated__Jsonbug_j/index.html
index a2cc25cf6..7d7c2dafd 100644
--- a/website/static/odoc/next/infer/ATDGenerated__Jsonbug_j/index.html
+++ b/website/static/odoc/next/infer/ATDGenerated__Jsonbug_j/index.html
@@ -1,2 +1,2 @@
-ATDGenerated__Jsonbug_j (infer.ATDGenerated__Jsonbug_j)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ATDGenerated__Jsonbug_t/index.html b/website/static/odoc/next/infer/ATDGenerated__Jsonbug_t/index.html
index e6ec33de5..e30ee0d85 100644
--- a/website/static/odoc/next/infer/ATDGenerated__Jsonbug_t/index.html
+++ b/website/static/odoc/next/infer/ATDGenerated__Jsonbug_t/index.html
@@ -1,2 +1,2 @@
-ATDGenerated__Jsonbug_t (infer.ATDGenerated__Jsonbug_t)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Absint/HilExp/Access/index.html b/website/static/odoc/next/infer/Absint/HilExp/Access/index.html
index 39be1b893..b5489cd18 100644
--- a/website/static/odoc/next/infer/Absint/HilExp/Access/index.html
+++ b/website/static/odoc/next/infer/Absint/HilExp/Access/index.html
@@ -1,2 +1,2 @@
-Access (infer.Absint.HilExp.Access)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Absint/PatternMatch/ObjectiveC/index.html b/website/static/odoc/next/infer/Absint/PatternMatch/ObjectiveC/index.html
index 317e3dd61..3108e2ce1 100644
--- a/website/static/odoc/next/infer/Absint/PatternMatch/ObjectiveC/index.html
+++ b/website/static/odoc/next/infer/Absint/PatternMatch/ObjectiveC/index.html
@@ -1,2 +1,2 @@
-ObjectiveC (infer.Absint.PatternMatch.ObjectiveC)
Module PatternMatch.ObjectiveC
val implements : string ->IR.Tenv.t-> string -> bool
Check whether class implements a given ObjC class
val is_core_graphics_create_or_copy : IR.Tenv.t-> string -> bool
val is_core_foundation_create_or_copy : IR.Tenv.t-> string -> bool
val is_core_graphics_release : IR.Tenv.t-> string -> bool
val is_modelled_as_alloc : IR.Tenv.t-> string -> bool
val is_modelled_as_release : IR.Tenv.t-> string -> bool
\ No newline at end of file
+ObjectiveC (infer.Absint.PatternMatch.ObjectiveC)
Module PatternMatch.ObjectiveC
val implements : string ->IR.Tenv.t-> string -> bool
Check whether class implements a given ObjC class
val conforms_to : protocol:string->IR.Tenv.t-> string -> bool
Check whether class conforms to a given ObjC protocol
val implements_collection : IR.Tenv.t-> string -> bool
val is_core_graphics_create_or_copy : IR.Tenv.t-> string -> bool
val is_core_foundation_create_or_copy : IR.Tenv.t-> string -> bool
val is_core_graphics_release : IR.Tenv.t-> string -> bool
val is_modelled_as_alloc : IR.Tenv.t-> string -> bool
val is_modelled_as_release : IR.Tenv.t-> string -> bool
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Absint/PatternMatch/index.html b/website/static/odoc/next/infer/Absint/PatternMatch/index.html
index bee3028dd..a3eefed13 100644
--- a/website/static/odoc/next/infer/Absint/PatternMatch/index.html
+++ b/website/static/odoc/next/infer/Absint/PatternMatch/index.html
@@ -1,2 +1,2 @@
-PatternMatch (infer.Absint.PatternMatch)
Return true if applying the given predicate to an override of procname (including procname itself when check_current_type is true, which it is by default) returns true.
Return true if applying the given predicate to an override of procname (including procname itself when check_current_type is true, which it is by default) returns true.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Absint__HilExp/Access/index.html b/website/static/odoc/next/infer/Absint__HilExp/Access/index.html
index 35a3f6d3f..32c03cb8e 100644
--- a/website/static/odoc/next/infer/Absint__HilExp/Access/index.html
+++ b/website/static/odoc/next/infer/Absint__HilExp/Access/index.html
@@ -1,2 +1,2 @@
-Access (infer.Absint__HilExp.Access)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Absint__PatternMatch/ObjectiveC/index.html b/website/static/odoc/next/infer/Absint__PatternMatch/ObjectiveC/index.html
index 8c938d330..88f37fc5b 100644
--- a/website/static/odoc/next/infer/Absint__PatternMatch/ObjectiveC/index.html
+++ b/website/static/odoc/next/infer/Absint__PatternMatch/ObjectiveC/index.html
@@ -1,2 +1,2 @@
-ObjectiveC (infer.Absint__PatternMatch.ObjectiveC)
Module Absint__PatternMatch.ObjectiveC
val implements : string ->IR.Tenv.t-> string -> bool
Check whether class implements a given ObjC class
val is_core_graphics_create_or_copy : IR.Tenv.t-> string -> bool
val is_core_foundation_create_or_copy : IR.Tenv.t-> string -> bool
val is_core_graphics_release : IR.Tenv.t-> string -> bool
val is_modelled_as_alloc : IR.Tenv.t-> string -> bool
val is_modelled_as_release : IR.Tenv.t-> string -> bool
\ No newline at end of file
+ObjectiveC (infer.Absint__PatternMatch.ObjectiveC)
Module Absint__PatternMatch.ObjectiveC
val implements : string ->IR.Tenv.t-> string -> bool
Check whether class implements a given ObjC class
val conforms_to : protocol:string->IR.Tenv.t-> string -> bool
Check whether class conforms to a given ObjC protocol
val implements_collection : IR.Tenv.t-> string -> bool
val is_core_graphics_create_or_copy : IR.Tenv.t-> string -> bool
val is_core_foundation_create_or_copy : IR.Tenv.t-> string -> bool
val is_core_graphics_release : IR.Tenv.t-> string -> bool
val is_modelled_as_alloc : IR.Tenv.t-> string -> bool
val is_modelled_as_release : IR.Tenv.t-> string -> bool
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Absint__PatternMatch/index.html b/website/static/odoc/next/infer/Absint__PatternMatch/index.html
index 6d6d10df3..a3e738b2c 100644
--- a/website/static/odoc/next/infer/Absint__PatternMatch/index.html
+++ b/website/static/odoc/next/infer/Absint__PatternMatch/index.html
@@ -1,2 +1,2 @@
-Absint__PatternMatch (infer.Absint__PatternMatch)
Return true if applying the given predicate to an override of procname (including procname itself when check_current_type is true, which it is by default) returns true.
Return true if applying the given predicate to an override of procname (including procname itself when check_current_type is true, which it is by default) returns true.
\ No newline at end of file
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 7e094f4d4..29f3183c9 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)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO/AbsLoc/PowLoc/index.html b/website/static/odoc/next/infer/BO/AbsLoc/PowLoc/index.html
index 725857151..29109165a 100644
--- a/website/static/odoc/next/infer/BO/AbsLoc/PowLoc/index.html
+++ b/website/static/odoc/next/infer/BO/AbsLoc/PowLoc/index.html
@@ -1,2 +1,2 @@
-PowLoc (infer.BO.AbsLoc.PowLoc)
val get_linked_list_next : lhs:t->rhs:t->Loc.t option
It checks whether rhs is of lhs.any_field, which is a heuristic for detecting a linked list, e.g. x = x.next(). It returns Some lhs if the condition is satisfied, None otherwise.
\ No newline at end of file
+PowLoc (infer.BO.AbsLoc.PowLoc)
val get_linked_list_next : lhs:t->rhs:t->Loc.t option
It checks whether rhs is of lhs.any_field, which is a heuristic for detecting a linked list, e.g. x = x.next(). It returns Some lhs if the condition is satisfied, None otherwise.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO/ArrayBlk/index.html b/website/static/odoc/next/infer/BO/ArrayBlk/index.html
index 92a2da8de..f18d0d19c 100644
--- a/website/static/odoc/next/infer/BO/ArrayBlk/index.html
+++ b/website/static/odoc/next/infer/BO/ArrayBlk/index.html
@@ -1,2 +1,2 @@
-ArrayBlk (infer.BO.ArrayBlk)
Lift a comparison of Itv.t and Loc.t to that of t. The comparison for Itv.t is used for integer values such as offset and size, and the comparison for Loc.t is used for allocsites.
Substitute symbolic abstract locations and symbolic interval value in the array block. eval_sym is to get substituted interval values and eval_locpath is to get substituted abstract locaion values. It also returns a set of abstract locations containing non-allocsite locations from the substitution results. Since the key of ArrayBlk.t is AbsLoc.Allocsite.t, they cannot be written in this domain.
Lift a comparison of Itv.t and Loc.t to that of t. The comparison for Itv.t is used for integer values such as offset and size, and the comparison for Loc.t is used for allocsites.
Substitute symbolic abstract locations and symbolic interval value in the array block. eval_sym is to get substituted interval values and eval_locpath is to get substituted abstract locaion values. It also returns a set of abstract locations containing non-allocsite locations from the substitution results. Since the key of ArrayBlk.t is AbsLoc.Allocsite.t, they cannot be written in this domain.
Return size of the array block. If cost_mode is true, it returns a conservative (bigger than correct one), but not correct size results.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO/BufferOverrunDomain/Mem/index.html b/website/static/odoc/next/infer/BO/BufferOverrunDomain/Mem/index.html
index 81872d21a..6bc4a0996 100644
--- a/website/static/odoc/next/infer/BO/BufferOverrunDomain/Mem/index.html
+++ b/website/static/odoc/next/infer/BO/BufferOverrunDomain/Mem/index.html
@@ -1,2 +1,2 @@
-Mem (infer.BO.BufferOverrunDomain.Mem)
Module BufferOverrunDomain.Mem
type'has_oenv t0 =
| Unreachable
Memory of unreachable node
| ExcRaised
Memory of node that can be reachable only with exception raises that we want to ignore
In C string, unset the index of the first null character, i.e., end of string, when called by unset_first_idx_of_null loc_to_string index_value mem. This is unsound because the index can be assigned as previous index + 1 that is a heuristic to keep string lengths in some loops.
Find size aliases between given ident. It returns a list of four elements, alias type == or >=, location x, integer i, java temporary variable $irvar0. This represents id == $irvar0 (== or >=) x.size() + i.
Update size aliases when the size of loc is increased by one. For example if there was an alias ident == loc.size() + i, this changes it to ident == loc.size() + i - 1, since loc.size() has been increased.
Update size aliases when the size of loc may be increased by one. For example if there was an alias ident == loc.size() + i, this changes it to ident >= loc.size() + i - 1
Add a map from locations to a value. If the given set of locations is a singleton set and the only element represents one concrete abstract location, it does strong update. Otherwise, weak update.
In C string, unset the index of the first null character, i.e., end of string, when called by unset_first_idx_of_null loc_to_string index_value mem. This is unsound because the index can be assigned as previous index + 1 that is a heuristic to keep string lengths in some loops.
Find size aliases between given ident. It returns a list of four elements, alias type == or >=, location x, integer i, java temporary variable $irvar0. This represents id == $irvar0 (== or >=) x.size() + i.
Update size aliases when the size of loc is increased by one. For example if there was an alias ident == loc.size() + i, this changes it to ident == loc.size() + i - 1, since loc.size() has been increased.
Update size aliases when the size of loc may be increased by one. For example if there was an alias ident == loc.size() + i, this changes it to ident >= loc.size() + i - 1
Add a map from locations to a value. If the given set of locations is a singleton set and the only element represents one concrete abstract location, it does strong update. Otherwise, weak update.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO/BufferOverrunDomain/Val/index.html b/website/static/odoc/next/infer/BO/BufferOverrunDomain/Val/index.html
index a85fd8476..5928c80ad 100644
--- a/website/static/odoc/next/infer/BO/BufferOverrunDomain/Val/index.html
+++ b/website/static/odoc/next/infer/BO/BufferOverrunDomain/Val/index.html
@@ -1,2 +1,2 @@
-Val (infer.BO.BufferOverrunDomain.Val)
Construct C array allocation. stride is a byte size of cell, offset is initial offset of pointer which is usually zero, and size is a total number of cells.
Construct C array allocation. stride is a byte size of cell, offset is initial offset of pointer which is usually zero, and size is a total number of cells.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO/BufferOverrunSemantics/index.html b/website/static/odoc/next/infer/BO/BufferOverrunSemantics/index.html
index c7753cd9c..ff8c7ef35 100644
--- a/website/static/odoc/next/infer/BO/BufferOverrunSemantics/index.html
+++ b/website/static/odoc/next/infer/BO/BufferOverrunSemantics/index.html
@@ -1,2 +1,2 @@
-BufferOverrunSemantics (infer.BO.BufferOverrunSemantics)
Return the array value of the input expression. For example, when x is a program variable, eval_arr x returns array blocks the x is pointing to, on the other hand, eval x returns the abstract location of x.
Evaluate the array length conservatively, which is useful when there are multiple array locations and their lengths are joined to top. For example, if the arr_locs points to two arrays a and b and if their lengths are a.length and b.length, this function evaluates its length as [0, a.length.ub + b.length.ub].
type eval_mode =
| EvalNormal
Given a symbolic value of an unknown function Symb.SymbolPath.Callsite, it returns a symbolic interval value.
| EvalPOCond
Given a symbolic value of an unknown function, it returns the top interval value. This is used when substituting condition expressions of proof obligations.
| EvalPOReachability
This is similar to EvalPOCond, but it returns the bottom location, instead of the unknown location, when a location to substitute is not found. This is used when substituting reachabilities of proof obligations.
| EvalCost
This is similar to EvalNormal, but it is designed to be used in substitutions of the cost results, avoiding precision loss by joining of symbolic values. Normal join of two different symbolic values, s1 and s2, becomes top due to the limitation of our domain. On the other hand, in this mode, it returns an upperbound s1+s2 for the case, because the cost values only care about the upperbounds.
Return the array value of the input expression. For example, when x is a program variable, eval_arr x returns array blocks the x is pointing to, on the other hand, eval x returns the abstract location of x.
Evaluate the array length conservatively, which is useful when there are multiple array locations and their lengths are joined to top. For example, if the arr_locs points to two arrays a and b and if their lengths are a.length and b.length, this function evaluates its length as [0, a.length.ub + b.length.ub].
type eval_mode =
| EvalNormal
Given a symbolic value of an unknown function Symb.SymbolPath.Callsite, it returns a symbolic interval value.
| EvalPOCond
Given a symbolic value of an unknown function, it returns the top interval value. This is used when substituting condition expressions of proof obligations.
| EvalPOReachability
This is similar to EvalPOCond, but it returns the bottom location, instead of the unknown location, when a location to substitute is not found. This is used when substituting reachabilities of proof obligations.
| EvalCost
This is similar to EvalNormal, but it is designed to be used in substitutions of the cost results, avoiding precision loss by joining of symbolic values. Normal join of two different symbolic values, s1 and s2, becomes top due to the limitation of our domain. On the other hand, in this mode, it returns an upperbound s1+s2 for the case, because the cost values only care about the upperbounds.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO/Polynomials/NonNegativePolynomial/index.html b/website/static/odoc/next/infer/BO/Polynomials/NonNegativePolynomial/index.html
index cff542671..557e2ed2c 100644
--- a/website/static/odoc/next/infer/BO/Polynomials/NonNegativePolynomial/index.html
+++ b/website/static/odoc/next/infer/BO/Polynomials/NonNegativePolynomial/index.html
@@ -1,2 +1,2 @@
-NonNegativePolynomial (infer.BO.Polynomials.NonNegativePolynomial)
\ No newline at end of file
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 cab5e7b9b..00129c2fc 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)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO__AbsLoc/PowLoc/index.html b/website/static/odoc/next/infer/BO__AbsLoc/PowLoc/index.html
index 1e7cdec57..aa208b178 100644
--- a/website/static/odoc/next/infer/BO__AbsLoc/PowLoc/index.html
+++ b/website/static/odoc/next/infer/BO__AbsLoc/PowLoc/index.html
@@ -1,2 +1,2 @@
-PowLoc (infer.BO__AbsLoc.PowLoc)
val get_linked_list_next : lhs:t->rhs:t->Loc.t option
It checks whether rhs is of lhs.any_field, which is a heuristic for detecting a linked list, e.g. x = x.next(). It returns Some lhs if the condition is satisfied, None otherwise.
\ No newline at end of file
+PowLoc (infer.BO__AbsLoc.PowLoc)
val get_linked_list_next : lhs:t->rhs:t->Loc.t option
It checks whether rhs is of lhs.any_field, which is a heuristic for detecting a linked list, e.g. x = x.next(). It returns Some lhs if the condition is satisfied, None otherwise.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO__ArrayBlk/index.html b/website/static/odoc/next/infer/BO__ArrayBlk/index.html
index c985d7947..6e0b27a90 100644
--- a/website/static/odoc/next/infer/BO__ArrayBlk/index.html
+++ b/website/static/odoc/next/infer/BO__ArrayBlk/index.html
@@ -1,2 +1,2 @@
-BO__ArrayBlk (infer.BO__ArrayBlk)
Lift a comparison of Itv.t and Loc.t to that of t. The comparison for Itv.t is used for integer values such as offset and size, and the comparison for Loc.t is used for allocsites.
Substitute symbolic abstract locations and symbolic interval value in the array block. eval_sym is to get substituted interval values and eval_locpath is to get substituted abstract locaion values. It also returns a set of abstract locations containing non-allocsite locations from the substitution results. Since the key of ArrayBlk.t is AbsLoc.Allocsite.t, they cannot be written in this domain.
Lift a comparison of Itv.t and Loc.t to that of t. The comparison for Itv.t is used for integer values such as offset and size, and the comparison for Loc.t is used for allocsites.
Substitute symbolic abstract locations and symbolic interval value in the array block. eval_sym is to get substituted interval values and eval_locpath is to get substituted abstract locaion values. It also returns a set of abstract locations containing non-allocsite locations from the substitution results. Since the key of ArrayBlk.t is AbsLoc.Allocsite.t, they cannot be written in this domain.
Return size of the array block. If cost_mode is true, it returns a conservative (bigger than correct one), but not correct size results.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO__BufferOverrunDomain/Mem/index.html b/website/static/odoc/next/infer/BO__BufferOverrunDomain/Mem/index.html
index bb8cf387c..07149e5cc 100644
--- a/website/static/odoc/next/infer/BO__BufferOverrunDomain/Mem/index.html
+++ b/website/static/odoc/next/infer/BO__BufferOverrunDomain/Mem/index.html
@@ -1,2 +1,2 @@
-Mem (infer.BO__BufferOverrunDomain.Mem)
Module BO__BufferOverrunDomain.Mem
type'has_oenv t0 =
| Unreachable
Memory of unreachable node
| ExcRaised
Memory of node that can be reachable only with exception raises that we want to ignore
In C string, unset the index of the first null character, i.e., end of string, when called by unset_first_idx_of_null loc_to_string index_value mem. This is unsound because the index can be assigned as previous index + 1 that is a heuristic to keep string lengths in some loops.
Find size aliases between given ident. It returns a list of four elements, alias type == or >=, location x, integer i, java temporary variable $irvar0. This represents id == $irvar0 (== or >=) x.size() + i.
Update size aliases when the size of loc is increased by one. For example if there was an alias ident == loc.size() + i, this changes it to ident == loc.size() + i - 1, since loc.size() has been increased.
Update size aliases when the size of loc may be increased by one. For example if there was an alias ident == loc.size() + i, this changes it to ident >= loc.size() + i - 1
Add a map from locations to a value. If the given set of locations is a singleton set and the only element represents one concrete abstract location, it does strong update. Otherwise, weak update.
In C string, unset the index of the first null character, i.e., end of string, when called by unset_first_idx_of_null loc_to_string index_value mem. This is unsound because the index can be assigned as previous index + 1 that is a heuristic to keep string lengths in some loops.
Find size aliases between given ident. It returns a list of four elements, alias type == or >=, location x, integer i, java temporary variable $irvar0. This represents id == $irvar0 (== or >=) x.size() + i.
Update size aliases when the size of loc is increased by one. For example if there was an alias ident == loc.size() + i, this changes it to ident == loc.size() + i - 1, since loc.size() has been increased.
Update size aliases when the size of loc may be increased by one. For example if there was an alias ident == loc.size() + i, this changes it to ident >= loc.size() + i - 1
Add a map from locations to a value. If the given set of locations is a singleton set and the only element represents one concrete abstract location, it does strong update. Otherwise, weak update.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO__BufferOverrunDomain/Val/index.html b/website/static/odoc/next/infer/BO__BufferOverrunDomain/Val/index.html
index b27a4c060..59dd22878 100644
--- a/website/static/odoc/next/infer/BO__BufferOverrunDomain/Val/index.html
+++ b/website/static/odoc/next/infer/BO__BufferOverrunDomain/Val/index.html
@@ -1,2 +1,2 @@
-Val (infer.BO__BufferOverrunDomain.Val)
Construct C array allocation. stride is a byte size of cell, offset is initial offset of pointer which is usually zero, and size is a total number of cells.
Construct C array allocation. stride is a byte size of cell, offset is initial offset of pointer which is usually zero, and size is a total number of cells.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO__BufferOverrunSemantics/index.html b/website/static/odoc/next/infer/BO__BufferOverrunSemantics/index.html
index a9e71c195..50827f500 100644
--- a/website/static/odoc/next/infer/BO__BufferOverrunSemantics/index.html
+++ b/website/static/odoc/next/infer/BO__BufferOverrunSemantics/index.html
@@ -1,2 +1,2 @@
-BO__BufferOverrunSemantics (infer.BO__BufferOverrunSemantics)
Return the array value of the input expression. For example, when x is a program variable, eval_arr x returns array blocks the x is pointing to, on the other hand, eval x returns the abstract location of x.
Evaluate the array length conservatively, which is useful when there are multiple array locations and their lengths are joined to top. For example, if the arr_locs points to two arrays a and b and if their lengths are a.length and b.length, this function evaluates its length as [0, a.length.ub + b.length.ub].
type eval_mode =
| EvalNormal
Given a symbolic value of an unknown function Symb.SymbolPath.Callsite, it returns a symbolic interval value.
| EvalPOCond
Given a symbolic value of an unknown function, it returns the top interval value. This is used when substituting condition expressions of proof obligations.
| EvalPOReachability
This is similar to EvalPOCond, but it returns the bottom location, instead of the unknown location, when a location to substitute is not found. This is used when substituting reachabilities of proof obligations.
| EvalCost
This is similar to EvalNormal, but it is designed to be used in substitutions of the cost results, avoiding precision loss by joining of symbolic values. Normal join of two different symbolic values, s1 and s2, becomes top due to the limitation of our domain. On the other hand, in this mode, it returns an upperbound s1+s2 for the case, because the cost values only care about the upperbounds.
Return the array value of the input expression. For example, when x is a program variable, eval_arr x returns array blocks the x is pointing to, on the other hand, eval x returns the abstract location of x.
Evaluate the array length conservatively, which is useful when there are multiple array locations and their lengths are joined to top. For example, if the arr_locs points to two arrays a and b and if their lengths are a.length and b.length, this function evaluates its length as [0, a.length.ub + b.length.ub].
type eval_mode =
| EvalNormal
Given a symbolic value of an unknown function Symb.SymbolPath.Callsite, it returns a symbolic interval value.
| EvalPOCond
Given a symbolic value of an unknown function, it returns the top interval value. This is used when substituting condition expressions of proof obligations.
| EvalPOReachability
This is similar to EvalPOCond, but it returns the bottom location, instead of the unknown location, when a location to substitute is not found. This is used when substituting reachabilities of proof obligations.
| EvalCost
This is similar to EvalNormal, but it is designed to be used in substitutions of the cost results, avoiding precision loss by joining of symbolic values. Normal join of two different symbolic values, s1 and s2, becomes top due to the limitation of our domain. On the other hand, in this mode, it returns an upperbound s1+s2 for the case, because the cost values only care about the upperbounds.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/BO__Polynomials/NonNegativePolynomial/index.html b/website/static/odoc/next/infer/BO__Polynomials/NonNegativePolynomial/index.html
index 8bd8eff8b..5fd8553fa 100644
--- a/website/static/odoc/next/infer/BO__Polynomials/NonNegativePolynomial/index.html
+++ b/website/static/odoc/next/infer/BO__Polynomials/NonNegativePolynomial/index.html
@@ -1,2 +1,2 @@
-NonNegativePolynomial (infer.BO__Polynomials.NonNegativePolynomial)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Backend/ClosuresSubstitution/Domain/index.html b/website/static/odoc/next/infer/Backend/ClosuresSubstitution/Domain/index.html
index f1bf71515..c14afbe9e 100644
--- a/website/static/odoc/next/infer/Backend/ClosuresSubstitution/Domain/index.html
+++ b/website/static/odoc/next/infer/Backend/ClosuresSubstitution/Domain/index.html
@@ -1,2 +1,2 @@
-Domain (infer.Backend.ClosuresSubstitution.Domain)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Backend/ClosuresSubstitution/index.html b/website/static/odoc/next/infer/Backend/ClosuresSubstitution/index.html
index fe3af23c5..65455a8df 100644
--- a/website/static/odoc/next/infer/Backend/ClosuresSubstitution/index.html
+++ b/website/static/odoc/next/infer/Backend/ClosuresSubstitution/index.html
@@ -1,2 +1,2 @@
-ClosuresSubstitution (infer.Backend.ClosuresSubstitution)
replace_closure_param propagates closures to function parameters, so that more functions are specialized by CCallSpecializedWithClosures.process. Note that unlike replace_closure_call running at the analysis phase, replace_closure_param should run before CCallSpecializedWithClosures.process at the capture phase.
replace_closure_param propagates closures to function parameters, so that more functions are specialized by CCallSpecializedWithClosures.process. Note that unlike replace_closure_call running at the analysis phase, replace_closure_param should run before CCallSpecializedWithClosures.process at the capture phase.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Backend/Payloads/index.html b/website/static/odoc/next/infer/Backend/Payloads/index.html
index eac08c490..658e974fa 100644
--- a/website/static/odoc/next/infer/Backend/Payloads/index.html
+++ b/website/static/odoc/next/infer/Backend/Payloads/index.html
@@ -1,2 +1,2 @@
-Payloads (infer.Backend.Payloads)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Backend/Summary/index.html b/website/static/odoc/next/infer/Backend/Summary/index.html
index ef229b8c2..172d8b648 100644
--- a/website/static/odoc/next/infer/Backend/Summary/index.html
+++ b/website/static/odoc/next/infer/Backend/Summary/index.html
@@ -1,2 +1,2 @@
-Summary (infer.Backend.Summary)
Those are issues that are detected for this procedure after per-procedure analysis. In addition to that there can be errors detected after file-level analysis (next stage after per-procedure analysis). This latter category of errors should NOT be written here, use IssueLog and its serialization capabilities instead.
Those are issues that are detected for this procedure after per-procedure analysis. In addition to that there can be errors detected after file-level analysis (next stage after per-procedure analysis). This latter category of errors should NOT be written here, use IssueLog and its serialization capabilities instead.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Backend__ClosuresSubstitution/Domain/index.html b/website/static/odoc/next/infer/Backend__ClosuresSubstitution/Domain/index.html
index 42cfd111a..db09e6dcf 100644
--- a/website/static/odoc/next/infer/Backend__ClosuresSubstitution/Domain/index.html
+++ b/website/static/odoc/next/infer/Backend__ClosuresSubstitution/Domain/index.html
@@ -1,2 +1,2 @@
-Domain (infer.Backend__ClosuresSubstitution.Domain)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Backend__ClosuresSubstitution/index.html b/website/static/odoc/next/infer/Backend__ClosuresSubstitution/index.html
index 71eb7ddbc..aa5c490fb 100644
--- a/website/static/odoc/next/infer/Backend__ClosuresSubstitution/index.html
+++ b/website/static/odoc/next/infer/Backend__ClosuresSubstitution/index.html
@@ -1,2 +1,2 @@
-Backend__ClosuresSubstitution (infer.Backend__ClosuresSubstitution)
replace_closure_param propagates closures to function parameters, so that more functions are specialized by CCallSpecializedWithClosures.process. Note that unlike replace_closure_call running at the analysis phase, replace_closure_param should run before CCallSpecializedWithClosures.process at the capture phase.
replace_closure_param propagates closures to function parameters, so that more functions are specialized by CCallSpecializedWithClosures.process. Note that unlike replace_closure_call running at the analysis phase, replace_closure_param should run before CCallSpecializedWithClosures.process at the capture phase.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Backend__Payloads/index.html b/website/static/odoc/next/infer/Backend__Payloads/index.html
index 99b0a2c55..cddb1974e 100644
--- a/website/static/odoc/next/infer/Backend__Payloads/index.html
+++ b/website/static/odoc/next/infer/Backend__Payloads/index.html
@@ -1,2 +1,2 @@
-Backend__Payloads (infer.Backend__Payloads)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Backend__Summary/index.html b/website/static/odoc/next/infer/Backend__Summary/index.html
index 3fc61c4c7..40e7198d6 100644
--- a/website/static/odoc/next/infer/Backend__Summary/index.html
+++ b/website/static/odoc/next/infer/Backend__Summary/index.html
@@ -1,2 +1,2 @@
-Backend__Summary (infer.Backend__Summary)
Those are issues that are detected for this procedure after per-procedure analysis. In addition to that there can be errors detected after file-level analysis (next stage after per-procedure analysis). This latter category of errors should NOT be written here, use IssueLog and its serialization capabilities instead.
Those are issues that are detected for this procedure after per-procedure analysis. In addition to that there can be errors detected after file-level analysis (next stage after per-procedure analysis). This latter category of errors should NOT be written here, use IssueLog and its serialization capabilities instead.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ClangFrontend/CTrans_utils/Self/index.html b/website/static/odoc/next/infer/ClangFrontend/CTrans_utils/Self/index.html
index be17ae9db..ffa18a8e8 100644
--- a/website/static/odoc/next/infer/ClangFrontend/CTrans_utils/Self/index.html
+++ b/website/static/odoc/next/infer/ClangFrontend/CTrans_utils/Self/index.html
@@ -1,2 +1,2 @@
-Self (infer.ClangFrontend.CTrans_utils.Self)
Module CTrans_utils.Self
This module handles the translation of the variable self which is challenging because self is used both as a variable in instance method calls and also as a type in class method calls.
\ No newline at end of file
+Self (infer.ClangFrontend.CTrans_utils.Self)
Module CTrans_utils.Self
This module handles the translation of the variable self which is challenging because self is used both as a variable in instance method calls and also as a type in class method calls.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ClangFrontend/CTrans_utils/index.html b/website/static/odoc/next/infer/ClangFrontend/CTrans_utils/index.html
index 82b4bf01b..3fc466334 100644
--- a/website/static/odoc/next/infer/ClangFrontend/CTrans_utils/index.html
+++ b/website/static/odoc/next/infer/ClangFrontend/CTrans_utils/index.html
@@ -1,2 +1,2 @@
-CTrans_utils (infer.ClangFrontend.CTrans_utils)
list of expressions that are initialised by the instructions
}
Part of the translation result that is (loosely) related to control flow graph construction. More importantly, this is the part of a trans_result that some internal translation functions work on when constructing a trans_result before the other components of the translation result are available (such as the return expression). This is made into a separate type to make intermediate computations easier to write and easier to typecheck.
in the specific case of translating a method call in C++, we get the method name called at the same time we get the this object that contains the method. The this instance object is returned as the return field, while the method to call is filled in here. This field is None in all other cases.
is_cpp_call_virtual : bool;
}
A translation result. It is returned by the translation function.
priority_node is used to enforce some kind of policy for creating nodes in the cfg. Certain elements of the AST _must_ create nodes therefore there is no need for them to use priority_node. Certain elements instead need or need not to create a node depending of certain factors. When an element of the latter kind wants to create a node it must claim priority first (like taking a lock). priority can be claimes only when it is free. If an element of AST succedes in claiming priority its id (pointer) is recorded in priority. After an element has finished it frees the priority. In general an AST element E checks if an ancestor has claimed priority. If priority is already claimed E does not have to create a node. If priority is free then it means E has to create the node. Then E claims priority and release it afterward.
This module handles the translation of the variable self which is challenging because self is used both as a variable in instance method calls and also as a type in class method calls.
list of expressions that are initialised by the instructions
}
Part of the translation result that is (loosely) related to control flow graph construction. More importantly, this is the part of a trans_result that some internal translation functions work on when constructing a trans_result before the other components of the translation result are available (such as the return expression). This is made into a separate type to make intermediate computations easier to write and easier to typecheck.
in the specific case of translating a method call in C++, we get the method name called at the same time we get the this object that contains the method. The this instance object is returned as the return field, while the method to call is filled in here. This field is None in all other cases.
is_cpp_call_virtual : bool;
}
A translation result. It is returned by the translation function.
priority_node is used to enforce some kind of policy for creating nodes in the cfg. Certain elements of the AST _must_ create nodes therefore there is no need for them to use priority_node. Certain elements instead need or need not to create a node depending of certain factors. When an element of the latter kind wants to create a node it must claim priority first (like taking a lock). priority can be claimes only when it is free. If an element of AST succedes in claiming priority its id (pointer) is recorded in priority. After an element has finished it frees the priority. In general an AST element E checks if an ancestor has claimed priority. If priority is already claimed E does not have to create a node. If priority is free then it means E has to create the node. Then E claims priority and release it afterward.
This module handles the translation of the variable self which is challenging because self is used both as a variable in instance method calls and also as a type in class method calls.
Return a class name when the first parameter should be removed according to its context, for example, when self or [x class] is given as the first parameter for a class method.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ClangFrontend/CType/index.html b/website/static/odoc/next/infer/ClangFrontend/CType/index.html
index e9426cdf8..647a3825e 100644
--- a/website/static/odoc/next/infer/ClangFrontend/CType/index.html
+++ b/website/static/odoc/next/infer/ClangFrontend/CType/index.html
@@ -1,2 +1,2 @@
-CType (infer.ClangFrontend.CType)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ClangFrontend/CType_decl/index.html b/website/static/odoc/next/infer/ClangFrontend/CType_decl/index.html
index 1c890df3f..4610bcfa6 100644
--- a/website/static/odoc/next/infer/ClangFrontend/CType_decl/index.html
+++ b/website/static/odoc/next/infer/ClangFrontend/CType_decl/index.html
@@ -1,2 +1,2 @@
-CType_decl (infer.ClangFrontend.CType_decl)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ClangFrontend/CVar_decl/index.html b/website/static/odoc/next/infer/ClangFrontend/CVar_decl/index.html
index 060059d1b..f33b76aab 100644
--- a/website/static/odoc/next/infer/ClangFrontend/CVar_decl/index.html
+++ b/website/static/odoc/next/infer/ClangFrontend/CVar_decl/index.html
@@ -1,2 +1,2 @@
-CVar_decl (infer.ClangFrontend.CVar_decl)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ClangFrontend__CTrans_utils/Self/index.html b/website/static/odoc/next/infer/ClangFrontend__CTrans_utils/Self/index.html
index e2a5bde5e..942f0d6c4 100644
--- a/website/static/odoc/next/infer/ClangFrontend__CTrans_utils/Self/index.html
+++ b/website/static/odoc/next/infer/ClangFrontend__CTrans_utils/Self/index.html
@@ -1,2 +1,2 @@
-Self (infer.ClangFrontend__CTrans_utils.Self)
Module ClangFrontend__CTrans_utils.Self
This module handles the translation of the variable self which is challenging because self is used both as a variable in instance method calls and also as a type in class method calls.
\ No newline at end of file
+Self (infer.ClangFrontend__CTrans_utils.Self)
Module ClangFrontend__CTrans_utils.Self
This module handles the translation of the variable self which is challenging because self is used both as a variable in instance method calls and also as a type in class method calls.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ClangFrontend__CTrans_utils/index.html b/website/static/odoc/next/infer/ClangFrontend__CTrans_utils/index.html
index 5b11b19a2..d0ec04eb7 100644
--- a/website/static/odoc/next/infer/ClangFrontend__CTrans_utils/index.html
+++ b/website/static/odoc/next/infer/ClangFrontend__CTrans_utils/index.html
@@ -1,2 +1,2 @@
-ClangFrontend__CTrans_utils (infer.ClangFrontend__CTrans_utils)
list of expressions that are initialised by the instructions
}
Part of the translation result that is (loosely) related to control flow graph construction. More importantly, this is the part of a trans_result that some internal translation functions work on when constructing a trans_result before the other components of the translation result are available (such as the return expression). This is made into a separate type to make intermediate computations easier to write and easier to typecheck.
in the specific case of translating a method call in C++, we get the method name called at the same time we get the this object that contains the method. The this instance object is returned as the return field, while the method to call is filled in here. This field is None in all other cases.
is_cpp_call_virtual : bool;
}
A translation result. It is returned by the translation function.
priority_node is used to enforce some kind of policy for creating nodes in the cfg. Certain elements of the AST _must_ create nodes therefore there is no need for them to use priority_node. Certain elements instead need or need not to create a node depending of certain factors. When an element of the latter kind wants to create a node it must claim priority first (like taking a lock). priority can be claimes only when it is free. If an element of AST succedes in claiming priority its id (pointer) is recorded in priority. After an element has finished it frees the priority. In general an AST element E checks if an ancestor has claimed priority. If priority is already claimed E does not have to create a node. If priority is free then it means E has to create the node. Then E claims priority and release it afterward.
This module handles the translation of the variable self which is challenging because self is used both as a variable in instance method calls and also as a type in class method calls.
list of expressions that are initialised by the instructions
}
Part of the translation result that is (loosely) related to control flow graph construction. More importantly, this is the part of a trans_result that some internal translation functions work on when constructing a trans_result before the other components of the translation result are available (such as the return expression). This is made into a separate type to make intermediate computations easier to write and easier to typecheck.
in the specific case of translating a method call in C++, we get the method name called at the same time we get the this object that contains the method. The this instance object is returned as the return field, while the method to call is filled in here. This field is None in all other cases.
is_cpp_call_virtual : bool;
}
A translation result. It is returned by the translation function.
priority_node is used to enforce some kind of policy for creating nodes in the cfg. Certain elements of the AST _must_ create nodes therefore there is no need for them to use priority_node. Certain elements instead need or need not to create a node depending of certain factors. When an element of the latter kind wants to create a node it must claim priority first (like taking a lock). priority can be claimes only when it is free. If an element of AST succedes in claiming priority its id (pointer) is recorded in priority. After an element has finished it frees the priority. In general an AST element E checks if an ancestor has claimed priority. If priority is already claimed E does not have to create a node. If priority is free then it means E has to create the node. Then E claims priority and release it afterward.
This module handles the translation of the variable self which is challenging because self is used both as a variable in instance method calls and also as a type in class method calls.
Return a class name when the first parameter should be removed according to its context, for example, when self or [x class] is given as the first parameter for a class method.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ClangFrontend__CType/index.html b/website/static/odoc/next/infer/ClangFrontend__CType/index.html
index ac34c81c4..062c4a1fd 100644
--- a/website/static/odoc/next/infer/ClangFrontend__CType/index.html
+++ b/website/static/odoc/next/infer/ClangFrontend__CType/index.html
@@ -1,2 +1,2 @@
-ClangFrontend__CType (infer.ClangFrontend__CType)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ClangFrontend__CType_decl/index.html b/website/static/odoc/next/infer/ClangFrontend__CType_decl/index.html
index 2bdbb97c3..c3714938f 100644
--- a/website/static/odoc/next/infer/ClangFrontend__CType_decl/index.html
+++ b/website/static/odoc/next/infer/ClangFrontend__CType_decl/index.html
@@ -1,2 +1,2 @@
-ClangFrontend__CType_decl (infer.ClangFrontend__CType_decl)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/ClangFrontend__CVar_decl/index.html b/website/static/odoc/next/infer/ClangFrontend__CVar_decl/index.html
index 907abc466..1ae9f236c 100644
--- a/website/static/odoc/next/infer/ClangFrontend__CVar_decl/index.html
+++ b/website/static/odoc/next/infer/ClangFrontend__CVar_decl/index.html
@@ -1,2 +1,2 @@
-ClangFrontend__CVar_decl (infer.ClangFrontend__CVar_decl)
\ No newline at end of file
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 ae5392d6c..b65150de5 100644
--- a/website/static/odoc/next/infer/Concurrency/StarvationDomain/CriticalPair/index.html
+++ b/website/static/odoc/next/infer/Concurrency/StarvationDomain/CriticalPair/index.html
@@ -1,2 +1,2 @@
-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.
if two pairs can run in parallel and satisfy the conditions for deadlock, when lhs_lock of lhs is involved return the lock involved from rhs, as LockAcquire may involve more than one
can two pairs describe events on two threads that can run in parallel
\ No newline at end of file
+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.
if two pairs can run in parallel and satisfy the conditions for deadlock, when lhs_lock of lhs is involved return the lock involved from rhs, as LockAcquire may involve more than one
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Concurrency/StarvationDomain/CriticalPairElement/index.html b/website/static/odoc/next/infer/Concurrency/StarvationDomain/CriticalPairElement/index.html
index 875b626b7..948b21305 100644
--- a/website/static/odoc/next/infer/Concurrency/StarvationDomain/CriticalPairElement/index.html
+++ b/website/static/odoc/next/infer/Concurrency/StarvationDomain/CriticalPairElement/index.html
@@ -1,2 +1,2 @@
-CriticalPairElement (infer.Concurrency.StarvationDomain.CriticalPairElement)
Module StarvationDomain.CriticalPairElement
An event and the currently-held locks at the time it occurred.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Concurrency/StarvationDomain/Event/index.html b/website/static/odoc/next/infer/Concurrency/StarvationDomain/Event/index.html
index c7ea1fd47..d694980a0 100644
--- a/website/static/odoc/next/infer/Concurrency/StarvationDomain/Event/index.html
+++ b/website/static/odoc/next/infer/Concurrency/StarvationDomain/Event/index.html
@@ -1,2 +1,2 @@
-Event (infer.Concurrency.StarvationDomain.Event)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Concurrency/StarvationDomain/index.html b/website/static/odoc/next/infer/Concurrency/StarvationDomain/index.html
index 6271fc3a3..410c76860 100644
--- a/website/static/odoc/next/infer/Concurrency/StarvationDomain/index.html
+++ b/website/static/odoc/next/infer/Concurrency/StarvationDomain/index.html
@@ -1,2 +1,2 @@
-StarvationDomain (infer.Concurrency.StarvationDomain)
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.
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.
\ No newline at end of file
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 cd88c4632..b711b5b78 100644
--- a/website/static/odoc/next/infer/Concurrency__StarvationDomain/CriticalPair/index.html
+++ b/website/static/odoc/next/infer/Concurrency__StarvationDomain/CriticalPair/index.html
@@ -1,2 +1,2 @@
-CriticalPair (infer.Concurrency__StarvationDomain.CriticalPair)
Module Concurrency__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.
if two pairs can run in parallel and satisfy the conditions for deadlock, when lhs_lock of lhs is involved return the lock involved from rhs, as LockAcquire may involve more than one
can two pairs describe events on two threads that can run in parallel
\ No newline at end of file
+CriticalPair (infer.Concurrency__StarvationDomain.CriticalPair)
Module Concurrency__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.
if two pairs can run in parallel and satisfy the conditions for deadlock, when lhs_lock of lhs is involved return the lock involved from rhs, as LockAcquire may involve more than one
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Concurrency__StarvationDomain/CriticalPairElement/index.html b/website/static/odoc/next/infer/Concurrency__StarvationDomain/CriticalPairElement/index.html
index 1a1e62cd0..3b6a78444 100644
--- a/website/static/odoc/next/infer/Concurrency__StarvationDomain/CriticalPairElement/index.html
+++ b/website/static/odoc/next/infer/Concurrency__StarvationDomain/CriticalPairElement/index.html
@@ -1,2 +1,2 @@
-CriticalPairElement (infer.Concurrency__StarvationDomain.CriticalPairElement)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Concurrency__StarvationDomain/Event/index.html b/website/static/odoc/next/infer/Concurrency__StarvationDomain/Event/index.html
index 1349d8173..9c90ec4c1 100644
--- a/website/static/odoc/next/infer/Concurrency__StarvationDomain/Event/index.html
+++ b/website/static/odoc/next/infer/Concurrency__StarvationDomain/Event/index.html
@@ -1,2 +1,2 @@
-Event (infer.Concurrency__StarvationDomain.Event)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Concurrency__StarvationDomain/index.html b/website/static/odoc/next/infer/Concurrency__StarvationDomain/index.html
index 15960a4d0..ec1199536 100644
--- a/website/static/odoc/next/infer/Concurrency__StarvationDomain/index.html
+++ b/website/static/odoc/next/infer/Concurrency__StarvationDomain/index.html
@@ -1,2 +1,2 @@
-Concurrency__StarvationDomain (infer.Concurrency__StarvationDomain)
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.
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.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/Cost/index.html b/website/static/odoc/next/infer/Costlib/Cost/index.html
index 0740e9f11..bc257cdcc 100644
--- a/website/static/odoc/next/infer/Costlib/Cost/index.html
+++ b/website/static/odoc/next/infer/Costlib/Cost/index.html
@@ -1,2 +1,2 @@
-Cost (infer.Costlib.Cost)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostDomain/BasicCost/index.html b/website/static/odoc/next/infer/Costlib/CostDomain/BasicCost/index.html
index 67e580b63..e8efce2eb 100644
--- a/website/static/odoc/next/infer/Costlib/CostDomain/BasicCost/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostDomain/BasicCost/index.html
@@ -1,2 +1,2 @@
-BasicCost (infer.Costlib.CostDomain.BasicCost)
version used to consistently compare at infer-reportdiff phase
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostDomain/BasicCostWithReason/index.html b/website/static/odoc/next/infer/Costlib/CostDomain/BasicCostWithReason/index.html
index c36a7162e..a29e854ff 100644
--- a/website/static/odoc/next/infer/Costlib/CostDomain/BasicCostWithReason/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostDomain/BasicCostWithReason/index.html
@@ -1,2 +1,2 @@
-BasicCostWithReason (infer.Costlib.CostDomain.BasicCostWithReason)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostModels/BoundsOf/index.html b/website/static/odoc/next/infer/Costlib/CostModels/BoundsOf/index.html
index 1489150fb..8fae8711d 100644
--- a/website/static/odoc/next/infer/Costlib/CostModels/BoundsOf/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostModels/BoundsOf/index.html
@@ -1,2 +1,2 @@
-BoundsOf (infer.Costlib.CostModels.BoundsOf)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfArray/index.html b/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfArray/index.html
index 094f61764..f7e98104f 100644
--- a/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfArray/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfArray/index.html
@@ -1,2 +1,2 @@
-BoundsOfArray (infer.Costlib.CostModels.BoundsOfArray)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfCString/index.html b/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfCString/index.html
index 79e17e2ce..c2347b00e 100644
--- a/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfCString/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfCString/index.html
@@ -1,2 +1,2 @@
-BoundsOfCString (infer.Costlib.CostModels.BoundsOfCString)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfCollection/index.html b/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfCollection/index.html
index 4a504c5f5..b416d572b 100644
--- a/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfCollection/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfCollection/index.html
@@ -1,2 +1,2 @@
-BoundsOfCollection (infer.Costlib.CostModels.BoundsOfCollection)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfNSCollection/index.html b/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfNSCollection/index.html
index b6388e2b6..223ff705f 100644
--- a/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfNSCollection/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostModels/BoundsOfNSCollection/index.html
@@ -1,2 +1,2 @@
-BoundsOfNSCollection (infer.Costlib.CostModels.BoundsOfNSCollection)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostModels/Call/index.html b/website/static/odoc/next/infer/Costlib/CostModels/Call/index.html
index 11d811068..d54d6859b 100644
--- a/website/static/odoc/next/infer/Costlib/CostModels/Call/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostModels/Call/index.html
@@ -1,2 +1,2 @@
-Call (infer.Costlib.CostModels.Call)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostModels/ImmutableSet/index.html b/website/static/odoc/next/infer/Costlib/CostModels/ImmutableSet/index.html
index 3277422c6..b447f281f 100644
--- a/website/static/odoc/next/infer/Costlib/CostModels/ImmutableSet/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostModels/ImmutableSet/index.html
@@ -1,2 +1,2 @@
-ImmutableSet (infer.Costlib.CostModels.ImmutableSet)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostModels/IntHashMap/index.html b/website/static/odoc/next/infer/Costlib/CostModels/IntHashMap/index.html
index 856d65f16..79e0a2473 100644
--- a/website/static/odoc/next/infer/Costlib/CostModels/IntHashMap/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostModels/IntHashMap/index.html
@@ -1,2 +1,2 @@
-IntHashMap (infer.Costlib.CostModels.IntHashMap)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostModels/JavaString/index.html b/website/static/odoc/next/infer/Costlib/CostModels/JavaString/index.html
index d20047984..b264a701d 100644
--- a/website/static/odoc/next/infer/Costlib/CostModels/JavaString/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostModels/JavaString/index.html
@@ -1,2 +1,2 @@
-JavaString (infer.Costlib.CostModels.JavaString)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostModels/NSCollection/index.html b/website/static/odoc/next/infer/Costlib/CostModels/NSCollection/index.html
index e838e62df..c16b511ff 100644
--- a/website/static/odoc/next/infer/Costlib/CostModels/NSCollection/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostModels/NSCollection/index.html
@@ -1,2 +1,2 @@
-NSCollection (infer.Costlib.CostModels.NSCollection)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostModels/NSString/index.html b/website/static/odoc/next/infer/Costlib/CostModels/NSString/index.html
index 37fd92f99..9c0f8d6a3 100644
--- a/website/static/odoc/next/infer/Costlib/CostModels/NSString/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostModels/NSString/index.html
@@ -1,2 +1,2 @@
-NSString (infer.Costlib.CostModels.NSString)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib/CostModels/index.html b/website/static/odoc/next/infer/Costlib/CostModels/index.html
index 5d3308dd7..33ec4dd2f 100644
--- a/website/static/odoc/next/infer/Costlib/CostModels/index.html
+++ b/website/static/odoc/next/infer/Costlib/CostModels/index.html
@@ -1,2 +1,2 @@
-CostModels (infer.Costlib.CostModels)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__Cost/index.html b/website/static/odoc/next/infer/Costlib__Cost/index.html
index 93b361c03..f63d4e6f0 100644
--- a/website/static/odoc/next/infer/Costlib__Cost/index.html
+++ b/website/static/odoc/next/infer/Costlib__Cost/index.html
@@ -1,2 +1,2 @@
-Costlib__Cost (infer.Costlib__Cost)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostDomain/BasicCost/index.html b/website/static/odoc/next/infer/Costlib__CostDomain/BasicCost/index.html
index ef485754f..0f2115f7c 100644
--- a/website/static/odoc/next/infer/Costlib__CostDomain/BasicCost/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostDomain/BasicCost/index.html
@@ -1,2 +1,2 @@
-BasicCost (infer.Costlib__CostDomain.BasicCost)
version used to consistently compare at infer-reportdiff phase
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostDomain/BasicCostWithReason/index.html b/website/static/odoc/next/infer/Costlib__CostDomain/BasicCostWithReason/index.html
index 8a875662b..e2ac0bde0 100644
--- a/website/static/odoc/next/infer/Costlib__CostDomain/BasicCostWithReason/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostDomain/BasicCostWithReason/index.html
@@ -1,2 +1,2 @@
-BasicCostWithReason (infer.Costlib__CostDomain.BasicCostWithReason)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostModels/BoundsOf/index.html b/website/static/odoc/next/infer/Costlib__CostModels/BoundsOf/index.html
index 1a8edfe68..87aa19b0d 100644
--- a/website/static/odoc/next/infer/Costlib__CostModels/BoundsOf/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostModels/BoundsOf/index.html
@@ -1,2 +1,2 @@
-BoundsOf (infer.Costlib__CostModels.BoundsOf)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfArray/index.html b/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfArray/index.html
index 789a23218..14940e833 100644
--- a/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfArray/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfArray/index.html
@@ -1,2 +1,2 @@
-BoundsOfArray (infer.Costlib__CostModels.BoundsOfArray)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfCString/index.html b/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfCString/index.html
index 1211cd340..522314318 100644
--- a/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfCString/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfCString/index.html
@@ -1,2 +1,2 @@
-BoundsOfCString (infer.Costlib__CostModels.BoundsOfCString)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfCollection/index.html b/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfCollection/index.html
index 7cb138831..29e2e2f45 100644
--- a/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfCollection/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfCollection/index.html
@@ -1,2 +1,2 @@
-BoundsOfCollection (infer.Costlib__CostModels.BoundsOfCollection)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfNSCollection/index.html b/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfNSCollection/index.html
index 5010e2f15..f42925e63 100644
--- a/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfNSCollection/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostModels/BoundsOfNSCollection/index.html
@@ -1,2 +1,2 @@
-BoundsOfNSCollection (infer.Costlib__CostModels.BoundsOfNSCollection)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostModels/Call/index.html b/website/static/odoc/next/infer/Costlib__CostModels/Call/index.html
index e49964e01..51e305e3c 100644
--- a/website/static/odoc/next/infer/Costlib__CostModels/Call/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostModels/Call/index.html
@@ -1,2 +1,2 @@
-Call (infer.Costlib__CostModels.Call)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostModels/ImmutableSet/index.html b/website/static/odoc/next/infer/Costlib__CostModels/ImmutableSet/index.html
index 0cfed5795..a8cd79b06 100644
--- a/website/static/odoc/next/infer/Costlib__CostModels/ImmutableSet/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostModels/ImmutableSet/index.html
@@ -1,2 +1,2 @@
-ImmutableSet (infer.Costlib__CostModels.ImmutableSet)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostModels/IntHashMap/index.html b/website/static/odoc/next/infer/Costlib__CostModels/IntHashMap/index.html
index 65e1bbc42..456c23011 100644
--- a/website/static/odoc/next/infer/Costlib__CostModels/IntHashMap/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostModels/IntHashMap/index.html
@@ -1,2 +1,2 @@
-IntHashMap (infer.Costlib__CostModels.IntHashMap)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostModels/JavaString/index.html b/website/static/odoc/next/infer/Costlib__CostModels/JavaString/index.html
index 9d1295eb7..3d0d1deb4 100644
--- a/website/static/odoc/next/infer/Costlib__CostModels/JavaString/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostModels/JavaString/index.html
@@ -1,2 +1,2 @@
-JavaString (infer.Costlib__CostModels.JavaString)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostModels/NSCollection/index.html b/website/static/odoc/next/infer/Costlib__CostModels/NSCollection/index.html
index 4a3b94974..156b59ff1 100644
--- a/website/static/odoc/next/infer/Costlib__CostModels/NSCollection/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostModels/NSCollection/index.html
@@ -1,2 +1,2 @@
-NSCollection (infer.Costlib__CostModels.NSCollection)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostModels/NSString/index.html b/website/static/odoc/next/infer/Costlib__CostModels/NSString/index.html
index 193d82b17..6ff2911b1 100644
--- a/website/static/odoc/next/infer/Costlib__CostModels/NSString/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostModels/NSString/index.html
@@ -1,2 +1,2 @@
-NSString (infer.Costlib__CostModels.NSString)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/Costlib__CostModels/index.html b/website/static/odoc/next/infer/Costlib__CostModels/index.html
index c8bb00d9a..42ccf2004 100644
--- a/website/static/odoc/next/infer/Costlib__CostModels/index.html
+++ b/website/static/odoc/next/infer/Costlib__CostModels/index.html
@@ -1,2 +1,2 @@
-Costlib__CostModels (infer.Costlib__CostModels)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase/Config/index.html b/website/static/odoc/next/infer/IBase/Config/index.html
index be91671a5..d01f58a5b 100644
--- a/website/static/odoc/next/infer/IBase/Config/index.html
+++ b/website/static/odoc/next/infer/IBase/Config/index.html
@@ -1,2 +1,2 @@
-Config (infer.IBase.Config)
val scuba_normals : string IStdlib.IStd.String.Map.t
val scuba_tags : string listIStdlib.IStd.String.Map.t
val seconds_per_iteration : float option
val select : int option
val show_buckets : bool
val siof_check_iostreams : bool
val siof_safe_methods : string list
val skip_analysis_in_path : string list
val skip_analysis_in_path_skips_compilation : bool
val skip_duplicated_types : bool
val skip_translation_headers : string list
val source_files : bool
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 sqlite_cache_size : int
val sqlite_page_size : int
val sqlite_lock_timeout : int
val sqlite_vfs : string option
val starvation_skip_analysis : Yojson.Basic.t
val starvation_strict_mode : bool
val starvation_whole_program : bool
val subtype_multirange : bool
val summaries_caches_max_size : int
val symops_per_iteration : int option
val test_determinator : bool
val export_changed_functions : bool
val test_filtering : bool
val testing_mode : bool
val threadsafe_aliases : Yojson.Basic.t
val topl_properties : string list
val trace_error : bool
val trace_events : bool
val trace_join : bool
val trace_ondemand : bool
val trace_rearrange : bool
val trace_topl : bool
val tv_commit : string option
val tv_limit : int
val tv_limit_filtered : int
val type_size : bool
val uninit_interproc : bool
val unsafe_malloc : bool
val worklist_mode : int
val write_dotty : bool
val write_html : bool
val write_html_whitelist_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 dynamic_dispatch : bool
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 is_in_custom_symbols : string -> string -> bool
Does named symbol match any prefix in the named custom symbol list?
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
Global variables with initial values specified by command-line options
val clang_compilation_dbs : [ `Escaped of string| `Raw of string ] listIStdlib.IStd.ref
\ No newline at end of file
+Config (infer.IBase.Config)
val scuba_normals : string IStdlib.IStd.String.Map.t
val scuba_tags : string listIStdlib.IStd.String.Map.t
val seconds_per_iteration : float option
val select : [ `All | `Select of int ] option
val show_buckets : bool
val siof_check_iostreams : bool
val siof_safe_methods : string list
val skip_analysis_in_path : string list
val skip_analysis_in_path_skips_compilation : bool
val skip_duplicated_types : bool
val skip_translation_headers : string list
val source_files : bool
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 sqlite_cache_size : int
val sqlite_page_size : int
val sqlite_lock_timeout : int
val sqlite_vfs : string option
val starvation_skip_analysis : Yojson.Basic.t
val starvation_strict_mode : bool
val starvation_whole_program : bool
val subtype_multirange : bool
val summaries_caches_max_size : int
val suppress_lint_ignore_types : bool
val symops_per_iteration : int option
val test_determinator : bool
val export_changed_functions : bool
val test_filtering : bool
val testing_mode : bool
val threadsafe_aliases : Yojson.Basic.t
val topl_properties : string list
val trace_error : bool
val trace_events : bool
val trace_join : bool
val trace_ondemand : bool
val trace_rearrange : bool
val trace_topl : bool
val tv_commit : string option
val tv_limit : int
val tv_limit_filtered : int
val type_size : bool
val uninit_interproc : bool
val unsafe_malloc : bool
val worklist_mode : int
val workspace : string option
val write_dotty : bool
val write_html : bool
val write_html_whitelist_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 dynamic_dispatch : bool
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 is_in_custom_symbols : string -> string -> bool
Does named symbol match any prefix in the named custom symbol list?
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
Global variables with initial values specified by command-line options
val clang_compilation_dbs : [ `Escaped of string| `Raw of string ] list
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase/IssueType/index.html b/website/static/odoc/next/infer/IBase/IssueType/index.html
index d8542345a..604f8d0b3 100644
--- a/website/static/odoc/next/infer/IBase/IssueType/index.html
+++ b/website/static/odoc/next/infer/IBase/IssueType/index.html
@@ -1,2 +1,2 @@
-IssueType (infer.IBase.IssueType)
return the issue type if it was previously registered
val register_dynamic : ?enabled:bool->?hum:string->?doc_url:string->linters_def_file:string option->id:string->?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`, `doc_url`, and `linters_def_file`, but DOES NOT override `enabled`. This trick allows to deal with disabling/enabling dynamic AL 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, eg in AL.
return the issue type if it was previously registered
val register_dynamic : ?enabled:bool->?hum:string->?doc_url:string->linters_def_file:string option->id:string->?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`, `doc_url`, and `linters_def_file`, but DOES NOT override `enabled`. This trick allows to deal with disabling/enabling dynamic AL 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, eg in AL.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase/Location/index.html b/website/static/odoc/next/infer/IBase/Location/index.html
index 404ef0d48..34a3e52a6 100644
--- a/website/static/odoc/next/infer/IBase/Location/index.html
+++ b/website/static/odoc/next/infer/IBase/Location/index.html
@@ -1,2 +1,2 @@
-Location (infer.IBase.Location)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase/SourceFile/index.html b/website/static/odoc/next/infer/IBase/SourceFile/index.html
index 4a4f0603c..75ad00bd8 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)
val changed_sources_from_changed_files : string list->Set.t
Set of files read from --changed-files-index file, None if option not specified NOTE: it may include extra source_files if --changed-files-index contains paths to header 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).
Create a SourceFile from a given path. If relative, it assumes it is w.r.t. project root. 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).
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 changed_sources_from_changed_files : string list->Set.t
Set of files read from --changed-files-index file, None if option not specified NOTE: it may include extra source_files if --changed-files-index contains paths to header 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).
Create a SourceFile from a given path. If relative, it assumes it is w.r.t. project root. 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).
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).
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase/Utils/index.html b/website/static/odoc/next/infer/IBase/Utils/index.html
index b95c32bb6..117618d75 100644
--- a/website/static/odoc/next/infer/IBase/Utils/index.html
+++ b/website/static/odoc/next/infer/IBase/Utils/index.html
@@ -1,2 +1,2 @@
-Utils (infer.IBase.Utils)
Module IBase.Utils
val find_files : path:string->extension:string->string list
recursively traverse a path for files ending with a given extension
val fold_folders : init:'acc->f:('acc-> string ->'acc)->path:string->'acc
recursively traverse a path for folders, returning resuls by a given fold function
val string_crc_hex32 : string -> string
Compute a 32-character hexadecimal crc using the Digest module
val read_file : string ->(string list, string)IStdlib.IStd.Result.t
read a source file and return a list of lines
val filename_to_absolute : root:string-> string -> string
Convert a filename to an absolute one if it is relative, and normalize "." and ".."
val filename_to_relative : ?force_full_backtrack:bool->?backtrack:int->root:string-> string ->string option
Convert an absolute filename to one relative to a root directory. Returns None if filename is not under root. The backtrack level sets the maximum level of steps in the parent directories to search for a common prefix
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 : string -> unit
rmtree path removes path and, if path is a directory, recursively removes its contents
val try_finally_swallow_timeout : f:(unit ->'a)->finally:(unit -> unit)->'a
Calls f then finally even if f raised an exception. The original exception is reraised afterwards. Where possible use SymOp.try_finally to avoid swallowing timeouts.
Hashtbl.hash only hashes the first 10 meaningful values, better_hash uses everything.
val unlink_file_on_exit : string -> unit
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 assoc_of_yojson : Yojson.Basic.t ->src:string->(string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t
Verify we have a json object (or empty list) and return the corresponding assoc list. Otherwise die with a message including src.
val string_of_yojson : Yojson.Basic.t ->src:string-> string
Verify we have a json string and return the corresponding ocaml string. Otherwise die with a message including src.
val string_list_of_yojson : Yojson.Basic.t ->src:string->string list
Verify we have a json list of strings and return the corresponding ocaml string list. Otherwise die with a message including src.
val yojson_lookup : (string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t-> string ->src:string->f:(Yojson.Basic.t ->src:string->'a)->default:'a->'a
Lookup a json value on an assoc list. If not present, returns default. Otherwise returns (f json_value ~src) where src has element name appended. f is typically one of the above _of_yojson functions.
val timeit : f:(unit ->'a)->'a * int
Returns the execution time of f in milliseconds 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 iter_infer_deps : project_root:string->f:(string -> unit)-> string -> unit
Parse each line of the given infer_deps.txt file (split on tabs, assume 3 elements per line) and run f on the third element. project_root is an argument to avoid dependency cycles.
val numcores : int
On Linux return the number of physical cores (sockets * cores per socket).
On Darwin and Windows returns half of the number of CPUs since most processors have 2 hardware threads per core.
val set_best_cpu_for : int -> unit
Pins processes to CPUs aiming to saturate physical cores evenly
val zip_fold_filenames : init:'a->f:('a-> string ->'a)->zip_filename:string->'a
fold over each filename in the given zip_filename.
\ No newline at end of file
+Utils (infer.IBase.Utils)
Module IBase.Utils
val find_files : path:string->extension:string->string list
recursively traverse a path for files ending with a given extension
val fold_folders : init:'acc->f:('acc-> string ->'acc)->path:string->'acc
recursively traverse a path for folders, returning resuls by a given fold function
val string_crc_hex32 : string -> string
Compute a 32-character hexadecimal crc using the Digest module
val read_file : string ->(string list, string)IStdlib.IStd.Result.t
read a source file and return a list of lines
val normalize_path_from : root:string-> string -> string * string
normalize_path_from ~root path removes ".." and "." parts of root/path when possible and returns the new root and path, eg if root = "r" and path = "a/../../../foo/./bar" then the result is ("../foo/bar", ".") (in particular "r/a/../../../foo/./bar" and "./../foo/bar" represent the same file)
val filename_to_absolute : root:string-> string -> string
Convert a filename to an absolute one if it is relative, and normalize "." and ".."
val filename_to_relative : ?force_full_backtrack:bool->?backtrack:int->root:string-> string ->string option
Convert an absolute filename to one relative to a root directory. Returns None if filename is not under root. The backtrack level sets the maximum level of steps in the parent directories to search for a common prefix
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 : string -> unit
rmtree path removes path and, if path is a directory, recursively removes its contents
val try_finally_swallow_timeout : f:(unit ->'a)->finally:(unit -> unit)->'a
Calls f then finally even if f raised an exception. The original exception is reraised afterwards. Where possible use SymOp.try_finally to avoid swallowing timeouts.
Hashtbl.hash only hashes the first 10 meaningful values, better_hash uses everything.
val unlink_file_on_exit : string -> unit
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 assoc_of_yojson : Yojson.Basic.t ->src:string->(string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t
Verify we have a json object (or empty list) and return the corresponding assoc list. Otherwise die with a message including src.
val string_of_yojson : Yojson.Basic.t ->src:string-> string
Verify we have a json string and return the corresponding ocaml string. Otherwise die with a message including src.
val string_list_of_yojson : Yojson.Basic.t ->src:string->string list
Verify we have a json list of strings and return the corresponding ocaml string list. Otherwise die with a message including src.
val yojson_lookup : (string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t-> string ->src:string->f:(Yojson.Basic.t ->src:string->'a)->default:'a->'a
Lookup a json value on an assoc list. If not present, returns default. Otherwise returns (f json_value ~src) where src has element name appended. f is typically one of the above _of_yojson functions.
val timeit : f:(unit ->'a)->'a * int
Returns the execution time of f in milliseconds 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 iter_infer_deps : project_root:string->f:(string -> unit)-> string -> unit
Parse each line of the given infer_deps.txt file (split on tabs, assume 3 elements per line) and run f on the third element. project_root is an argument to avoid dependency cycles.
val numcores : int
On Linux return the number of physical cores (sockets * cores per socket).
On Darwin and Windows returns half of the number of CPUs since most processors have 2 hardware threads per core.
val set_best_cpu_for : int -> unit
Pins processes to CPUs aiming to saturate physical cores evenly
val zip_fold_filenames : init:'a->f:('a-> string ->'a)->zip_filename:string->'a
fold over each filename in the given zip_filename.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase__Config/index.html b/website/static/odoc/next/infer/IBase__Config/index.html
index 2b027c90a..4f502b01a 100644
--- a/website/static/odoc/next/infer/IBase__Config/index.html
+++ b/website/static/odoc/next/infer/IBase__Config/index.html
@@ -1,2 +1,2 @@
-IBase__Config (infer.IBase__Config)
val scuba_normals : string IStdlib.IStd.String.Map.t
val scuba_tags : string listIStdlib.IStd.String.Map.t
val seconds_per_iteration : float option
val select : int option
val show_buckets : bool
val siof_check_iostreams : bool
val siof_safe_methods : string list
val skip_analysis_in_path : string list
val skip_analysis_in_path_skips_compilation : bool
val skip_duplicated_types : bool
val skip_translation_headers : string list
val source_files : bool
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 sqlite_cache_size : int
val sqlite_page_size : int
val sqlite_lock_timeout : int
val sqlite_vfs : string option
val starvation_skip_analysis : Yojson.Basic.t
val starvation_strict_mode : bool
val starvation_whole_program : bool
val subtype_multirange : bool
val summaries_caches_max_size : int
val symops_per_iteration : int option
val test_determinator : bool
val export_changed_functions : bool
val test_filtering : bool
val testing_mode : bool
val threadsafe_aliases : Yojson.Basic.t
val topl_properties : string list
val trace_error : bool
val trace_events : bool
val trace_join : bool
val trace_ondemand : bool
val trace_rearrange : bool
val trace_topl : bool
val tv_commit : string option
val tv_limit : int
val tv_limit_filtered : int
val type_size : bool
val uninit_interproc : bool
val unsafe_malloc : bool
val worklist_mode : int
val write_dotty : bool
val write_html : bool
val write_html_whitelist_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 dynamic_dispatch : bool
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 is_in_custom_symbols : string -> string -> bool
Does named symbol match any prefix in the named custom symbol list?
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
Global variables with initial values specified by command-line options
val clang_compilation_dbs : [ `Escaped of string| `Raw of string ] listIStdlib.IStd.ref
\ No newline at end of file
+IBase__Config (infer.IBase__Config)
val scuba_normals : string IStdlib.IStd.String.Map.t
val scuba_tags : string listIStdlib.IStd.String.Map.t
val seconds_per_iteration : float option
val select : [ `All | `Select of int ] option
val show_buckets : bool
val siof_check_iostreams : bool
val siof_safe_methods : string list
val skip_analysis_in_path : string list
val skip_analysis_in_path_skips_compilation : bool
val skip_duplicated_types : bool
val skip_translation_headers : string list
val source_files : bool
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 sqlite_cache_size : int
val sqlite_page_size : int
val sqlite_lock_timeout : int
val sqlite_vfs : string option
val starvation_skip_analysis : Yojson.Basic.t
val starvation_strict_mode : bool
val starvation_whole_program : bool
val subtype_multirange : bool
val summaries_caches_max_size : int
val suppress_lint_ignore_types : bool
val symops_per_iteration : int option
val test_determinator : bool
val export_changed_functions : bool
val test_filtering : bool
val testing_mode : bool
val threadsafe_aliases : Yojson.Basic.t
val topl_properties : string list
val trace_error : bool
val trace_events : bool
val trace_join : bool
val trace_ondemand : bool
val trace_rearrange : bool
val trace_topl : bool
val tv_commit : string option
val tv_limit : int
val tv_limit_filtered : int
val type_size : bool
val uninit_interproc : bool
val unsafe_malloc : bool
val worklist_mode : int
val workspace : string option
val write_dotty : bool
val write_html : bool
val write_html_whitelist_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 dynamic_dispatch : bool
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 is_in_custom_symbols : string -> string -> bool
Does named symbol match any prefix in the named custom symbol list?
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
Global variables with initial values specified by command-line options
val clang_compilation_dbs : [ `Escaped of string| `Raw of string ] list
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase__IssueType/index.html b/website/static/odoc/next/infer/IBase__IssueType/index.html
index c5a03a849..29da97110 100644
--- a/website/static/odoc/next/infer/IBase__IssueType/index.html
+++ b/website/static/odoc/next/infer/IBase__IssueType/index.html
@@ -1,2 +1,2 @@
-IBase__IssueType (infer.IBase__IssueType)
return the issue type if it was previously registered
val register_dynamic : ?enabled:bool->?hum:string->?doc_url:string->linters_def_file:string option->id:string->?user_documentation:string->severity->IBase.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`, `doc_url`, and `linters_def_file`, but DOES NOT override `enabled`. This trick allows to deal with disabling/enabling dynamic AL 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, eg in AL.
return the issue type if it was previously registered
val register_dynamic : ?enabled:bool->?hum:string->?doc_url:string->linters_def_file:string option->id:string->?user_documentation:string->severity->IBase.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`, `doc_url`, and `linters_def_file`, but DOES NOT override `enabled`. This trick allows to deal with disabling/enabling dynamic AL 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, eg in AL.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase__Location/index.html b/website/static/odoc/next/infer/IBase__Location/index.html
index b5884dbc4..d5d9e71eb 100644
--- a/website/static/odoc/next/infer/IBase__Location/index.html
+++ b/website/static/odoc/next/infer/IBase__Location/index.html
@@ -1,2 +1,2 @@
-IBase__Location (infer.IBase__Location)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase__SourceFile/index.html b/website/static/odoc/next/infer/IBase__SourceFile/index.html
index b53600052..f7c7c336d 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 @@
-IBase__SourceFile (infer.IBase__SourceFile)
val changed_sources_from_changed_files : string list->Set.t
Set of files read from --changed-files-index file, None if option not specified NOTE: it may include extra source_files if --changed-files-index contains paths to header 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).
Create a SourceFile from a given path. If relative, it assumes it is w.r.t. project root. 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).
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 changed_sources_from_changed_files : string list->Set.t
Set of files read from --changed-files-index file, None if option not specified NOTE: it may include extra source_files if --changed-files-index contains paths to header 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).
Create a SourceFile from a given path. If relative, it assumes it is w.r.t. project root. 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).
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).
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IBase__Utils/index.html b/website/static/odoc/next/infer/IBase__Utils/index.html
index d4a089ea4..1c970ebd2 100644
--- a/website/static/odoc/next/infer/IBase__Utils/index.html
+++ b/website/static/odoc/next/infer/IBase__Utils/index.html
@@ -1,2 +1,2 @@
-IBase__Utils (infer.IBase__Utils)
Module IBase__Utils
val find_files : path:string->extension:string->string list
recursively traverse a path for files ending with a given extension
val fold_folders : init:'acc->f:('acc-> string ->'acc)->path:string->'acc
recursively traverse a path for folders, returning resuls by a given fold function
val string_crc_hex32 : string -> string
Compute a 32-character hexadecimal crc using the Digest module
val read_file : string ->(string list, string)IStdlib.IStd.Result.t
read a source file and return a list of lines
val filename_to_absolute : root:string-> string -> string
Convert a filename to an absolute one if it is relative, and normalize "." and ".."
val filename_to_relative : ?force_full_backtrack:bool->?backtrack:int->root:string-> string ->string option
Convert an absolute filename to one relative to a root directory. Returns None if filename is not under root. The backtrack level sets the maximum level of steps in the parent directories to search for a common prefix
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 : string -> unit
rmtree path removes path and, if path is a directory, recursively removes its contents
val try_finally_swallow_timeout : f:(unit ->'a)->finally:(unit -> unit)->'a
Calls f then finally even if f raised an exception. The original exception is reraised afterwards. Where possible use SymOp.try_finally to avoid swallowing timeouts.
Hashtbl.hash only hashes the first 10 meaningful values, better_hash uses everything.
val unlink_file_on_exit : string -> unit
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 assoc_of_yojson : Yojson.Basic.t ->src:string->(string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t
Verify we have a json object (or empty list) and return the corresponding assoc list. Otherwise die with a message including src.
val string_of_yojson : Yojson.Basic.t ->src:string-> string
Verify we have a json string and return the corresponding ocaml string. Otherwise die with a message including src.
val string_list_of_yojson : Yojson.Basic.t ->src:string->string list
Verify we have a json list of strings and return the corresponding ocaml string list. Otherwise die with a message including src.
val yojson_lookup : (string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t-> string ->src:string->f:(Yojson.Basic.t ->src:string->'a)->default:'a->'a
Lookup a json value on an assoc list. If not present, returns default. Otherwise returns (f json_value ~src) where src has element name appended. f is typically one of the above _of_yojson functions.
val timeit : f:(unit ->'a)->'a * int
Returns the execution time of f in milliseconds 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 iter_infer_deps : project_root:string->f:(string -> unit)-> string -> unit
Parse each line of the given infer_deps.txt file (split on tabs, assume 3 elements per line) and run f on the third element. project_root is an argument to avoid dependency cycles.
val numcores : int
On Linux return the number of physical cores (sockets * cores per socket).
On Darwin and Windows returns half of the number of CPUs since most processors have 2 hardware threads per core.
val set_best_cpu_for : int -> unit
Pins processes to CPUs aiming to saturate physical cores evenly
val zip_fold_filenames : init:'a->f:('a-> string ->'a)->zip_filename:string->'a
fold over each filename in the given zip_filename.
\ No newline at end of file
+IBase__Utils (infer.IBase__Utils)
Module IBase__Utils
val find_files : path:string->extension:string->string list
recursively traverse a path for files ending with a given extension
val fold_folders : init:'acc->f:('acc-> string ->'acc)->path:string->'acc
recursively traverse a path for folders, returning resuls by a given fold function
val string_crc_hex32 : string -> string
Compute a 32-character hexadecimal crc using the Digest module
val read_file : string ->(string list, string)IStdlib.IStd.Result.t
read a source file and return a list of lines
val normalize_path_from : root:string-> string -> string * string
normalize_path_from ~root path removes ".." and "." parts of root/path when possible and returns the new root and path, eg if root = "r" and path = "a/../../../foo/./bar" then the result is ("../foo/bar", ".") (in particular "r/a/../../../foo/./bar" and "./../foo/bar" represent the same file)
val filename_to_absolute : root:string-> string -> string
Convert a filename to an absolute one if it is relative, and normalize "." and ".."
val filename_to_relative : ?force_full_backtrack:bool->?backtrack:int->root:string-> string ->string option
Convert an absolute filename to one relative to a root directory. Returns None if filename is not under root. The backtrack level sets the maximum level of steps in the parent directories to search for a common prefix
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 : string -> unit
rmtree path removes path and, if path is a directory, recursively removes its contents
val try_finally_swallow_timeout : f:(unit ->'a)->finally:(unit -> unit)->'a
Calls f then finally even if f raised an exception. The original exception is reraised afterwards. Where possible use SymOp.try_finally to avoid swallowing timeouts.
Hashtbl.hash only hashes the first 10 meaningful values, better_hash uses everything.
val unlink_file_on_exit : string -> unit
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 assoc_of_yojson : Yojson.Basic.t ->src:string->(string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t
Verify we have a json object (or empty list) and return the corresponding assoc list. Otherwise die with a message including src.
val string_of_yojson : Yojson.Basic.t ->src:string-> string
Verify we have a json string and return the corresponding ocaml string. Otherwise die with a message including src.
val string_list_of_yojson : Yojson.Basic.t ->src:string->string list
Verify we have a json list of strings and return the corresponding ocaml string list. Otherwise die with a message including src.
val yojson_lookup : (string, Yojson.Basic.t)IStdlib.IStd.List.Assoc.t-> string ->src:string->f:(Yojson.Basic.t ->src:string->'a)->default:'a->'a
Lookup a json value on an assoc list. If not present, returns default. Otherwise returns (f json_value ~src) where src has element name appended. f is typically one of the above _of_yojson functions.
val timeit : f:(unit ->'a)->'a * int
Returns the execution time of f in milliseconds 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 iter_infer_deps : project_root:string->f:(string -> unit)-> string -> unit
Parse each line of the given infer_deps.txt file (split on tabs, assume 3 elements per line) and run f on the third element. project_root is an argument to avoid dependency cycles.
val numcores : int
On Linux return the number of physical cores (sockets * cores per socket).
On Darwin and Windows returns half of the number of CPUs since most processors have 2 hardware threads per core.
val set_best_cpu_for : int -> unit
Pins processes to CPUs aiming to saturate physical cores evenly
val zip_fold_filenames : init:'a->f:('a-> string ->'a)->zip_filename:string->'a
fold over each filename in the given zip_filename.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/Annot/Item/index.html b/website/static/odoc/next/infer/IR/Annot/Item/index.html
index c243830ad..bc471314d 100644
--- a/website/static/odoc/next/infer/IR/Annot/Item/index.html
+++ b/website/static/odoc/next/infer/IR/Annot/Item/index.html
@@ -1,2 +1,2 @@
-Item (infer.IR.Annot.Item)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/Fieldname/index.html b/website/static/odoc/next/infer/IR/Fieldname/index.html
index 02de4467b..cd5531228 100644
--- a/website/static/odoc/next/infer/IR/Fieldname/index.html
+++ b/website/static/odoc/next/infer/IR/Fieldname/index.html
@@ -1,2 +1,2 @@
-Fieldname (infer.IR.Fieldname)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/Ident/index.html b/website/static/odoc/next/infer/IR/Ident/index.html
index cd9c4f943..24fb8f9a1 100644
--- a/website/static/odoc/next/infer/IR/Ident/index.html
+++ b/website/static/odoc/next/infer/IR/Ident/index.html
@@ -1,2 +1,2 @@
-Ident (infer.IR.Ident)
val counts_of_sequence : tIStdlib.IStd.Sequence.t->t-> int
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/IntLit/index.html b/website/static/odoc/next/infer/IR/IntLit/index.html
index 34858cfa3..ce60ff9f7 100644
--- a/website/static/odoc/next/infer/IR/IntLit/index.html
+++ b/website/static/odoc/next/infer/IR/IntLit/index.html
@@ -1,2 +1,2 @@
-IntLit (infer.IR.IntLit)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/JavaClassName/index.html b/website/static/odoc/next/infer/IR/JavaClassName/index.html
index aa40587f6..6ae8845ba 100644
--- a/website/static/odoc/next/infer/IR/JavaClassName/index.html
+++ b/website/static/odoc/next/infer/IR/JavaClassName/index.html
@@ -1,2 +1,2 @@
-JavaClassName (infer.IR.JavaClassName)
True if it is either "classic" anonymous Java class: https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html, or a synthetic Java class corresponding to a lambda expression.
val get_user_defined_class_if_anonymous_inner : t->t option
If the current class is anonymous (is_anonymous_inner_class_name is true), return the corresponding user defined (not anonymous) class this anonymous class belongs to.
In general case, BOTH anonymous classes and user-defined classes can be nested: SomeClass$NestedClass$1$17$5. In this example, we should return SomeClass$NestedClass.
If this is not an anonymous class, returns None.
\ No newline at end of file
+JavaClassName (infer.IR.JavaClassName)
True if it is either "classic" anonymous Java class: https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html, or a synthetic Java class corresponding to a lambda expression.
val get_user_defined_class_if_anonymous_inner : t->t option
If the current class is anonymous (is_anonymous_inner_class_name is true), return the corresponding user defined (not anonymous) class this anonymous class belongs to.
In general case, BOTH anonymous classes and user-defined classes can be nested: SomeClass$NestedClass$1$17$5. In this example, we should return SomeClass$NestedClass.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/Mangled/index.html b/website/static/odoc/next/infer/IR/Mangled/index.html
index 44e1ed183..95be3bddb 100644
--- a/website/static/odoc/next/infer/IR/Mangled/index.html
+++ b/website/static/odoc/next/infer/IR/Mangled/index.html
@@ -1,2 +1,2 @@
-Mangled (infer.IR.Mangled)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/Procname/index.html b/website/static/odoc/next/infer/IR/Procname/index.html
index c87b75bff..1323a4e4d 100644
--- a/website/static/odoc/next/infer/IR/Procname/index.html
+++ b/website/static/odoc/next/infer/IR/Procname/index.html
@@ -1,2 +1,2 @@
-Procname (infer.IR.Procname)
Type of procedure names. WithBlockParameters is used for creating an instantiation of a method that contains block parameters and it's called with concrete blocks. For example: foo(Block block) {block();}bar() {foo(my_block)} is executed as foo_my_block() {my_block(); } where foo_my_block is created with WithBlockParameters (foo, my_block)
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"
Type of procedure names. WithBlockParameters is used for creating an instantiation of a method that contains block parameters and it's called with concrete blocks. For example: foo(Block block) {block();}bar() {foo(my_block)} is executed as foo_my_block() {my_block(); } where foo_my_block is created with WithBlockParameters (foo, my_block)
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_copyWithZone : is_mutable:bool->Typ.Name.t->t
Create an Objective-C method for copyWithZone: or mutableCopyWithZone: according to is_mutable.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/Pvar/index.html b/website/static/odoc/next/infer/IR/Pvar/index.html
index 2bde22d64..52b31d304 100644
--- a/website/static/odoc/next/infer/IR/Pvar/index.html
+++ b/website/static/odoc/next/infer/IR/Pvar/index.html
@@ -1,2 +1,2 @@
-Pvar (infer.IR.Pvar)
mk_callee name proc_name creates a program var for a callee function with the given function name
val mk_global : ?is_constexpr:bool->?is_ice:bool->?is_pod:bool->?is_static_local:bool->?is_static_global:bool->?is_constant_array:bool->?translation_unit:IBase.SourceFile.t->Mangled.t->t
mk_callee name proc_name creates a program var for a callee function with the given function name
val mk_global : ?is_constexpr:bool->?is_ice:bool->?is_pod:bool->?is_static_local:bool->?is_static_global:bool->?is_constant_array:bool->?translation_unit:IBase.SourceFile.t->Mangled.t->t
val string_of_capture_mode : capture_mode-> string
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/QualifiedCppName/index.html b/website/static/odoc/next/infer/IR/QualifiedCppName/index.html
index e3dd4f10e..1f508e235 100644
--- a/website/static/odoc/next/infer/IR/QualifiedCppName/index.html
+++ b/website/static/odoc/next/infer/IR/QualifiedCppName/index.html
@@ -1,2 +1,2 @@
-QualifiedCppName (infer.IR.QualifiedCppName)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/Struct/index.html b/website/static/odoc/next/infer/IR/Struct/index.html
index ddaf1a300..556e20326 100644
--- a/website/static/odoc/next/infer/IR/Struct/index.html
+++ b/website/static/odoc/next/infer/IR/Struct/index.html
@@ -1,2 +1,2 @@
-Struct (infer.IR.Struct)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/Tenv/index.html b/website/static/odoc/next/infer/IR/Tenv/index.html
index 6c62ec804..cbb0fe98e 100644
--- a/website/static/odoc/next/infer/IR/Tenv/index.html
+++ b/website/static/odoc/next/infer/IR/Tenv/index.html
@@ -1,2 +1,2 @@
-Tenv (infer.IR.Tenv)
resolve_method ~method_exists tenv class_name procname tries to resolve procname to a method in class_name or its super-classes, that is non-virtual (non-Java-interface method). method_exists adapted_procname methods should check if adapted_procname (procname but with its class potentially changed to some other_class) is among the methods of other_class.
resolve_method ~method_exists tenv class_name procname tries to resolve procname to a method in class_name or its super-classes, that is non-virtual (non-Java-interface method). method_exists adapted_procname methods should check if adapted_procname (procname but with its class potentially changed to some other_class) is among the methods of other_class.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/Typ/Name/Java/index.html b/website/static/odoc/next/infer/IR/Typ/Name/Java/index.html
index f8ed2e183..f8658dfc4 100644
--- a/website/static/odoc/next/infer/IR/Typ/Name/Java/index.html
+++ b/website/static/odoc/next/infer/IR/Typ/Name/Java/index.html
@@ -1,2 +1,2 @@
-Java (infer.IR.Typ.Name.Java)
val is_anonymous_inner_class_name_opt : t->bool option
return None if it is not a Java class
\ No newline at end of file
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 afe6d07f9..94028a4d3 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)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/Typ/index.html b/website/static/odoc/next/infer/IR/Typ/index.html
index 8c14c8651..6d704e555 100644
--- a/website/static/odoc/next/infer/IR/Typ/index.html
+++ b/website/static/odoc/next/infer/IR/Typ/index.html
@@ -1,2 +1,2 @@
-Typ (infer.IR.Typ)
WARNING: because of type substitutions performed by sub_type and sub_tname, mangling is not guaranteed to be unique to a single type. All the information in the template arguments is also needed for uniqueness.
WARNING: because of type substitutions performed by sub_type and sub_tname, mangling is not guaranteed to be unique to a single type. All the information in the template arguments is also needed for uniqueness.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/Var/index.html b/website/static/odoc/next/infer/IR/Var/index.html
index ca5bf2a53..2823020f2 100644
--- a/website/static/odoc/next/infer/IR/Var/index.html
+++ b/website/static/odoc/next/infer/IR/Var/index.html
@@ -1,2 +1,2 @@
-Var (infer.IR.Var)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR/index.html b/website/static/odoc/next/infer/IR/index.html
index 37332c0af..1b4ed7ce1 100644
--- a/website/static/odoc/next/infer/IR/index.html
+++ b/website/static/odoc/next/infer/IR/index.html
@@ -1,2 +1,2 @@
-IR (infer.IR)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__Annot/Item/index.html b/website/static/odoc/next/infer/IR__Annot/Item/index.html
index 6dfdde05f..5f236ae61 100644
--- a/website/static/odoc/next/infer/IR__Annot/Item/index.html
+++ b/website/static/odoc/next/infer/IR__Annot/Item/index.html
@@ -1,2 +1,2 @@
-Item (infer.IR__Annot.Item)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__Fieldname/index.html b/website/static/odoc/next/infer/IR__Fieldname/index.html
index a6976743b..42b129c0f 100644
--- a/website/static/odoc/next/infer/IR__Fieldname/index.html
+++ b/website/static/odoc/next/infer/IR__Fieldname/index.html
@@ -1,2 +1,2 @@
-IR__Fieldname (infer.IR__Fieldname)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__Ident/index.html b/website/static/odoc/next/infer/IR__Ident/index.html
index d88f793a1..fa2af07f3 100644
--- a/website/static/odoc/next/infer/IR__Ident/index.html
+++ b/website/static/odoc/next/infer/IR__Ident/index.html
@@ -1,2 +1,2 @@
-IR__Ident (infer.IR__Ident)
Module IR__Ident
Identifiers: program variables and logical variables
val counts_of_sequence : tIStdlib.IStd.Sequence.t->t-> int
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__IntLit/index.html b/website/static/odoc/next/infer/IR__IntLit/index.html
index 802fa4e62..2aee4fd74 100644
--- a/website/static/odoc/next/infer/IR__IntLit/index.html
+++ b/website/static/odoc/next/infer/IR__IntLit/index.html
@@ -1,2 +1,2 @@
-IR__IntLit (infer.IR__IntLit)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__JavaClassName/index.html b/website/static/odoc/next/infer/IR__JavaClassName/index.html
index 3efab059b..59f6b95ed 100644
--- a/website/static/odoc/next/infer/IR__JavaClassName/index.html
+++ b/website/static/odoc/next/infer/IR__JavaClassName/index.html
@@ -1,2 +1,2 @@
-IR__JavaClassName (infer.IR__JavaClassName)
True if it is either "classic" anonymous Java class: https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html, or a synthetic Java class corresponding to a lambda expression.
val get_user_defined_class_if_anonymous_inner : t->t option
If the current class is anonymous (is_anonymous_inner_class_name is true), return the corresponding user defined (not anonymous) class this anonymous class belongs to.
In general case, BOTH anonymous classes and user-defined classes can be nested: SomeClass$NestedClass$1$17$5. In this example, we should return SomeClass$NestedClass.
If this is not an anonymous class, returns None.
\ No newline at end of file
+IR__JavaClassName (infer.IR__JavaClassName)
True if it is either "classic" anonymous Java class: https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html, or a synthetic Java class corresponding to a lambda expression.
val get_user_defined_class_if_anonymous_inner : t->t option
If the current class is anonymous (is_anonymous_inner_class_name is true), return the corresponding user defined (not anonymous) class this anonymous class belongs to.
In general case, BOTH anonymous classes and user-defined classes can be nested: SomeClass$NestedClass$1$17$5. In this example, we should return SomeClass$NestedClass.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__Mangled/index.html b/website/static/odoc/next/infer/IR__Mangled/index.html
index fd0b1fee4..489d0505a 100644
--- a/website/static/odoc/next/infer/IR__Mangled/index.html
+++ b/website/static/odoc/next/infer/IR__Mangled/index.html
@@ -1,2 +1,2 @@
-IR__Mangled (infer.IR__Mangled)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__Procname/index.html b/website/static/odoc/next/infer/IR__Procname/index.html
index c17f66885..66efb43cb 100644
--- a/website/static/odoc/next/infer/IR__Procname/index.html
+++ b/website/static/odoc/next/infer/IR__Procname/index.html
@@ -1,2 +1,2 @@
-IR__Procname (infer.IR__Procname)
Type of procedure names. WithBlockParameters is used for creating an instantiation of a method that contains block parameters and it's called with concrete blocks. For example: foo(Block block) {block();}bar() {foo(my_block)} is executed as foo_my_block() {my_block(); } where foo_my_block is created with WithBlockParameters (foo, my_block)
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"
Type of procedure names. WithBlockParameters is used for creating an instantiation of a method that contains block parameters and it's called with concrete blocks. For example: foo(Block block) {block();}bar() {foo(my_block)} is executed as foo_my_block() {my_block(); } where foo_my_block is created with WithBlockParameters (foo, my_block)
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_copyWithZone : is_mutable:bool->IR.Typ.Name.t->t
Create an Objective-C method for copyWithZone: or mutableCopyWithZone: according to is_mutable.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__Pvar/index.html b/website/static/odoc/next/infer/IR__Pvar/index.html
index f7b1ab2c1..fc49fe4c2 100644
--- a/website/static/odoc/next/infer/IR__Pvar/index.html
+++ b/website/static/odoc/next/infer/IR__Pvar/index.html
@@ -1,2 +1,2 @@
-IR__Pvar (infer.IR__Pvar)
mk_callee name proc_name creates a program var for a callee function with the given function name
val mk_global : ?is_constexpr:bool->?is_ice:bool->?is_pod:bool->?is_static_local:bool->?is_static_global:bool->?is_constant_array:bool->?translation_unit:IBase.SourceFile.t->IR.Mangled.t->t
mk_callee name proc_name creates a program var for a callee function with the given function name
val mk_global : ?is_constexpr:bool->?is_ice:bool->?is_pod:bool->?is_static_local:bool->?is_static_global:bool->?is_constant_array:bool->?translation_unit:IBase.SourceFile.t->IR.Mangled.t->t
val string_of_capture_mode : capture_mode-> string
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__QualifiedCppName/index.html b/website/static/odoc/next/infer/IR__QualifiedCppName/index.html
index 0a2426df2..290b01bff 100644
--- a/website/static/odoc/next/infer/IR__QualifiedCppName/index.html
+++ b/website/static/odoc/next/infer/IR__QualifiedCppName/index.html
@@ -1,2 +1,2 @@
-IR__QualifiedCppName (infer.IR__QualifiedCppName)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__Struct/index.html b/website/static/odoc/next/infer/IR__Struct/index.html
index 1d24c9abb..d524cea5d 100644
--- a/website/static/odoc/next/infer/IR__Struct/index.html
+++ b/website/static/odoc/next/infer/IR__Struct/index.html
@@ -1,2 +1,2 @@
-IR__Struct (infer.IR__Struct)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__Tenv/index.html b/website/static/odoc/next/infer/IR__Tenv/index.html
index f6d3957a7..c37713730 100644
--- a/website/static/odoc/next/infer/IR__Tenv/index.html
+++ b/website/static/odoc/next/infer/IR__Tenv/index.html
@@ -1,2 +1,2 @@
-IR__Tenv (infer.IR__Tenv)
resolve_method ~method_exists tenv class_name procname tries to resolve procname to a method in class_name or its super-classes, that is non-virtual (non-Java-interface method). method_exists adapted_procname methods should check if adapted_procname (procname but with its class potentially changed to some other_class) is among the methods of other_class.
resolve_method ~method_exists tenv class_name procname tries to resolve procname to a method in class_name or its super-classes, that is non-virtual (non-Java-interface method). method_exists adapted_procname methods should check if adapted_procname (procname but with its class potentially changed to some other_class) is among the methods of other_class.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__Typ/Name/Java/index.html b/website/static/odoc/next/infer/IR__Typ/Name/Java/index.html
index a6ec7cdde..0f62de0b8 100644
--- a/website/static/odoc/next/infer/IR__Typ/Name/Java/index.html
+++ b/website/static/odoc/next/infer/IR__Typ/Name/Java/index.html
@@ -1,2 +1,2 @@
-Java (infer.IR__Typ.Name.Java)
val is_anonymous_inner_class_name_opt : t->bool option
return None if it is not a Java class
\ No newline at end of file
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 8793ea7d9..d23fbcfd8 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)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__Typ/index.html b/website/static/odoc/next/infer/IR__Typ/index.html
index c90cf9a99..d952f80b9 100644
--- a/website/static/odoc/next/infer/IR__Typ/index.html
+++ b/website/static/odoc/next/infer/IR__Typ/index.html
@@ -1,2 +1,2 @@
-IR__Typ (infer.IR__Typ)
WARNING: because of type substitutions performed by sub_type and sub_tname, mangling is not guaranteed to be unique to a single type. All the information in the template arguments is also needed for uniqueness.
WARNING: because of type substitutions performed by sub_type and sub_tname, mangling is not guaranteed to be unique to a single type. All the information in the template arguments is also needed for uniqueness.
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IR__Var/index.html b/website/static/odoc/next/infer/IR__Var/index.html
index a82c27516..09abbb5f3 100644
--- a/website/static/odoc/next/infer/IR__Var/index.html
+++ b/website/static/odoc/next/infer/IR__Var/index.html
@@ -1,2 +1,2 @@
-IR__Var (infer.IR__Var)
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IStdlib/IOption/index.html b/website/static/odoc/next/infer/IStdlib/IOption/index.html
index faf44e912..bf0f5170b 100644
--- a/website/static/odoc/next/infer/IStdlib/IOption/index.html
+++ b/website/static/odoc/next/infer/IStdlib/IOption/index.html
@@ -1,2 +1,2 @@
-IOption (infer.IStdlib.IOption)
Module IStdlib.IOption
val find_value_exn : 'a option->'a
Like Option.value_exn but raises Caml.Not_found when called with None.
val value_default_f : f:(unit ->'a)->'a option->'a
Like Option.value ~default:(f ()) but f is called only if None.
val if_none_evalopt : f:(unit ->'a option)->'a option->'a option
if_none_evalopt ~f x evaluates to f () if x = None, otherwise returns x. Useful for chaining matchers where the first returning non-None determines the result.
val if_none_eval : f:(unit ->'a)->'a option->'a
if_none_eval ~f x evaluates to y if x=Some y else to f (). Useful for terminating chains built with if_none_evalopt. This is exactly the same as value_default_f but with a better name.
val exists2 : 'a option->'b option->f:('a->'b-> bool)-> bool
Provides signatures for OCaml 4.08 binding operators
\ No newline at end of file
+IOption (infer.IStdlib.IOption)
Module IStdlib.IOption
val find_value_exn : 'a option->'a
Like Option.value_exn but raises Caml.Not_found when called with None.
val value_default_f : f:(unit ->'a)->'a option->'a
Like Option.value ~default:(f ()) but f is called only if None.
val if_none_evalopt : f:(unit ->'a option)->'a option->'a option
if_none_evalopt ~f x evaluates to f () if x = None, otherwise returns x. Useful for chaining matchers where the first returning non-None determines the result.
val if_none_eval : f:(unit ->'a)->'a option->'a
if_none_eval ~f x evaluates to y if x=Some y else to f (). Useful for terminating chains built with if_none_evalopt. This is exactly the same as value_default_f but with a better name.
val exists2 : 'a option->'b option->f:('a->'b-> bool)-> bool
Like Option.exists but gets two parameters.
val map_changed : 'a option->equal:('a->'a-> bool)->f:('a->'a)->'a option
\ No newline at end of file
diff --git a/website/static/odoc/next/infer/IStdlib/PhysEqual/index.html b/website/static/odoc/next/infer/IStdlib/PhysEqual/index.html
index 9cfa293a8..acb1e8f22 100644
--- a/website/static/odoc/next/infer/IStdlib/PhysEqual/index.html
+++ b/website/static/odoc/next/infer/IStdlib/PhysEqual/index.html
@@ -1,5 +1,5 @@
-PhysEqual (infer.IStdlib.PhysEqual)