From 121f310098254d1a228568214d590f25c3a3b2b4 Mon Sep 17 00:00:00 2001 From: David Pichardie Date: Fri, 12 Jul 2024 05:37:59 -0700 Subject: [PATCH] [quandary removal] fix website Summary: running make doc-publish Reviewed By: jvillard Differential Revision: D59275965 fbshipit-source-id: 17c613f6a83058bf2831ce1eff94fb2d3f579c7e --- website/checkers.json | 12 +- website/docs/all-categories.md | 2 + website/docs/all-checkers.md | 7 +- website/docs/all-issue-types.md | 141 +- website/docs/checker-datalog.md | 23 - website/docs/checker-pulse.md | 1 + website/docs/checker-self-in-block.md | 1 + website/static/man/next/infer-analyze.1.html | 854 +++++---- website/static/man/next/infer-capture.1.html | 371 ++-- website/static/man/next/infer-compile.1.html | 77 +- website/static/man/next/infer-debug.1.html | 140 +- website/static/man/next/infer-explore.1.html | 54 +- website/static/man/next/infer-help.1.html | 62 +- website/static/man/next/infer-report.1.html | 237 ++- .../static/man/next/infer-reportdiff.1.html | 103 +- website/static/man/next/infer-run.1.html | 197 ++- website/static/man/next/infer.1.html | 1566 ++++++++--------- .../infer/Absint/AccessPath/Abs/index.html | 2 +- .../next/infer/Absint/AccessPath/index.html | 2 +- .../infer/Absint/AndroidFramework/index.html | 2 +- .../next/infer/Absint/Annotations/index.html | 2 +- .../next/infer/Absint/FormalMap/index.html | 2 +- .../odoc/next/infer/Absint/HilExp/index.html | 4 +- .../next/infer/Absint/Passthrough/index.html | 2 +- .../infer/Absint/Sink/Make/Set/index.html | 2 - .../Sink/Make/argument-1-Kind/index.html | 7 - .../next/infer/Absint/Sink/Make/index.html | 2 - .../odoc/next/infer/Absint/Sink/index.html | 2 +- .../infer/Absint/Source/Make/Set/index.html | 2 - .../Source/Make/argument-1-Kind/index.html | 10 - .../next/infer/Absint/Source/Make/index.html | 10 - .../odoc/next/infer/Absint/Source/index.html | 4 +- website/static/odoc/next/infer/BO/index.html | 2 +- .../Backend/CallbackOfChecker/index.html | 7 +- .../LineageTaint/TaintConfig/index.html | 4 +- .../Backend/Payloads/Fields/Direct/index.html | 63 +- .../infer/Backend/Payloads/Fields/index.html | 88 +- .../next/infer/Backend/Payloads/index.html | 4 +- .../infer/Biabduction/BuiltinDefn/index.html | 2 +- .../next/infer/Biabduction/Errdesc/index.html | 8 +- .../infer/Checkers/Lineage/Out/index.html | 2 +- .../next/infer/Checkers/Lineage/index.html | 2 +- .../Checkers/LineageShape/Summary/index.html | 8 +- .../infer/Datalog/DatalogAnalysis/index.html | 2 - .../odoc/next/infer/Datalog/Fact/index.html | 29 - .../next/infer/Datalog/Factgen/index.html | 2 - .../next/infer/Datalog/Reflect/index.html | 4 - .../static/odoc/next/infer/Datalog/index.html | 2 - .../odoc/next/infer/IBase/Checker/index.html | 2 +- .../odoc/next/infer/IBase/Config/index.html | 2 +- .../next/infer/IBase/IssueType/index.html | 2 +- .../infer/IBase/PayloadId/Variants/index.html | 21 +- .../next/infer/IBase/PayloadId/index.html | 2 +- .../IBase/ResultsDirEntryName/index.html | 2 +- .../static/odoc/next/infer/IBase/index.html | 2 +- .../IR/BUILTINS/module-type-S/index.html | 2 +- .../odoc/next/infer/IR/BuiltinDecl/index.html | 2 +- .../odoc/next/infer/IR/Ident/index.html | 2 +- .../next/infer/IR/Procname/Java/index.html | 2 +- .../infer/IR/Procname/ObjC_Cpp/index.html | 2 +- .../odoc/next/infer/IR/Procname/index.html | 2 +- .../next/infer/IR/QualifiedCppName/index.html | 2 +- .../static/odoc/next/infer/IR/Tenv/index.html | 2 +- .../static/odoc/next/infer/IR/Var/index.html | 2 +- .../infer/Integration/DatalogFacts/index.html | 2 - .../next/infer/Integration/Driver/index.html | 5 +- .../odoc/next/infer/Integration/index.html | 2 +- .../AddressAttributes/index.html | 12 +- .../CanonValue/Attributes/index.html | 9 +- .../PulseAbductiveDomain/Summary/index.html | 6 + .../Pulselib/PulseAccessResult/index.html | 6 + .../PulseAttribute/Attributes/index.html | 2 +- .../infer/Pulselib/PulseAttribute/index.html | 4 +- .../PulseBaseAddressAttributes/index.html | 12 +- .../module-type-S/index.html | 9 +- .../Make/Attributes/index.html | 9 +- .../module-type-S/Attributes/index.html | 9 +- .../infer/Pulselib/PulseDiagnostic/index.html | 2 +- .../infer/Pulselib/PulseFormula/index.html | 2 +- .../Pulselib/PulseModelsDSL/Syntax/index.html | 2 +- .../Quandary/ClangTaintAnalysis/index.html | 4 - .../Quandary/ClangTrace/Sanitizer/index.html | 2 - .../Quandary/ClangTrace/Sink/Kind/index.html | 2 - .../Quandary/ClangTrace/Sink/Set/index.html | 2 - .../infer/Quandary/ClangTrace/Sink/index.html | 7 - .../ClangTrace/Source/Kind/index.html | 2 - .../Quandary/ClangTrace/Source/Set/index.html | 2 - .../Quandary/ClangTrace/Source/index.html | 10 - .../Sources/Footprint/AccessMap/index.html | 12 - .../Sources/Footprint/TraceDomain/index.html | 2 - .../ClangTrace/Sources/Footprint/index.html | 10 - .../Sources/FootprintConfig/index.html | 2 - .../ClangTrace/Sources/Known/index.html | 2 - .../ClangTrace/Sources/Sanitizers/index.html | 2 - .../Quandary/ClangTrace/Sources/index.html | 2 - .../next/infer/Quandary/ClangTrace/index.html | 19 - .../Quandary/JavaTaintAnalysis/index.html | 4 - .../Quandary/JavaTrace/Sanitizer/index.html | 2 - .../Quandary/JavaTrace/Sink/Kind/index.html | 2 - .../Quandary/JavaTrace/Sink/Set/index.html | 2 - .../infer/Quandary/JavaTrace/Sink/index.html | 7 - .../Quandary/JavaTrace/Source/Kind/index.html | 2 - .../Quandary/JavaTrace/Source/Set/index.html | 2 - .../Quandary/JavaTrace/Source/index.html | 10 - .../Sources/Footprint/AccessMap/index.html | 12 - .../Sources/Footprint/TraceDomain/index.html | 2 - .../JavaTrace/Sources/Footprint/index.html | 10 - .../Sources/FootprintConfig/index.html | 2 - .../JavaTrace/Sources/Known/index.html | 2 - .../JavaTrace/Sources/Sanitizers/index.html | 2 - .../Quandary/JavaTrace/Sources/index.html | 2 - .../next/infer/Quandary/JavaTrace/index.html | 19 - .../QuandaryConfig/Sanitizer/index.html | 2 - .../Quandary/QuandaryConfig/Sink/index.html | 2 - .../Quandary/QuandaryConfig/Source/index.html | 2 - .../infer/Quandary/QuandaryConfig/index.html | 2 - .../QuandarySummary/AccessTree/index.html | 2 - .../Clang/AccessMap/index.html | 12 - .../Clang/TraceDomain/index.html | 2 - .../Quandary/QuandarySummary/Clang/index.html | 10 - .../QuandarySummary/Java/AccessMap/index.html | 12 - .../Java/TraceDomain/index.html | 2 - .../Quandary/QuandarySummary/Java/index.html | 10 - .../infer/Quandary/QuandarySummary/index.html | 2 - .../CFG/Node/IdMap/index.html | 12 - .../CFG/Node/IdSet/index.html | 2 - .../TransferFunctions/CFG/Node/index.html | 2 - .../TransferFunctions/CFG/index.html | 10 - .../TransferFunctions/Domain/index.html | 3 - .../Interpreter/TransferFunctions/index.html | 9 - .../Make/Analyzer/Interpreter/index.html | 31 - .../TaintAnalysis/Make/Analyzer/index.html | 6 - .../TaintAnalysis/Make/HilConfig/index.html | 2 - .../argument-1-CFG/Node/IdMap/index.html | 12 - .../argument-1-CFG/Node/IdSet/index.html | 2 - .../argument-1-CFG/Node/index.html | 5 - .../argument-1-CFG/index.html | 10 - .../Make/TransferFunctions/index.html | 82 - .../AccessTree/AccessMap/index.html | 12 - .../AccessTree/TraceDomain/index.html | 2 - .../AccessTree/index.html | 10 - .../Trace/Sanitizer/index.html | 2 - .../Trace/Sink/Kind/index.html | 2 - .../Trace/Sink/Set/index.html | 2 - .../Trace/Sink/index.html | 7 - .../Trace/Source/Kind/index.html | 2 - .../Trace/Source/Set/index.html | 2 - .../Trace/Source/index.html | 10 - .../Sources/Footprint/AccessMap/index.html | 12 - .../Sources/Footprint/TraceDomain/index.html | 2 - .../Trace/Sources/Footprint/index.html | 10 - .../Trace/Sources/FootprintConfig/index.html | 2 - .../Trace/Sources/Known/index.html | 2 - .../Trace/Sources/Sanitizers/index.html | 2 - .../Trace/Sources/index.html | 2 - .../Trace/index.html | 19 - .../argument-1-TaintSpecification/index.html | 13 - .../Quandary/TaintAnalysis/Make/index.html | 7 - .../infer/Quandary/TaintAnalysis/index.html | 2 - .../next/infer/Quandary/TaintSpec/index.html | 2 - .../AccessTree/AccessMap/index.html | 12 - .../AccessTree/TraceDomain/index.html | 2 - .../module-type-S/AccessTree/index.html | 10 - .../module-type-S/Trace/Sanitizer/index.html | 2 - .../module-type-S/Trace/Sink/Kind/index.html | 2 - .../module-type-S/Trace/Sink/Set/index.html | 2 - .../module-type-S/Trace/Sink/index.html | 7 - .../Trace/Source/Kind/index.html | 2 - .../module-type-S/Trace/Source/Set/index.html | 2 - .../module-type-S/Trace/Source/index.html | 10 - .../Sources/Footprint/AccessMap/index.html | 12 - .../Sources/Footprint/TraceDomain/index.html | 2 - .../Trace/Sources/Footprint/index.html | 10 - .../Trace/Sources/FootprintConfig/index.html | 2 - .../Trace/Sources/Known/index.html | 2 - .../Trace/Sources/Sanitizers/index.html | 2 - .../module-type-S/Trace/Sources/index.html | 2 - .../TaintSpec/module-type-S/Trace/index.html | 19 - .../TaintSpec/module-type-S/index.html | 13 - .../odoc/next/infer/Quandary/index.html | 2 - .../AnalyzerTester/StructuredSil/index.html | 12 +- .../CFG/Node/IdMap/index.html | 12 - .../CFG/Node/IdSet/index.html | 2 - .../TransferFunctions/CFG/Node/index.html | 2 - .../TransferFunctions/CFG/index.html | 10 - .../TransferFunctions/Domain/index.html | 3 - .../Interpreter/TransferFunctions/index.html | 9 - .../Analyzer/Interpreter/index.html | 31 - .../MockTaintAnalysis/Analyzer/index.html | 6 - .../MockTaintAnalysis/HilConfig/index.html | 2 - .../TaintDomain/AccessMap/index.html | 12 - .../TaintDomain/TraceDomain/index.html | 2 - .../MockTaintAnalysis/TaintDomain/index.html | 10 - .../TraceDomain/Sanitizer/index.html | 2 - .../TraceDomain/Sink/Kind/index.html | 2 - .../TraceDomain/Sink/Set/index.html | 2 - .../TraceDomain/Sink/index.html | 7 - .../TraceDomain/Sinks/index.html | 2 - .../TraceDomain/Source/Kind/index.html | 2 - .../TraceDomain/Source/Set/index.html | 2 - .../TraceDomain/Source/index.html | 10 - .../Sources/Footprint/AccessMap/index.html | 12 - .../Sources/Footprint/TraceDomain/index.html | 2 - .../TraceDomain/Sources/Footprint/index.html | 10 - .../Sources/FootprintConfig/index.html | 2 - .../TraceDomain/Sources/Known/index.html | 2 - .../TraceDomain/Sources/Sanitizers/index.html | 2 - .../TraceDomain/Sources/index.html | 2 - .../MockTaintAnalysis/TraceDomain/index.html | 19 - .../CFG/Node/IdMap/index.html | 12 - .../CFG/Node/IdSet/index.html | 2 - .../TransferFunctions/CFG/Node/index.html | 2 - .../TransferFunctions/CFG/index.html | 10 - .../argument-1-CFG/Node/IdMap/index.html | 12 - .../argument-1-CFG/Node/IdSet/index.html | 2 - .../argument-1-CFG/Node/index.html | 5 - .../argument-1-CFG/index.html | 10 - .../TransferFunctions/index.html | 82 - .../TaintTests/MockTaintAnalysis/index.html | 7 - .../TaintTests/MockTrace/Sanitizer/index.html | 2 - .../TaintTests/MockTrace/Sink/Kind/index.html | 2 - .../TaintTests/MockTrace/Sink/Set/index.html | 2 - .../TaintTests/MockTrace/Sink/index.html | 7 - .../MockTrace/Source/Kind/index.html | 2 - .../MockTrace/Source/Set/index.html | 2 - .../TaintTests/MockTrace/Source/index.html | 10 - .../Sources/Footprint/AccessMap/index.html | 12 - .../Sources/Footprint/TraceDomain/index.html | 2 - .../MockTrace/Sources/Footprint/index.html | 10 - .../Sources/FootprintConfig/index.html | 2 - .../MockTrace/Sources/Known/index.html | 2 - .../MockTrace/Sources/Sanitizers/index.html | 2 - .../TaintTests/MockTrace/Sources/index.html | 2 - .../UnitTests/TaintTests/MockTrace/index.html | 19 - .../TestInterpreter/AI_RPO/M/index.html | 15 - .../AI_RPO/T/CFG/Node/IdMap/index.html | 14 - .../AI_RPO/T/CFG/Node/IdSet/index.html | 3 - .../AI_RPO/T/CFG/Node/index.html | 3 - .../TestInterpreter/AI_RPO/T/CFG/index.html | 12 - .../AI_RPO/T/Domain/index.html | 3 - .../TestInterpreter/AI_RPO/T/index.html | 9 - .../TestInterpreter/AI_RPO/index.html | 15 - .../TestInterpreter/AI_WTO/M/index.html | 15 - .../AI_WTO/T/CFG/Node/IdMap/index.html | 14 - .../AI_WTO/T/CFG/Node/IdSet/index.html | 3 - .../AI_WTO/T/CFG/Node/index.html | 3 - .../TestInterpreter/AI_WTO/T/CFG/index.html | 12 - .../AI_WTO/T/Domain/index.html | 3 - .../TestInterpreter/AI_WTO/T/index.html | 9 - .../TestInterpreter/AI_WTO/index.html | 15 - .../TaintTests/TestInterpreter/index.html | 27 - .../infer/UnitTests/TaintTests/index.html | 2 - .../UnitTests/TraceTests/MockSink/index.html | 2 - .../TraceTests/MockSource/Kind/index.html | 10 - .../TraceTests/MockSource/Set/index.html | 2 - .../TraceTests/MockSource/index.html | 10 - .../TraceTests/MockTrace/Sanitizer/index.html | 2 - .../TraceTests/MockTrace/Sink/Kind/index.html | 2 - .../TraceTests/MockTrace/Sink/Set/index.html | 2 - .../TraceTests/MockTrace/Sink/index.html | 7 - .../MockTrace/Source/Kind/index.html | 2 - .../MockTrace/Source/Set/index.html | 2 - .../TraceTests/MockTrace/Source/index.html | 10 - .../Sources/Footprint/AccessMap/index.html | 12 - .../Sources/Footprint/TraceDomain/index.html | 2 - .../MockTrace/Sources/Footprint/index.html | 10 - .../Sources/FootprintConfig/index.html | 2 - .../MockTrace/Sources/Known/index.html | 2 - .../MockTrace/Sources/Sanitizers/index.html | 2 - .../TraceTests/MockTrace/Sources/index.html | 2 - .../UnitTests/TraceTests/MockTrace/index.html | 19 - .../TraceTests/MockTraceElem/Kind/index.html | 2 - .../TraceTests/MockTraceElem/Set/index.html | 2 - .../TraceTests/MockTraceElem/index.html | 2 - .../infer/UnitTests/TraceTests/index.html | 2 - .../odoc/next/infer/UnitTests/index.html | 2 +- website/static/odoc/next/infer/index.html | 2 +- 277 files changed, 1962 insertions(+), 3675 deletions(-) delete mode 100644 website/docs/checker-datalog.md delete mode 100644 website/static/odoc/next/infer/Absint/Sink/Make/Set/index.html delete mode 100644 website/static/odoc/next/infer/Absint/Sink/Make/argument-1-Kind/index.html delete mode 100644 website/static/odoc/next/infer/Absint/Sink/Make/index.html delete mode 100644 website/static/odoc/next/infer/Absint/Source/Make/Set/index.html delete mode 100644 website/static/odoc/next/infer/Absint/Source/Make/argument-1-Kind/index.html delete mode 100644 website/static/odoc/next/infer/Absint/Source/Make/index.html delete mode 100644 website/static/odoc/next/infer/Datalog/DatalogAnalysis/index.html delete mode 100644 website/static/odoc/next/infer/Datalog/Fact/index.html delete mode 100644 website/static/odoc/next/infer/Datalog/Factgen/index.html delete mode 100644 website/static/odoc/next/infer/Datalog/Reflect/index.html delete mode 100644 website/static/odoc/next/infer/Datalog/index.html delete mode 100644 website/static/odoc/next/infer/Integration/DatalogFacts/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTaintAnalysis/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTrace/Sanitizer/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTrace/Sink/Kind/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTrace/Sink/Set/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTrace/Sink/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTrace/Source/Kind/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTrace/Source/Set/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTrace/Source/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Footprint/AccessMap/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Footprint/TraceDomain/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Footprint/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTrace/Sources/FootprintConfig/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Known/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Sanitizers/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTrace/Sources/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/ClangTrace/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTaintAnalysis/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTrace/Sanitizer/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTrace/Sink/Kind/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTrace/Sink/Set/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTrace/Sink/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTrace/Source/Kind/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTrace/Source/Set/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTrace/Source/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Footprint/AccessMap/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Footprint/TraceDomain/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Footprint/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTrace/Sources/FootprintConfig/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Known/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Sanitizers/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTrace/Sources/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/JavaTrace/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/QuandaryConfig/Sanitizer/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/QuandaryConfig/Sink/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/QuandaryConfig/Source/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/QuandaryConfig/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/QuandarySummary/AccessTree/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/QuandarySummary/Clang/AccessMap/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/QuandarySummary/Clang/TraceDomain/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/QuandarySummary/Clang/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/QuandarySummary/Java/AccessMap/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/QuandarySummary/Java/TraceDomain/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/QuandarySummary/Java/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/QuandarySummary/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdMap/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdSet/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/Node/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/Domain/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/HilConfig/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/argument-1-CFG/Node/IdMap/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/argument-1-CFG/Node/IdSet/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/argument-1-CFG/Node/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/argument-1-CFG/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/AccessTree/AccessMap/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/AccessTree/TraceDomain/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/AccessTree/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sanitizer/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sink/Kind/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sink/Set/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sink/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Source/Kind/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Source/Set/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Source/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Footprint/AccessMap/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Footprint/TraceDomain/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Footprint/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/FootprintConfig/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Known/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Sanitizers/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintAnalysis/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/AccessTree/AccessMap/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/AccessTree/TraceDomain/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/AccessTree/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sanitizer/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sink/Kind/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sink/Set/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sink/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Source/Kind/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Source/Set/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Source/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Footprint/AccessMap/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Footprint/TraceDomain/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Footprint/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/FootprintConfig/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Known/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Sanitizers/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/index.html delete mode 100644 website/static/odoc/next/infer/Quandary/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdMap/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdSet/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/Node/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/Domain/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/HilConfig/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TaintDomain/AccessMap/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TaintDomain/TraceDomain/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TaintDomain/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sanitizer/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sink/Kind/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sink/Set/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sink/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sinks/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Source/Kind/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Source/Set/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Source/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Footprint/AccessMap/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Footprint/TraceDomain/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Footprint/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/FootprintConfig/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Known/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Sanitizers/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/Node/IdMap/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/Node/IdSet/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/Node/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/argument-1-CFG/Node/IdMap/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/argument-1-CFG/Node/IdSet/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/argument-1-CFG/Node/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/argument-1-CFG/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sanitizer/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sink/Kind/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sink/Set/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sink/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Source/Kind/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Source/Set/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Source/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Footprint/AccessMap/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Footprint/TraceDomain/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Footprint/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/FootprintConfig/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Known/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Sanitizers/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/M/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/Node/IdMap/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/Node/IdSet/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/Node/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/Domain/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/M/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/Node/IdMap/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/Node/IdSet/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/Node/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/Domain/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TaintTests/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockSink/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockSource/Kind/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockSource/Set/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockSource/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sanitizer/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sink/Kind/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sink/Set/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sink/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Source/Kind/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Source/Set/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Source/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Footprint/AccessMap/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Footprint/TraceDomain/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Footprint/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/FootprintConfig/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Known/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Sanitizers/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTraceElem/Kind/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTraceElem/Set/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/MockTraceElem/index.html delete mode 100644 website/static/odoc/next/infer/UnitTests/TraceTests/index.html diff --git a/website/checkers.json b/website/checkers.json index cb654eec154..2e8cb854c8f 100644 --- a/website/checkers.json +++ b/website/checkers.json @@ -4,13 +4,13 @@ "all-checkers", "all-categories", "all-issue-types", "checker-annotation-reachability", "checker-biabduction", "checker-bufferoverrun", "checker-config-impact-analysis", - "checker-cost", "checker-datalog", "checker-fragment-retains-view", - "checker-impurity", "checker-inefficient-keyset-iterator", - "checker-lineage", "checker-litho-required-props", "checker-liveness", + "checker-cost", "checker-fragment-retains-view", "checker-impurity", + "checker-inefficient-keyset-iterator", "checker-lineage", + "checker-litho-required-props", "checker-liveness", "checker-loop-hoisting", "checker-parameter-not-null-checked", "checker-printf-args", "checker-pulse", "checker-purity", - "checker-quandary", "checker-racerd", "checker-resource-leak-lab", - "checker-sil-validation", "checker-siof", "checker-scope-leakage", - "checker-self-in-block", "checker-starvation", "checker-topl" + "checker-racerd", "checker-resource-leak-lab", "checker-sil-validation", + "checker-siof", "checker-scope-leakage", "checker-self-in-block", + "checker-starvation", "checker-topl" ] } \ No newline at end of file diff --git a/website/docs/all-categories.md b/website/docs/all-categories.md index ff9ce2c2aaf..dd302b6b043 100644 --- a/website/docs/all-categories.md +++ b/website/docs/all-categories.md @@ -96,9 +96,11 @@ Issue types in this category: - [MIXED_SELF_WEAKSELF](/docs/next/all-issue-types#mixed_self_weakself) - [PULSE_RESOURCE_LEAK](/docs/next/all-issue-types#pulse_resource_leak) - [PULSE_UNAWAITED_AWAITABLE](/docs/next/all-issue-types#pulse_unawaited_awaitable) +- [PULSE_UNFINISHED_BUILDER](/docs/next/all-issue-types#pulse_unfinished_builder) - [RESOURCE_LEAK](/docs/next/all-issue-types#resource_leak) - [RETAIN_CYCLE](/docs/next/all-issue-types#retain_cycle) - [RETAIN_CYCLE_NO_WEAK_INFO](/docs/next/all-issue-types#retain_cycle_no_weak_info) +- [SELF_IN_BLOCK_PASSED_TO_INIT](/docs/next/all-issue-types#self_in_block_passed_to_init) ## Runtime exception diff --git a/website/docs/all-checkers.md b/website/docs/all-checkers.md index ea58e3e3d23..526d5c9597b 100644 --- a/website/docs/all-checkers.md +++ b/website/docs/all-checkers.md @@ -37,12 +37,6 @@ Computes the asymptotic complexity of functions with respect to execution cost o [Visit here for more information.](/docs/next/checker-cost) -## Datalog-based points-to analysis - -Experimental datalog-based points-to analysis. - -[Visit here for more information.](/docs/next/checker-datalog) - ## Fragment Retains View Detects when Android fragments are not explicitly nullified before becoming unreachable. @@ -160,3 +154,4 @@ Detect various kinds of situations when no progress is being made because of con Detect errors based on user-provided state machines describing temporal properties over multiple objects. [Visit here for more information.](/docs/next/checker-topl) + diff --git a/website/docs/all-issue-types.md b/website/docs/all-issue-types.md index b7df698bc6c..558edb88fd1 100644 --- a/website/docs/all-issue-types.md +++ b/website/docs/all-issue-types.md @@ -535,16 +535,6 @@ For more information see the [`NULLPTR_DEREFERENCE`](#nullptr_dereference) issue *Reported as "Constant Address Dereference Latent" by [pulse](/docs/next/checker-pulse).* A latent [CONSTANT_ADDRESS_DEREFERENCE](#constant_address_dereference). See the [documentation on Pulse latent issues](/docs/next/checker-pulse#latent-issues). -## CREATE_INTENT_FROM_URI - -*Reported as "Create Intent From Uri" by [quandary](/docs/next/checker-quandary).* - -Create an intent/start a component using a (possibly user-controlled) URI. may or may not be an issue depending on where the URI comes from. -## CROSS_SITE_SCRIPTING - -*Reported as "Cross Site Scripting" by [quandary](/docs/next/checker-quandary).* - -Untrusted data flows into HTML; XSS risk. ## CXX_REF_CAPTURED_IN_BLOCK *Category: [Memory error](/docs/next/all-categories#memory-error). Reported as "C++ Reference Captured in Block" by [self-in-block](/docs/next/checker-self-in-block).* @@ -574,11 +564,6 @@ dereferences it later. *Reported as "Dangling Pointer Dereference" by [biabduction](/docs/next/checker-biabduction).* -## DATALOG_FACT - -*Reported as "Datalog Fact" by [datalog](/docs/next/checker-datalog).* - -Datalog fact used as input for a datalog solver. ## DATA_FLOW_TO_SINK *Category: [Sensitive data flow](/docs/next/all-categories#sensitive-data-flow). Reported as "Data Flow to Sink" by [pulse](/docs/next/checker-pulse).* @@ -770,11 +755,6 @@ void symbolic_expensive_hoist(int size) { } ``` -## EXPOSED_INSECURE_INTENT_HANDLING - -*Reported as "Exposed Insecure Intent Handling" by [quandary](/docs/next/checker-quandary).* - -Undocumented. ## GUARDEDBY_VIOLATION *Category: [Concurrency](/docs/next/all-categories#concurrency). Reported as "GuardedBy Violation" by [racerd](/docs/next/checker-racerd).* @@ -925,11 +905,6 @@ void call_top_cost_FP() { ``` -## INSECURE_INTENT_HANDLING - -*Reported as "Insecure Intent Handling" by [quandary](/docs/next/checker-quandary).* - -Undocumented. ## INTEGER_OVERFLOW_L1 *Reported as "Integer Overflow L1" by [bufferoverrun](/docs/next/checker-bufferoverrun).* @@ -1015,11 +990,6 @@ void invariant_hoist(int size) { *Category: [Perf regression](/docs/next/all-categories#perf-regression). Reported as "Ipc On Ui Thread" by [starvation](/docs/next/checker-starvation).* A blocking `Binder` IPC call occurs on the UI thread. -## JAVASCRIPT_INJECTION - -*Reported as "Javascript Injection" by [quandary](/docs/next/checker-quandary).* - -Untrusted data flows into JavaScript. ## LAB_RESOURCE_LEAK *Reported as "Lab Resource Leak" by [resource-leak-lab](/docs/next/checker-resource-leak-lab).* @@ -1072,11 +1042,6 @@ container (an array, a vector, etc). Infer considers a method as private if it's not exported in the header-file interface. -## LOGGING_PRIVATE_DATA - -*Reported as "Logging Private Data" by [quandary](/docs/next/checker-quandary).* - -Undocumented. ## MEMORY_LEAK_C *Category: [Resource leak](/docs/next/all-categories#resource-leak). Reported as "Memory Leak" by [pulse](/docs/next/checker-pulse).* @@ -2023,6 +1988,11 @@ class A { Failure to `await` an `Awaitable` can lead to non-deterministic amount of the asynchronous call actually being executed, and can also indicate a logical confusion between `T` and `Awaitable` that may not be caught by the type-checker. +## PULSE_UNFINISHED_BUILDER + +*Category: [Resource leak](/docs/next/all-categories#resource-leak). Reported as "Unfinished Builder" by [pulse](/docs/next/checker-pulse).* + +See [RESOURCE_LEAK](#resource_leak) ## PULSE_UNINITIALIZED_CONST *Category: [Runtime exception](/docs/next/all-categories#runtime-exception). Reported as "Uninitialized Const" by [pulse](/docs/next/checker-pulse).* @@ -2275,11 +2245,6 @@ void set_impure(int x, int y) { } ``` -## QUANDARY_TAINT_ERROR - -*Reported as "Taint Error" by [quandary](/docs/next/checker-quandary).* - -Generic taint error when nothing else fits. ## REGEX_OP_ON_UI_THREAD *Category: [Perf regression](/docs/next/all-categories#perf-regression). Reported as "Regex Op On Ui Thread" by [starvation](/docs/next/checker-starvation).* @@ -2677,31 +2642,40 @@ listed for the given class returns an object that is known to have scope SA. (Th as a form of lightweight modeling.) A scope class is the name of the class that represents a given scope. -## SENSITIVE_DATA_FLOW - -*Category: [Sensitive data flow](/docs/next/all-categories#sensitive-data-flow). Reported as "Sensitive Data Flow" by [pulse](/docs/next/checker-pulse).* +## SELF_IN_BLOCK_PASSED_TO_INIT -A flow of sensitive data was detected from a source. -## SHELL_INJECTION +*Category: [Resource leak](/docs/next/all-categories#resource-leak). Reported as "Self In Block Passed To Init" by [self-in-block](/docs/next/checker-self-in-block).* -*Reported as "Shell Injection" by [quandary](/docs/next/checker-quandary).* +This check flags when `self` is captured in a block that is passed to an initialiser method. That +could cause retain cycles if the initialiser code retains the block. -Environment variable or file data flowing to shell. -## SHELL_INJECTION_RISK +Example: -*Reported as "Shell Injection Risk" by [quandary](/docs/next/checker-quandary).* +```objectivec + [obj initWithHandler:^() { + [self foo]; + ... + }]; +``` -Code injection if the caller of the endpoint doesn't sanitize on its end. -## SQL_INJECTION +Instead it's better to use the `weakSelf`/`strongSelf` pattern. -*Reported as "Sql Injection" by [quandary](/docs/next/checker-quandary).* +```objectivec + __weak __typeof(self) weakSelf = self; + [obj initWithHandler:^() { + __strong __typeof(weakSelf) strongSelf = weakSelf; + if (strongSelf) { + [strongSelf foo]; + } + ... + }]; +``` -Untrusted and unescaped data flows to SQL. -## SQL_INJECTION_RISK +## SENSITIVE_DATA_FLOW -*Reported as "Sql Injection Risk" by [quandary](/docs/next/checker-quandary).* +*Category: [Sensitive data flow](/docs/next/all-categories#sensitive-data-flow). Reported as "Sensitive Data Flow" by [pulse](/docs/next/checker-pulse).* -Untrusted and unescaped data flows to SQL. +A flow of sensitive data was detected from a source. ## STACK_VARIABLE_ADDRESS_ESCAPE *Category: [Memory error](/docs/next/all-categories#memory-error). Reported as "Stack Variable Address Escape" by [pulse](/docs/next/checker-pulse).* @@ -2961,61 +2935,6 @@ See [Topl](/docs/next/checker-topl#what-is-it) for an example *Category: [Sensitive data flow](/docs/next/all-categories#sensitive-data-flow). Reported as "Topl Error Latent" by [topl](/docs/next/checker-topl).* A latent [TOPL_ERROR](#topl_error). See the [documentation on Pulse latent issues](/docs/next/checker-pulse#latent-issues). -## UNTRUSTED_BUFFER_ACCESS - -*Reported as "Untrusted Buffer Access" by [quandary](/docs/next/checker-quandary).* - -Untrusted data of any kind flowing to buffer. -## UNTRUSTED_DESERIALIZATION - -*Reported as "Untrusted Deserialization" by [quandary](/docs/next/checker-quandary).* - -User-controlled deserialization. -## UNTRUSTED_DESERIALIZATION_RISK - -*Reported as "Untrusted Deserialization Risk" by [quandary](/docs/next/checker-quandary).* - -User-controlled deserialization -## UNTRUSTED_ENVIRONMENT_CHANGE_RISK - -*Reported as "Untrusted Environment Change Risk" by [quandary](/docs/next/checker-quandary).* - -User-controlled environment mutation. -## UNTRUSTED_FILE - -*Reported as "Untrusted File" by [quandary](/docs/next/checker-quandary).* - -User-controlled file creation; may be vulnerable to path traversal and more. -## UNTRUSTED_FILE_RISK - -*Reported as "Untrusted File Risk" by [quandary](/docs/next/checker-quandary).* - -User-controlled file creation; may be vulnerable to path traversal and more. -## UNTRUSTED_HEAP_ALLOCATION - -*Reported as "Untrusted Heap Allocation" by [quandary](/docs/next/checker-quandary).* - -Untrusted data of any kind flowing to heap allocation. this can cause crashes or DOS. -## UNTRUSTED_INTENT_CREATION - -*Reported as "Untrusted Intent Creation" by [quandary](/docs/next/checker-quandary).* - -Creating an Intent from user-controlled data. -## UNTRUSTED_URL_RISK - -*Reported as "Untrusted Url Risk" by [quandary](/docs/next/checker-quandary).* - -Untrusted flag, environment variable, or file data flowing to URL. -## UNTRUSTED_VARIABLE_LENGTH_ARRAY - -*Reported as "Untrusted Variable Length Array" by [quandary](/docs/next/checker-quandary).* - -Untrusted data of any kind flowing to stack buffer allocation. Trying to allocate a stack buffer that's too large will cause a stack overflow. -## USER_CONTROLLED_SQL_RISK - -*Reported as "User Controlled Sql Risk" by [quandary](/docs/next/checker-quandary).* - -Untrusted data flows to SQL (no injection risk). ## USE_AFTER_DELETE *Category: [Memory error](/docs/next/all-categories#memory-error). Reported as "Use After Delete" by [pulse](/docs/next/checker-pulse).* diff --git a/website/docs/checker-datalog.md b/website/docs/checker-datalog.md deleted file mode 100644 index 9d27bf3142c..00000000000 --- a/website/docs/checker-datalog.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: "Datalog-based points-to analysis" -description: "Experimental datalog-based points-to analysis." ---- - -Experimental datalog-based points-to analysis. - -Activate with `--datalog`. - -Supported languages: -- C/C++/ObjC: No -- C#/.Net: No -- Erlang: No -- Hack: No -- Java: Experimental -- Python: No - - - -## List of Issue Types - -The following issue types are reported by this checker: -- [DATALOG_FACT](/docs/next/all-issue-types#datalog_fact) diff --git a/website/docs/checker-pulse.md b/website/docs/checker-pulse.md index a9a9ce78320..46179723352 100644 --- a/website/docs/checker-pulse.md +++ b/website/docs/checker-pulse.md @@ -189,6 +189,7 @@ The following issue types are reported by this checker: - [PULSE_RESOURCE_LEAK](/docs/next/all-issue-types#pulse_resource_leak) - [PULSE_TRANSITIVE_ACCESS](/docs/next/all-issue-types#pulse_transitive_access) - [PULSE_UNAWAITED_AWAITABLE](/docs/next/all-issue-types#pulse_unawaited_awaitable) +- [PULSE_UNFINISHED_BUILDER](/docs/next/all-issue-types#pulse_unfinished_builder) - [PULSE_UNINITIALIZED_CONST](/docs/next/all-issue-types#pulse_uninitialized_const) - [PULSE_UNINITIALIZED_VALUE](/docs/next/all-issue-types#pulse_uninitialized_value) - [PULSE_UNNECESSARY_COPY](/docs/next/all-issue-types#pulse_unnecessary_copy) diff --git a/website/docs/checker-self-in-block.md b/website/docs/checker-self-in-block.md index f85ee9d1044..8d57b1665cb 100644 --- a/website/docs/checker-self-in-block.md +++ b/website/docs/checker-self-in-block.md @@ -24,5 +24,6 @@ The following issue types are reported by this checker: - [CXX_REF_CAPTURED_IN_BLOCK](/docs/next/all-issue-types#cxx_ref_captured_in_block) - [MIXED_SELF_WEAKSELF](/docs/next/all-issue-types#mixed_self_weakself) - [MULTIPLE_WEAKSELF](/docs/next/all-issue-types#multiple_weakself) +- [SELF_IN_BLOCK_PASSED_TO_INIT](/docs/next/all-issue-types#self_in_block_passed_to_init) - [STRONG_SELF_NOT_CHECKED](/docs/next/all-issue-types#strong_self_not_checked) - [WEAK_SELF_IN_NO_ESCAPE_BLOCK](/docs/next/all-issue-types#weak_self_in_no_escape_block) diff --git a/website/static/man/next/infer-analyze.1.html b/website/static/man/next/infer-analyze.1.html index 2b1e3756e0b..0ef0102049c 100644 --- a/website/static/man/next/infer-analyze.1.html +++ b/website/static/man/next/infer-analyze.1.html @@ -1,4 +1,4 @@ - + @@ -30,7 +30,6 @@

infer-analyze

JAVA OPTIONS
LINEAGE OPTIONS
PULSE CHECKER OPTIONS
-QUANDARY CHECKER OPTIONS
RACERD CHECKER OPTIONS
SIOF CHECKER OPTIONS
ENVIRONMENT
@@ -45,7 +44,7 @@

NAME

-

infer-analyze - +

infer-analyze - analyze the files captured by infer

SYNOPSIS @@ -53,7 +52,7 @@

SYNOPSIS

-

infer +

infer analyze [options]
infer
[options]

@@ -62,7 +61,7 @@

DESCRIPTION

-

Analyze the +

Analyze the files captured in the project results directory and report.

@@ -72,9 +71,9 @@

OPTIONS -

--annotation-reachability

+

--annotation-reachability

-

Activates: +

Activates: annotation-reachability checker: Given pairs of source and sink annotations, e.g. ‘@A‘ and ‘@B‘, this checker will warn whenever some @@ -88,116 +87,105 @@

OPTIONS (Conversely: --no-annotation-reachability)

-

--annotation-reachability-only

+

--annotation-reachability-only

-

Activates: Enable +

Activates: Enable annotation-reachability and disable all other checkers (Conversely: --no-annotation-reachability-only)

-

--biabduction

+

--biabduction

-

Activates: biabduction +

Activates: biabduction checker: This analysis deals with a range of issues, many linked to memory safety.

-

DEPRECATED: This has been -replaced by Pulse and will be removed
+

DEPRECATED: This has +been replaced by Pulse and will be removed
in the next release.
(Conversely: --no-biabduction)
--biabduction-only

-

Activates: Enable +

Activates: Enable biabduction and disable all other checkers (Conversely: --no-biabduction-only)

-

--biabduction-write-dotty

+

--biabduction-write-dotty

-

Activates: Produce dotty files +

Activates: Produce dotty files for specs and retain cycles reports in infer-out/captured. (Conversely: --no-biabduction-write-dotty)

-

--bufferoverrun

+

--bufferoverrun

-

Activates: bufferoverrun +

Activates: bufferoverrun checker: InferBO is a detector for out-of-bounds array accesses. (Conversely: --no-bufferoverrun)

-

--bufferoverrun-only

-

Activates: Enable +

--bufferoverrun-only

+ +

Activates: Enable bufferoverrun and disable all other checkers (Conversely: --no-bufferoverrun-only)

-

--changed-files-index +

--changed-files-index file

-

Specify the file containing the +

Specify the file containing the list of source files from which reactive analysis should start. Source files should be specified relative to project root or be absolute

-

--config-impact-analysis

+

--config-impact-analysis

-

Activates: +

Activates: config-impact-analysis checker: [EXPERIMENTAL] Collects function that are called without config checks. (Conversely: --no-config-impact-analysis)

-

--config-impact-analysis-only

+

--config-impact-analysis-only

-

Activates: Enable +

Activates: Enable config-impact-analysis and disable all other checkers (Conversely: --no-config-impact-analysis-only)

-

--continue-analysis

+

--continue-analysis

-

Activates: Continue the +

Activates: Continue the analysis after more targets are captured by --continue. The other analysis options should be given the same before. Not compatible with --reanalyze and --incremental-analysis. (Conversely: --no-continue-analysis)

-

--cost

+

--cost

-

Activates: cost checker: +

Activates: cost checker: Computes the asymptotic complexity of functions with respect to execution cost or other user defined resources. Can be used to detect changes in the complexity with ‘infer reportdiff‘. (Conversely: --no-cost)

-

--cost-only

+

--cost-only

-

Activates: Enable cost +

Activates: Enable cost and disable all other checkers (Conversely: --no-cost-only)

-

--no-cost-suppress-func-ptr

+

--no-cost-suppress-func-ptr

-

Deactivates: Suppress printing +

Deactivates: Suppress printing function pointers in cost reports (Conversely: --cost-suppress-func-ptr)

-

--datalog

- -

Activates: datalog -checker: Experimental datalog-based points-to analysis. -(Conversely: --no-datalog)

- -

--datalog-only

- -

Activates: Enable -datalog and disable all other checkers (Conversely: ---no-datalog-only)

- -

--debug,-g

+

--debug,-g

-

Activates: Debug mode (also +

Activates: Debug mode (also sets --debug-level 2, --developer-mode, --print-buckets, --print-types, --reports-include-ml-loc, @@ -205,45 +193,45 @@

OPTIONS --write-html) (Conversely: --no-debug | -G)

-

--debug-level +

--debug-level level

-

Debug level (sets +

Debug level (sets --bo-debug level, --debug-level-analysis level, --debug-level-capture level):

-

- 0: only basic debugging +

- 0: only basic debugging enabled
- 1: verbose debugging enabled
- 2: very verbose debugging enabled
--debug-level-analysis
int

-

Debug level for the analysis. +

Debug level for the analysis. See --debug-level for accepted values.

-

--debug-level-capture +

--debug-level-capture int

-

Debug level for the capture. +

Debug level for the capture. See --debug-level for accepted values.

-

--debug-level-report +

--debug-level-report int

-

Debug level for the report. See +

Debug level for the report. See --debug-level for accepted values.

-

--no-deduplicate

+

--no-deduplicate

-

Deactivates: Apply +

Deactivates: Apply issue-specific deduplication during analysis and/or reporting. (Conversely: --deduplicate)

-

--no-default-checkers

+

--no-default-checkers

-

Deactivates: Default checkers: +

Deactivates: Default checkers: --fragment-retains-view, --inefficient-keyset-iterator, --liveness, --parameter-not-null-checked, --pulse, @@ -252,9 +240,9 @@

OPTIONS --default-checkers)

-

--detach-analysis-dependency

+

--detach-analysis-dependency

-

Activates: Detach analysis +

Activates: Detach analysis dependencies of checkers during the analysis, so that each checker triggers themselves only when analyzing a callee. This can save unnecessary analyses on the situation that NOT @@ -263,89 +251,90 @@

OPTIONS --no-detach-analysis-dependency)

-

--dict-missing-key-var-block-list +

--dict-missing-key-var-block-list +string

-

Skip analyzing the variables in +

Skip analyzing the variables in the dict-missing-key checker.

-

--files-to-analyze-index + +

--files-to-analyze-index file

-

File containing a list of +

File containing a list of source files where analysis should start from. When used, the set of files given to this argument must be a subset of that passed to --changed-files-index (which must be specified).

-

--no-fragment-retains-view

+

--no-fragment-retains-view

-

Deactivates: +

Deactivates: fragment-retains-view checker: Detects when Android fragments are not explicitly nullified before becoming unreachable.

-

DEPRECATED: Unmaintained +

DEPRECATED: Unmaintained due to poor precision.
(Conversely: --fragment-retains-view)
--fragment-retains-view-only

-

Activates: Enable +

Activates: Enable fragment-retains-view and disable all other checkers (Conversely: --no-fragment-retains-view-only)

-

--help

+

--help

-

Show this manual

+

Show this manual

-

--help-format { auto | -groff | pager | plain }

+

--help-format { auto +| groff | pager | plain }

-

Show this help in the specified +

Show this help in the specified format. auto sets the format to plain if the environment variable TERM is "dumb" or undefined, and to pager otherwise.

-

--help-full

+

--help-full

-

Show this manual with all +

Show this manual with all internal options in the INTERNAL OPTIONS section

-

--impurity

+

--impurity

-

Activates: impurity +

Activates: impurity checker: Detects functions with potential side-effects. Same as "purity", but implemented on top of Pulse.

-

ACTIVATES: pulse +

ACTIVATES: pulse (Conversely: --no-impurity)
--impurity-only

-

Activates: Enable +

Activates: Enable impurity and disable all other checkers (Conversely: --no-impurity-only)

-

--impurity-report-immutable-modifications

+

--impurity-report-immutable-modifications

-

Activates: Report modifications +

Activates: Report modifications to immutable fields in the Impurity checker (Conversely: --no-impurity-report-immutable-modifications)

-

--incremental-analysis

+

--incremental-analysis

-

Activates: Use incremental +

Activates: Use incremental analysis for changed files. Not compatible with --reanalyze and --continue-analysis. Also sets --mark-unchanged-procs. (Conversely: --no-incremental-analysis)

-

--no-inefficient-keyset-iterator

+

--no-inefficient-keyset-iterator

-

Deactivates: +

Deactivates: inefficient-keyset-iterator checker: Check for inefficient uses of iterators that iterate on keys then lookup their values, instead of iterating on key-value pairs @@ -353,300 +342,286 @@

OPTIONS --inefficient-keyset-iterator)

-

--inefficient-keyset-iterator-only

+

--inefficient-keyset-iterator-only

-

Activates: Enable +

Activates: Enable inefficient-keyset-iterator and disable all other checkers (Conversely: --no-inefficient-keyset-iterator-only)

-

--invalidate-only

+

--invalidate-only

-

Activates: Remove any summaries +

Activates: Remove any summaries from the results database that transitively depend on a changed procedure, then exit without doing any actual analysis. (Conversely: --no-invalidate-only)

-

--jobs,-j +

--jobs,-j int

-

Run the specified number of +

Run the specified number of analysis jobs simultaneously. Defaults to the minimum value of the max_jobs argument and the number of CPUs.

-

--keep-going

+

--keep-going

-

Activates: Keep going when the +

Activates: Keep going when the analysis or capture encounter a failure (Conversely: --no-keep-going)

-

--lineage

+

--lineage

-

Activates: lineage +

Activates: lineage checker: Computes a dataflow graph (Conversely: --no-lineage)

-

--lineage-only

+

--lineage-only

-

Activates: Enable +

Activates: Enable lineage and disable all other checkers (Conversely: --no-lineage-only)

-

--litho-required-props

+

--litho-required-props

-

Activates: +

Activates: litho-required-props checker: Checks that all non-optional ‘@Prop‘s have been specified when constructing Litho components. (Conversely: --no-litho-required-props)

-

--litho-required-props-only

+

--litho-required-props-only

-

Activates: Enable +

Activates: Enable litho-required-props and disable all other checkers (Conversely: --no-litho-required-props-only)

-

--no-liveness

+

--no-liveness

-

Deactivates: liveness +

Deactivates: liveness checker: Detection of dead stores and unused variables. (Conversely: --liveness)

-

--liveness-ignored-constant +

--liveness-ignored-constant +string

-

List of integer constants to be +

List of integer constants to be ignored by liveness analysis

-

--liveness-only

+

--liveness-only

-

Activates: Enable +

Activates: Enable liveness and disable all other checkers (Conversely: --no-liveness-only)

-

--log-missing-deps

+

--log-missing-deps

-

Activates: Log analysis +

Activates: Log analysis dependencies that cannot be found. (Conversely: --no-log-missing-deps)

-

--loop-hoisting

+

--loop-hoisting

-

Activates: loop-hoisting +

Activates: loop-hoisting checker: Detect opportunities to hoist function calls that are invariant outside of loop bodies for efficiency. (Conversely: --no-loop-hoisting)

-

--loop-hoisting-only

-

Activates: Enable +

--loop-hoisting-only

+ +

Activates: Enable loop-hoisting and disable all other checkers (Conversely: --no-loop-hoisting-only)

-

--max-jobs int

+

--max-jobs +int

-

Maximum number of analysis jobs +

Maximum number of analysis jobs running simultaneously. Experiments show current best value is 40 jobs.

-

--memtrace-analysis-profiling

+

--memtrace-analysis-profiling

-

Activates: Generate OCaml +

Activates: Generate OCaml analysis allocation traces in ‘infer-out/memtrace‘. (Conversely: --no-memtrace-analysis-profiling)

-

--memtrace-sampling-rate + +

--memtrace-sampling-rate float

-

Sampling rate for Memtrace +

Sampling rate for Memtrace allocation profiling. Default is 1e-6.

-

--modeled-expensive +

--modeled-expensive json

-

Matcher or list of matchers for +

Matcher or list of matchers for methods that should be considered expensive by the performance critical checker.

-

--never-returning-null +

--never-returning-null json

-

[Java only, all analyses] +

[Java only, all analyses] Matcher or list of matchers for functions that never return null.

-

--no-parameter-not-null-checked

+

--no-parameter-not-null-checked

-

Deactivates: +

Deactivates: parameter-not-null-checked checker: An Objective-C-specific analysis to detect when a block parameter is used before being checked for null first. (Conversely: --parameter-not-null-checked)

-

--parameter-not-null-checked-only

+

--parameter-not-null-checked-only

-

Activates: Enable +

Activates: Enable parameter-not-null-checked and disable all other checkers (Conversely: --no-parameter-not-null-checked-only)

-

--print-active-checkers

+

--print-active-checkers

-

Activates: Print the active +

Activates: Print the active checkers before starting the analysis (Conversely: --no-print-active-checkers)

-

--print-logs

+

--print-logs

-

Activates: Also log messages to +

Activates: Also log messages to stdout and stderr (Conversely: --no-print-logs)

-

--printf-args

+

--printf-args

-

Activates: printf-args +

Activates: printf-args checker: 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")‘

-

DEPRECATED: Unmaintained. -
+

DEPRECATED: +Unmaintained.
(Conversely: --no-printf-args)
--printf-args-only

-

Activates: Enable +

Activates: Enable printf-args and disable all other checkers (Conversely: --no-printf-args-only)

-

--progress-bar-style { -auto | plain | multiline }

+

--progress-bar-style +{ auto | plain | multiline }

-

Style of the progress bar. +

Style of the progress bar. auto selects multiline if connected to a tty, otherwise plain.

-

--project-root,-C + +

--project-root,-C dir

-

Specify the root directory of +

Specify the root directory of the project

-

--no-pulse

+

--no-pulse

-

Deactivates: pulse +

Deactivates: pulse checker: General-purpose memory and value analysis engine. (Conversely: --pulse)

-

--pulse-only

+

--pulse-only

-

Activates: Enable pulse +

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

-

--purity

+

--purity

-

Activates: purity +

Activates: purity checker: Detects pure (side-effect-free) functions. A different implementation of "impurity". (Conversely: --no-purity)

-

--purity-only

+

--purity-only

-

Activates: Enable purity +

Activates: Enable purity and disable all other checkers (Conversely: --no-purity-only)

-

--qualified-cpp-name-block-list +

--qualified-cpp-name-block-list +string

-

Skip analyzing the procedures +

Skip analyzing the procedures under the qualified cpp type name.

-

--quandary

- -

Activates: quandary -checker: The Quandary taint analysis detects flows of values -between sources and sinks, except if the value went through -a "sanitizer". In addition to some defaults, users -can specify their own sources, sinks, and sanitizers -functions.

- -

DEPRECATED: Taint -analysis is now supported by the Pulse checker
-and Quandary will be removed in the next release.
-(Conversely: --no-quandary)
---quandary-only

- -

Activates: Enable -quandary and disable all other checkers (Conversely: ---no-quandary-only)

- -

--quiet,-q

+

--quiet,-q

-

Activates: Do not print +

Activates: Do not print anything on standard output. (Conversely: --no-quiet | -Q)

-

--no-racerd

+

--no-racerd

-

Deactivates: racerd +

Deactivates: racerd checker: Thread safety analysis. (Conversely: --racerd)

-

--racerd-only

+

--racerd-only

-

Activates: Enable racerd +

Activates: Enable racerd and disable all other checkers (Conversely: --no-racerd-only)

-

--reactive,-r

-

Activates: Reactive mode: the +

--reactive,-r

+ +

Activates: Reactive mode: the analysis starts from the files captured since the infer command started (Conversely: --no-reactive | -R)

-

--reactive-capture

+

--reactive-capture

-

Activates: Reactive capture: +

Activates: Reactive capture: capture and analysis are interleaved. Currently this flag will only make the analysis generate a list of type names that were not found in the global tenv. The feature is only available for the Hack frontend for now. (Conversely: --no-reactive-capture)

-

--no-report

+

--no-report

-

Deactivates: Run the reporting +

Deactivates: Run the reporting phase once the analysis has completed (Conversely: --report)

-

--report-force-relative-path

+

--report-force-relative-path

-

Activates: Force converting an +

Activates: Force converting an absolute path to a relative path to the root directory (Conversely: --no-report-force-relative-path)

-

--results-dir,-o +

--results-dir,-o dir

-

Write results and internal +

Write results and internal files in the specified directory

-

--scope-leakage

+

--scope-leakage

-

Activates: scope-leakage +

Activates: scope-leakage checker: The Java/Kotlin checker takes into account a set of "scope" annotations and a must-not-hold relation over the scopes. The checker raises an alarm if there exists @@ -654,142 +629,145 @@

OPTIONS respective scopes SA and SB, such that must-not-hold(SA, SB). (Conversely: --no-scope-leakage)

-

--scope-leakage-only

-

Activates: Enable +

--scope-leakage-only

+ +

Activates: Enable scope-leakage and disable all other checkers (Conversely: --no-scope-leakage-only)

-

--no-self-in-block

+

--no-self-in-block

-

Deactivates: +

Deactivates: self-in-block checker: An Objective-C-specific analysis to detect when a block captures ‘self‘. (Conversely: --self-in-block)

-

--self-in-block-only

-

Activates: Enable +

--self-in-block-only

+ +

Activates: Enable self-in-block and disable all other checkers (Conversely: --no-self-in-block-only)

-

--shrink-analysis-db

-

Activates: After analysis, +

--shrink-analysis-db

+ +

Activates: After analysis, delete analysis summaries (but not report summaries) and vacuum analysis database. (Conversely: --no-shrink-analysis-db)

-

--sil-validation

+

--sil-validation

-

Activates: +

Activates: sil-validation checker: This checker validates that all SIL instructions in all procedure bodies conform to a (front-end specific) subset of SIL. (Conversely: --no-sil-validation)

-

--sil-validation-only

+

--sil-validation-only

-

Activates: Enable +

Activates: Enable sil-validation and disable all other checkers (Conversely: --no-sil-validation-only)

-

--no-siof

+

--no-siof

-

Deactivates: siof +

Deactivates: siof checker: Catches Static Initialization Order Fiascos in C++, that can lead to subtle, compiler-version-dependent errors. (Conversely: --siof)

-

--siof-only

+

--siof-only

-

Activates: Enable siof +

Activates: Enable siof and disable all other checkers (Conversely: --no-siof-only)

-

--sqlite-cache-size +

--sqlite-cache-size int

-

SQLite cache size in pages (if +

SQLite cache size in pages (if positive) or kB (if negative), follows formal of corresponding SQLite PRAGMA.

-

--sqlite-lock-timeout +

--sqlite-lock-timeout int

-

Timeout for SQLite results +

Timeout for SQLite results database operations, in milliseconds.

-

--sqlite-max-blob-size +

--sqlite-max-blob-size int

-

Maximum blob/string size for +

Maximum blob/string size for data written in SQLite.

-

--sqlite-mmap-size +

--sqlite-mmap-size int

-

Size of memory map for mmaped +

Size of memory map for mmaped SQLite databases, zero value disables memory mapping.

-

--sqlite-page-size +

--sqlite-page-size int

-

SQLite page size in bytes, must +

SQLite page size in bytes, must be a power of two between 512 and 65536.

-

--no-starvation

+

--no-starvation

-

Deactivates: starvation +

Deactivates: starvation checker: Detect various kinds of situations when no progress is being made because of concurrency errors. (Conversely: --starvation)

-

--starvation-only

+

--starvation-only

-

Activates: Enable +

Activates: Enable starvation and disable all other checkers (Conversely: --no-starvation-only)

-

--timeout +

--timeout float

-

Time after which any checker +

Time after which any checker (except biabduction) should give up analysing the current function or method, in seconds

-

--top-longest-proc-duration-size +

--top-longest-proc-duration-size int

-

Number of procedures for which +

Number of procedures for which we track longest analysis duration info.

-

--topl

+

--topl

-

Activates: topl checker: +

Activates: topl checker: Detect errors based on user-provided state machines describing temporal properties over multiple objects.

-

ACTIVATES: pulse +

ACTIVATES: pulse (Conversely: --no-topl)
--topl-only

-

Activates: Enable topl +

Activates: Enable topl and disable all other checkers (Conversely: --no-topl-only)

-

--write-html

+

--write-html

-

Activates: Produce html debug +

Activates: Produce html debug output for the analyses in infer-out/captured. This shows the abstract state of all analyses at each program point in the source code. Each captured source file has its own html page. This HTML file contains the source file, and at each line of

-

the file there are links to the +

the file there are links to the nodes of the control flow graph
of Infer's translation of that line of code into its intermediate
@@ -800,7 +778,7 @@

OPTIONS node. (Conversely: --no-write-html)
--xcode-isysroot-suffix
string

-

Specify the suffix of Xcode +

Specify the suffix of Xcode isysroot directory, to avoid absolute paths in tests

ANALYSIS SCHEDULER OPTIONS @@ -809,17 +787,17 @@

ANALYSIS SCHEDULER OPTIONS -

--analysis-schedule-file +

--analysis-schedule-file path

-

The file where an analysis +

The file where an analysis schedule is stored. The default is infer-out/analysis_dependency_graph

-

--replay-analysis-schedule

+

--replay-analysis-schedule

-

Activates: Replay the analysis +

Activates: Replay the analysis schedule stored in --replay-analysis-schedule-file, which should analyze the procedures in the same order as the previous analysis. This should drastically limit @@ -829,9 +807,9 @@

ANALYSIS SCHEDULER OPTIONS (Conversely: --no-replay-analysis-schedule)

-

--replay-ondemand-should-error

+

--replay-ondemand-should-error

-

Activates: [debug] Whether +

Activates: [debug] Whether triggering the analysis of a procedure via ondemand should log an error when replaying an analysis schedule with --replay-analysis-schedule. Enable when replaying the @@ -839,13 +817,13 @@

ANALYSIS SCHEDULER OPTIONS dependencies that were recorded are insufficient. (Conversely: --no-replay-ondemand-should-error)

-

--scheduler { file | +

--scheduler { file | restart | callgraph }

-

Specify the scheduler used for +

Specify the scheduler used for the analysis phase:

-

- file: schedules one job per +

- file: schedules one job per file
- callgraph: schedules one job per procedure, following the
@@ -858,7 +836,7 @@

ANALYSIS SCHEDULER OPTIONS thus performs generally better on high parallelism
--store-analysis-schedule

-

Activates: Store the analysis +

Activates: Store the analysis schedule for later replay, honoring --replay-analysis-schedule-file if present. This can be useful to store a schedule done with one version of infer @@ -875,57 +853,58 @@

BUFFER OVERRUN OPTIONS -

--no-bo-assume-void

+

--no-bo-assume-void

-

Deactivates: Assume void type +

Deactivates: Assume void type as a type of record fields not in type environment. (Conversely: --bo-assume-void)

-

--no-bo-bottom-as-default

+

--no-bo-bottom-as-default

-

Deactivates: Use bottom as a +

Deactivates: Use bottom as a default value instead of unknown. (Conversely: --bo-bottom-as-default)

-

--bo-context-sensitive-allocsites

+

--bo-context-sensitive-allocsites

-

Activates: Assume that +

Activates: Assume that different calls to the same function creating an allocsite results in different allocsites imported to the caller. (Conversely: --no-bo-context-sensitive-allocsites)

-

--bo-debug int

+

--bo-debug +int

-

Debug level for buffer-overrun +

Debug level for buffer-overrun checker (0-4)

-

--bo-exit-frontend-gener-vars

+

--bo-exit-frontend-gener-vars

-

Activates: Put frontend +

Activates: Put frontend generated variables out of scope when they are listed in exit scope instruction. (Conversely: --no-bo-exit-frontend-gener-vars)

-

--bo-field-depth-limit +

--bo-field-depth-limit int

-

Limit of field depth of +

Limit of field depth of abstract location in buffer-overrun checker

-

--bo-max-cfg-size +

--bo-max-cfg-size int

-

Larger CFGs than the max size +

Larger CFGs than the max size are skipped in buffer overrun analysis.

-

--bo-sound-unknown-sets-join

+

--bo-sound-unknown-sets-join

-

Activates: Join with an unknown +

Activates: Join with an unknown set always result in an unknown set. When disabled, unknown set behaves as bot. (Conversely: --no-bo-sound-unknown-sets-join)

@@ -936,57 +915,57 @@

CLANG OPTIONS -

--biabduction-unsafe-malloc

+

--biabduction-unsafe-malloc

-

Activates: Assume that +

Activates: Assume that malloc(3) never returns null. (Conversely: --no-biabduction-unsafe-malloc)

-

--clang-compound-literal-init-limit +

--clang-compound-literal-init-limit int

-

Limit after which +

Limit after which initialization of compound types (structs and arrays) is not done element by element but using a builtin function that each analysis has to model.

-

--cxx-scope-guards +

--cxx-scope-guards json

-

Specify scope guard classes +

Specify scope guard classes that can be read only by destructors without being reported as dead stores.

-

--dynamic-dispatch-json-file-path +

--dynamic-dispatch-json-file-path path

-

Dynamic dispatch file path to +

Dynamic dispatch file path to get the JSON used for method name substitution

-

--inline-func-pointer-for-testing +

--inline-func-pointer-for-testing string

-

Enables substituting global +

Enables substituting global function pointers used for testing with the real function calls in the clang frontend. Pass the prefix used to build the global function pointers used for testing.

-

--liveness-block-list-var-regex +

--liveness-block-list-var-regex string

-

Specify a regular expression +

Specify a regular expression for variable names that are ignored when reporting dead stores.

-

--liveness-dangerous-classes +

--liveness-dangerous-classes json

-

Specify classes where the +

Specify classes where the destructor should be ignored when computing liveness. In other words, assignement to variables of these types (or common wrappers around these types such as @@ -994,20 +973,20 @@

CLANG OPTIONS when the variables are not read explicitly by the program.

-

--lock-model +

--lock-model json

-

Specify custom lock models for +

Specify custom lock models for starvation analysis.

-

Example for pthreads (already +

Example for pthreads (already included in infer):
[{"lock":["pthread_mutex_lock"],"unlock":["pthread_mutex_unlock"]}]
--pulse-unsafe-malloc

-

Activates: Assume that +

Activates: Assume that malloc(3) never returns null. (Conversely: --no-pulse-unsafe-malloc)

@@ -1017,16 +996,16 @@

ERLANG OPTIONS -

--erlang-list-unfold-depth +

--erlang-list-unfold-depth int

-

Unfold Erlang lists up to depth +

Unfold Erlang lists up to depth int

-

--no-erlang-reliability

+

--no-erlang-reliability

-

Deactivates: Analyze crashing +

Deactivates: Analyze crashing executions. This flag affects both capture and analysis. At capture time, it encodes Erlang specs; at (Pulse) analysis time, it models Erlang exceptions (builtin or OTP ones). @@ -1038,32 +1017,32 @@

JAVA OPTIONS -

--no-annotation-reachability-apply-superclass-annotations

+

--no-annotation-reachability-apply-superclass-annotations

-

Deactivates: Applies +

Deactivates: Applies annotations from superclasses and interfaces also on methods that are not overridden from the superclass or interface. (Conversely: --annotation-reachability-apply-superclass-annotations)

-

--annotation-reachability-custom-models +

--annotation-reachability-custom-models json

-

Specify a map from annotations +

Specify a map from annotations to lists of regexps to treat matching methods as if they had the annotation.

-

Example format: +

Example format: {"Annotation": ["com\\.Myclass\\.foo.*"]}
--annotation-reachability-custom-pairs
json

-

Specify custom sources/sinks, +

Specify custom sources/sinks, and optionally sanitizers for the annotation reachability checker

-

Example format: for custom +

Example format: for custom annotations
com.my.annotation.{Source1,Source2,Sink1,Sanitizer1}
{ "sources" : ["Source1", @@ -1072,49 +1051,50 @@

JAVA OPTIONS "sanitizers": ["Sanitizer1"] }
--annotation-reachability-expensive

-

Activates: check if methods +

Activates: check if methods annotated with @PerformanceCritical can call expensive methods (annotated @Expensive or modeled, with annotation reachability checker) (Conversely: --no-annotation-reachability-expensive)

-

--annotation-reachability-minimize-sources

+

--annotation-reachability-minimize-sources

-

Activates: do not report paths +

Activates: do not report paths where a suffix is also a source to sink path. For example if there is a source1() -> source2() -> sink() path then only source2() -> sink() will be reported. (Conversely: --no-annotation-reachability-minimize-sources)

-

--annotation-reachability-no-allocation

+

--annotation-reachability-no-allocation

-

Activates: check if methods +

Activates: check if methods annotated with @NoAllocation can allocate (with annotation reachability checker) (Conversely: --no-annotation-reachability-no-allocation)

-

--annotation-reachability-report-source-and-sink

+

--annotation-reachability-report-source-and-sink

-

Activates: Reports methods that +

Activates: Reports methods that are marked as both a source and a sink at the same time. (Conversely: --no-annotation-reachability-report-source-and-sink)

-

--external-java-packages + +

--external-java-packages +prefix

-

Specify a list of Java package +

Specify a list of Java package prefixes for external Java packages. If set, the analysis will not report non-actionable warnings on those packages.

-

--java-version +

--java-version int

-

The version of Java being used. +

The version of Java being used. Set it to your Java version if mvn is failing.

LINEAGE OPTIONS @@ -1123,93 +1103,93 @@

LINEAGE OPTIONS -

--no-lineage-dedup

+

--no-lineage-dedup

-

Deactivates: In JSON output, +

Deactivates: In JSON output, attempt to print each entity at most once. This is the default. The only reason you may want to turn this off is to make hash collisions more visible; that is, cases in which distinct entities get assigned the same ID. (Conversely: --lineage-dedup)

-

--lineage-field-depth +

--lineage-field-depth int

-

[EXPERIMENTAL] Maximal field +

[EXPERIMENTAL] Maximal field depth sensitivity for lineage analysis. 0 will make the analysis field insensitive.

-

--lineage-field-max-cfg-size +

--lineage-field-max-cfg-size int

-

If set, field sensitivity is +

If set, field sensitivity is disabled on larger CFGs.

-

--lineage-field-width +

--lineage-field-width int

-

[EXPERIMENTAL] Maximal width of +

[EXPERIMENTAL] Maximal width of structures for field sensitive lineage analysis. Structure that have a higher number of fields will be smashed into a single element. 0 will make the analysis field insensitive.

-

--lineage-include-builtins

+

--lineage-include-builtins

-

Activates: Include call/return +

Activates: Include call/return edges to/from procedures that model primitive Erlang operations, such as constructing a list. (Conversely: --no-lineage-include-builtins)

-

--lineage-json-report

+

--lineage-json-report

-

Activates: Enable lineage +

Activates: Enable lineage report in JSON format. (Conversely: --no-lineage-json-report)

-

--lineage-keep-temporaries

+

--lineage-keep-temporaries

-

Activates: Normally, lineage +

Activates: Normally, lineage summaries do not mention temporary variables introduced while compiling the high-level code to Infer's IR (intermediate representation). If this option is enabled, then the lineage graph produced corresponds to Infer's IR. (Conversely: --no-lineage-keep-temporaries)

-

--lineage-max-cfg-size +

--lineage-max-cfg-size int

-

If set, larger CFGs are +

If set, larger CFGs are skipped.

-

--no-lineage-prevent-cycles

+

--no-lineage-prevent-cycles

-

Deactivates: [EXPERIMENTAL] If +

Deactivates: [EXPERIMENTAL] If given, Lineage will not stop traversing the fields of a variable when it notices recursive types (that is, a sub-field having the same type as one of its "ancestors"). (Conversely: --lineage-prevent-cycles)

-

--lineage-seed +

--lineage-seed int

-

Set the random seed used for +

Set the random seed used for hashing. (Various entities that get reported need unique identifiers. To generate these unique identifiers, in a distributed way without communication, we use hashing. If you are unlucky and get collisions, you can try a different seed.

-

--lineage-variant-width +

--lineage-variant-width int

-

Maximal width of variant types +

Maximal width of variant types for lineage analysis. A variant type is the type of a variable whose value is within a statically known atom set. The width of the type is the cardinal of that atom set.

@@ -1220,40 +1200,40 @@

PULSE CHECKER OPTIONS -

--log-pulse-coverage

+

--log-pulse-coverage

-

Activates: Log precisely where +

Activates: Log precisely where coverage stops, at the end of file stats/stats.txt. (Conversely: --no-log-pulse-coverage)

-

--log-pulse-disjunct-increase-after-model-call

+

--log-pulse-disjunct-increase-after-model-call

-

Activates: Log which model did +

Activates: Log which model did increase the current number of Pulse disjuncts. (Conversely: --no-log-pulse-disjunct-increase-after-model-call)

-

--pulse-cut-to-one-path-procedures-pattern +

--pulse-cut-to-one-path-procedures-pattern string

-

Regex of methods for which +

Regex of methods for which pulse will only explore one path. Can be used on pathologically large procedures to prevent too-big states from being produced.

-

--pulse-inline-global-init-func-pointer

+

--pulse-inline-global-init-func-pointer

-

Activates: Inline the +

Activates: Inline the initializer of global variables that are of type function pointer in Pulse. (Conversely: --no-pulse-inline-global-init-func-pointer)

-

--pulse-log-summary-count

+

--pulse-log-summary-count

-

Activates: Log the number of +

Activates: Log the number of summaries (grouped by summary kind) for each analyzed procedure in Pulse. Results are put in JSON files under a 'pulse' subdirectory, one corresponding to each analysis @@ -1261,57 +1241,57 @@

PULSE CHECKER OPTIONS be needed. (Conversely: --no-pulse-log-summary-count)

-

--pulse-max-cfg-size +

--pulse-max-cfg-size int

-

Larger CFGs than the max size +

Larger CFGs than the max size are skipped in Pulse.

-

--pulse-max-disjuncts +

--pulse-max-disjuncts int

-

Stop exploring new paths after +

Stop exploring new paths after int disjunctions in the domain

-

--pulse-max-heap +

--pulse-max-heap int

-

Give up analysing a procedure +

Give up analysing a procedure if the number of words in the heap exceeds this limit. Intended use: avoid OutOfMemory crashes.

-

--pulse-model-abort +

--pulse-model-abort +string

-

Methods that should be modelled +

Methods that should be modelled as abort in Pulse

-

--pulse-model-alloc-pattern +

--pulse-model-alloc-pattern string

-

Regex of methods that should be +

Regex of methods that should be modelled as allocs in Pulse

-

--pulse-model-cheap-copy-type +

--pulse-model-cheap-copy-type regex

-

Regex of methods that should be +

Regex of methods that should be cheap to copy in Pulse

-

--pulse-model-cheap-copy-type-list +

--pulse-model-cheap-copy-type-list +regex

-

Regex of methods that should be +

Regex of methods that should be cheap to copy in Pulse

-

--pulse-model-free-pattern +

--pulse-model-free-pattern string

-

Regex of methods that should be +

Regex of methods that should be modelled as wrappers to free(3) in Pulse. The pointer to be freed should be the first argument of the function. This should only be needed if the code of the wrapper is not @@ -1320,91 +1300,91 @@

PULSE CHECKER OPTIONS pointers).

-

--pulse-model-malloc-pattern +

--pulse-model-malloc-pattern string

-

Regex of methods that should be +

Regex of methods that should be modelled as wrappers to malloc(3) in Pulse. The size to allocate should be the first argument of the function. See --pulse-model-free-pattern for more information.

-

--pulse-model-realloc-pattern +

--pulse-model-realloc-pattern string

-

Regex of methods that should be +

Regex of methods that should be modelled as wrappers to realloc(3) in Pulse. The pointer to be reallocated should be the first argument of the function and the new size the second argument. See --pulse-model-free-pattern for more information.

-

--pulse-model-release-pattern +

--pulse-model-release-pattern string

-

Regex of methods that should be +

Regex of methods that should be modelled as release in Pulse

-

--pulse-model-return-first-arg +

--pulse-model-return-first-arg string

-

Regex of methods that should be +

Regex of methods that should be modelled as returning the first argument in Pulse in terms of the source language semantics. Languages supported: Java, C, Objective-C

-

--pulse-model-return-nonnull +

--pulse-model-return-nonnull string

-

Regex of methods that should be +

Regex of methods that should be modelled as returning non-null in Pulse

-

--pulse-model-return-this +

--pulse-model-return-this string

-

Regex of methods that should be +

Regex of methods that should be modelled as returning the ‘this‘ or ‘self‘ argument of an instance method in Pulse. Languages supported: Java, Objective-C

-

--pulse-model-returns-copy-pattern +

--pulse-model-returns-copy-pattern string

-

Regex of methods that should be +

Regex of methods that should be modelled as creating copies in Pulse

-

--pulse-model-skip-pattern +

--pulse-model-skip-pattern string

-

Regex of methods that should be +

Regex of methods that should be modelled as "skip" in Pulse

-

--pulse-model-skip-pattern-list +

--pulse-model-skip-pattern-list +string

-

Regex of methods that should be +

Regex of methods that should be modelled as "skip" in Pulse

-

--pulse-model-transfer-ownership +

--pulse-model-transfer-ownership +string

-

Methods that should be modelled +

Methods that should be modelled as transfering memory ownership in Pulse. Accepted formats are method or namespace::method

-

--pulse-models-for-erlang +

--pulse-models-for-erlang +path

-

Provide custom models for +

Provide custom models for Erlang in JSON files or SQLite3. Files must end with ‘.json‘ or ‘.db‘ respectively. If a path to a directory is given then the subdirectories will be @@ -1412,7 +1392,7 @@

PULSE CHECKER OPTIONS format is preferable when providing a large number of models because they will be internally indexed by mfa.

-

The format for JSON is +

The format for JSON is [SelectorBehavior, ...] where
SelectorBehavior := {"selector": Selector, "behavior": Behavior}
@@ -1453,60 +1433,60 @@

PULSE CHECKER OPTIONS (see above)
--no-pulse-nullsafe-report-npe

-

Deactivates: Report null +

Deactivates: Report null dereference issues on files marked @Nullsafe. (Conversely: --pulse-nullsafe-report-npe)

-

--pulse-nullsafe-report-npe-as-separate-issue

+

--pulse-nullsafe-report-npe-as-separate-issue

-

Activates: Report null +

Activates: Report null dereference issues on files marked @Nullsafe as a separate NULLPTR_DEREFERENCE_IN_NULLSAFE_CLASS issue type. (Conversely: --no-pulse-nullsafe-report-npe-as-separate-issue)

-

--pulse-recency-limit +

--pulse-recency-limit int

-

Maximum number of array +

Maximum number of array elements and structure fields to keep track of for a given address.

-

--pulse-skip-procedures +

--pulse-skip-procedures regex

-

Regex of procedures that should +

Regex of procedures that should not be analyzed by Pulse.

-

--pulse-specialization-iteration-limit +

--pulse-specialization-iteration-limit int

-

Maximum number of iterative +

Maximum number of iterative summary specialization at each call site.

-

--pulse-specialization-limit +

--pulse-specialization-limit int

-

Maximum number of summary +

Maximum number of summary specialization by procedure.

-

--no-pulse-taint-check-history

+

--no-pulse-taint-check-history

-

Deactivates: Check values +

Deactivates: Check values histories for taint events before reporting a taint issue. This is a temporary flag while the taint analysis transitions from being mainly attribute-based to being history-based. (Conversely: --pulse-taint-check-history)

-

--pulse-taint-config +

--pulse-taint-config +path

-

Path to a taint analysis +

Path to a taint analysis configuration file or a directory containing such files. This file can define --pulse-taint-sources, --pulse-taint-sanitizers, @@ -1514,7 +1494,7 @@

PULSE CHECKER OPTIONS --pulse-taint-sinks, --pulse-taint-policies, and --pulse-taint-data-flow-kinds.

-

If a path to a directory is +

If a path to a directory is given then the configuration files
must have the ‘.json‘ extension. Any other file will be ignored.
@@ -1523,20 +1503,21 @@

PULSE CHECKER OPTIONS convention.
--pulse-taint-data-flow-kinds
json

-

Specify which taint kinds +

Specify which taint kinds should be used for data flow reporting only. If a source has such a kind, only data flows to sinks which originate at the source will be reported. If a sink has such a kind, only sensitive data flows to the sink will be reported.

-

--pulse-taint-policies +

--pulse-taint-policies json

-

A description of which taint +

A description of which taint flows should be reported, following this JSON format:

-

{ "short_description": -"<a short description of the issue>",
+

{ +"short_description": "<a short description +of the issue>",
"taint_flows": [{ "source_kinds": [<kinds>],
"sink_kinds": [<kinds>],
@@ -1562,47 +1543,48 @@

PULSE CHECKER OPTIONS }
--pulse-taint-propagators
json

-

Quick way to specify simple +

Quick way to specify simple propagators as a JSON objects. See --pulse-taint-sources for the fields format documentation.

-

--pulse-taint-sanitizers + +

--pulse-taint-sanitizers json

-

Quick way to specify simple +

Quick way to specify simple sanitizers as a JSON objects. See --pulse-taint-sources for the fields format documentation.

-

--pulse-taint-short-traces

+

--pulse-taint-short-traces

-

Activates: Cut off taint traces +

Activates: Cut off taint traces as soon as a tainted value flows into a sink. This matters when the sink itself calls other sinks of the same kind and as long as the value flows from call to call, without this flag the trace would include the whole chain of calls. (Conversely: --no-pulse-taint-short-traces)

-

--pulse-taint-sinks +

--pulse-taint-sinks json

-

Quick way to specify simple +

Quick way to specify simple sinks as a JSON objects. See --pulse-taint-sources for the fields format documentation.

-

--pulse-taint-skip-sources

+

--pulse-taint-skip-sources

-

Activates: Skip the analysis of +

Activates: Skip the analysis of methods declared as sources in the taint. (Conversely: --no-pulse-taint-skip-sources)

-

--pulse-taint-sources +

--pulse-taint-sources json

-

Together with +

Together with --pulse-taint-sanitizers, --pulse-taint-sinks, --pulse-taint-policies, and --pulse-taint-data-flow-kinds, specify taint @@ -1611,8 +1593,8 @@

PULSE CHECKER OPTIONS one of the following combinations of fields to identify relevant procedures:

-

- "field_regex": match -a field name using an OCaml regex
+

- "field_regex": +match a field name using an OCaml regex
- "procedure": match a substring of the procedure name
- "procedure_regex": as above, but match using an @@ -1719,67 +1701,37 @@

PULSE CHECKER OPTIONS source shouldn't be flagged.
--pulse-widen-threshold
int

-

Stop exploring new paths after +

Stop exploring new paths after int loop iterations

-

QUANDARY CHECKER OPTIONS - -

- - - -

--quandary-endpoints -json

- -

Specify endpoint classes for -Quandary

- -

--quandary-sanitizers -json

- -

Specify custom sanitizers for -Quandary

- -

--quandary-sinks -json

- -

Specify custom sinks for -Quandary

- -

--quandary-sources -json

- -

Specify custom sources for -Quandary

-

RACERD CHECKER OPTIONS

-

--racerd-always-report-java

+

--racerd-always-report-java

-

Activates: Every Java class +

Activates: Every Java class analysed is treated as if it were annotated as @ThreadSafe. (Conversely: --no-racerd-always-report-java)

-

--racerd-guardedby

+

--racerd-guardedby

-

Activates: Check @GuardedBy +

Activates: Check @GuardedBy annotations with RacerD (Conversely: --no-racerd-guardedby)

-

--racerd-ignore-classes +

--racerd-ignore-classes +string

-

Any method in a class specified +

Any method in a class specified here will be ignored by RacerD.

-

--threadsafe-aliases +

--threadsafe-aliases json

-

Specify custom annotations that +

Specify custom annotations that should be considered aliases of @ThreadSafe

SIOF CHECKER OPTIONS @@ -1788,19 +1740,19 @@

SIOF CHECKER OPTIONS -

--siof-check-iostreams

+

--siof-check-iostreams

-

Activates: Do not assume that +

Activates: Do not assume that iostreams (cout, cerr, ...) are always initialized. The default is to assume they are always initialized to avoid false positives. However, if your program compiles against a recent libstdc++ then it is safe to turn this option on. (Conversely: --no-siof-check-iostreams)

-

--siof-safe-methods +

--siof-safe-methods +string

-

Methods that are SIOF-safe; +

Methods that are SIOF-safe; "foo::bar" will match "foo::bar()", "foo<int>::bar()", etc. (can be specified multiple times)

@@ -1811,10 +1763,10 @@

ENVIRONMENT -

INFER_ARGS, +

INFER_ARGS, INFERCONFIG, INFER_STRICT_MODE

-

See the ENVIRONMENT section in +

See the ENVIRONMENT section in the manual of infer(1).

FILES @@ -1823,9 +1775,9 @@

FILES -

.inferconfig

+

.inferconfig

-

See the FILES section in the +

See the FILES section in the manual of infer(1).

SEE ALSO @@ -1834,7 +1786,7 @@

SEE ALSO -

infer-report(1), +

infer-report(1), infer-run(1)


diff --git a/website/static/man/next/infer-capture.1.html b/website/static/man/next/infer-capture.1.html index dd43fea0c01..98aa2f0f06d 100644 --- a/website/static/man/next/infer-capture.1.html +++ b/website/static/man/next/infer-capture.1.html @@ -1,4 +1,4 @@ - + @@ -39,7 +39,7 @@

NAME

-

infer-capture - +

infer-capture - capture source files for later analysis

SYNOPSIS @@ -47,9 +47,9 @@

SYNOPSIS

-

infer capture ---buck-java [options] -- buck ... -
+

infer +capture --buck-java [options] -- buck +...
infer capture --buck-clang
[options] -- buck ...
infer capture --buck-compilation-database
[no-]deps @@ -80,7 +80,7 @@

DESCRIPTION

-

Capture the +

Capture the build command, compilation database, or cfg/tenv json files specified on the command line: infer intercepts calls to the compiler to read source files, translate them into infer's @@ -93,29 +93,29 @@

OPTIONS -

--capture-block-list +

--capture-block-list json

-

Matcher or list of matchers for +

Matcher or list of matchers for names of files that should not be captured, hence not analyzed either. Clang, Java, and Hack only.

-

--cfg-json +

--cfg-json file

-

Path to CFG json file

+

Path to CFG json file

-

--continue

+

--continue

-

Activates: Continue the capture +

Activates: Continue the capture for the reactive analysis, increasing the changed files/procedures. (If a procedure was changed beforehand, keep the changed marking.) (Conversely: --no-continue)

-

--debug,-g

+

--debug,-g

-

Activates: Debug mode (also +

Activates: Debug mode (also sets --debug-level 2, --developer-mode, --print-buckets, --print-types, --reports-include-ml-loc, @@ -123,47 +123,47 @@

OPTIONS --write-html) (Conversely: --no-debug | -G)

-

--debug-level +

--debug-level level

-

Debug level (sets +

Debug level (sets --bo-debug level, --debug-level-analysis level, --debug-level-capture level):

-

- 0: only basic debugging +

- 0: only basic debugging enabled
- 1: verbose debugging enabled
- 2: very verbose debugging enabled
--debug-level-analysis
int

-

Debug level for the analysis. +

Debug level for the analysis. See --debug-level for accepted values.

-

--debug-level-capture +

--debug-level-capture int

-

Debug level for the capture. +

Debug level for the capture. See --debug-level for accepted values.

-

--debug-level-report +

--debug-level-report int

-

Debug level for the report. See +

Debug level for the report. See --debug-level for accepted values.

-

--force-delete-results-dir

+

--force-delete-results-dir

-

Activates: Do not refuse to +

Activates: Do not refuse to delete the results directory if it doesn't look like an infer results directory. (Conversely: --no-force-delete-results-dir)

-

--force-integration +

--force-integration command

-

Proceed as if the first +

Proceed as if the first argument after -- was command. Possible values: ant, buck1, buck, buck2, gradle, gradlew, java, javac, @@ -173,40 +173,41 @@

OPTIONS mvn, mvnw, ndk-build, python3, rebar3, erlc, xcodebuild.

-

--help

+

--help

-

Show this manual

+

Show this manual

-

--help-format { auto | -groff | pager | plain }

+

--help-format { auto +| groff | pager | plain }

-

Show this help in the specified +

Show this help in the specified format. auto sets the format to plain if the environment variable TERM is "dumb" or undefined, and to pager otherwise.

-

--help-full

+

--help-full

-

Show this manual with all +

Show this manual with all internal options in the INTERNAL OPTIONS section

-

--keep-going

+

--keep-going

-

Activates: Keep going when the +

Activates: Keep going when the analysis or capture encounter a failure (Conversely: --no-keep-going)

-

--load-average,-l + +

--load-average,-l float

-

Do not start new parallel jobs +

Do not start new parallel jobs if the load average is greater than that specified (Buck and make only)

-

--mark-unchanged-procs

+

--mark-unchanged-procs

-

Activates: Check structural +

Activates: Check structural identity of newly-captured procedures with previously-captured versions, marking the new procedure as unchanged if the two are equivalent. Also prevents removing @@ -214,93 +215,94 @@

OPTIONS reused during future incremental analyses (Conversely: --no-mark-unchanged-procs)

-

--merge-capture +

--merge-capture +string

-

Specifies an Infer results +

Specifies an Infer results directory. The files and procedures captured in it will be merged together into the results directory specified with -o. Relative paths are interpreted as relative to project-root/buck-out.

-

--never-returning-null +

--never-returning-null json

-

[Java only, all analyses] +

[Java only, all analyses] Matcher or list of matchers for functions that never return null.

-

--print-logs

+

--print-logs

-

Activates: Also log messages to +

Activates: Also log messages to stdout and stderr (Conversely: --no-print-logs)

-

--progress-bar-style { -auto | plain | multiline }

+

--progress-bar-style +{ auto | plain | multiline }

-

Style of the progress bar. +

Style of the progress bar. auto selects multiline if connected to a tty, otherwise plain.

-

--project-root,-C + +

--project-root,-C dir

-

Specify the root directory of +

Specify the root directory of the project

-

--results-dir,-o +

--results-dir,-o dir

-

Write results and internal +

Write results and internal files in the specified directory

-

--skip-analysis-in-path +

--skip-analysis-in-path +regex

-

Ignore files whose path matches +

Ignore files whose path matches a given regex (can be specified multiple times, but you must make sure each regex is properly bracketed)

-

--sqlite-cache-size +

--sqlite-cache-size int

-

SQLite cache size in pages (if +

SQLite cache size in pages (if positive) or kB (if negative), follows formal of corresponding SQLite PRAGMA.

-

--sqlite-lock-timeout +

--sqlite-lock-timeout int

-

Timeout for SQLite results +

Timeout for SQLite results database operations, in milliseconds.

-

--sqlite-max-blob-size +

--sqlite-max-blob-size int

-

Maximum blob/string size for +

Maximum blob/string size for data written in SQLite.

-

--sqlite-mmap-size +

--sqlite-mmap-size int

-

Size of memory map for mmaped +

Size of memory map for mmaped SQLite databases, zero value disables memory mapping.

-

--sqlite-page-size +

--sqlite-page-size int

-

SQLite page size in bytes, must +

SQLite page size in bytes, must be a power of two between 512 and 65536.

-

--tenv-json +

--tenv-json file

-

Path to TEnv json file

+

Path to TEnv json file

-

--workspace +

--workspace path

-

Specifies the root of the +

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 @@ -310,13 +312,13 @@

OPTIONS - + - - +

--

+

Stop argument processing, use remaining arguments as a @@ -329,186 +331,187 @@

BUCK OPTIONS -

--append-buck-flavors +

--append-buck-flavors +string

-

Additional Buck flavors to +

Additional Buck flavors to append to targets discovered by the --buck-compilation-database option.

-

--buck-block-list +

--buck-block-list +regex

-

Skip capture of files matched +

Skip capture of files matched by the specified regular expression. Only the clang, non-compilation-database

-

Buck integration is supported, +

Buck integration is supported, not Java.
--buck-clang

-

Activates: Buck integration for +

Activates: Buck integration for clang-based targets (C/C++/Objective-C/Objective-C++). (Conversely: --no-buck-clang)

-

--buck-clang-use-toolchain-config

+

--buck-clang-use-toolchain-config

-

Activates: Suppress setting +

Activates: Suppress setting buck config values for the infer binary and other values in the buck-clang-flavor integration and instead rely on buck toolchain configuration options. (Conversely: --no-buck-clang-use-toolchain-config)

-

--buck-compilation-database +

--buck-compilation-database { no-deps | deps }

-

Buck integration using the +

Buck integration using the compilation database, with or without dependencies. Only includes clang targets, as per Buck's #compilation-database flavor.

-

--buck-compilation-database-depth +

--buck-compilation-database-depth int

-

Depth of dependencies used by +

Depth of dependencies used by the --buck-compilation-database deps option. By default, all recursive dependencies are captured.

-

--buck-dependency-depth +

--buck-dependency-depth int

-

Capture dependencies only if +

Capture dependencies only if they are at most the depth provided, or all transitive dependencies if depth is not provided (the default). In particular, depth zero means capture exactly the targets provided and nothing else.

-

--buck-erlang

+

--buck-erlang

-

Activates: Buck integration for +

Activates: Buck integration for Erlang. (Conversely: --no-buck-erlang)

-

--buck-java

+

--buck-java

-

Activates: Buck integration for +

Activates: Buck integration for Java. (Conversely: --no-buck-java)

-

--buck-java-heap-size-gb + +

--buck-java-heap-size-gb int

-

Explicitly set the size of the +

Explicitly set the size of the Java heap of Buck processes, in gigabytes.

-

--buck-java-suppress-config

+

--buck-java-suppress-config

-

Activates: Suppress setting +

Activates: Suppress setting buck config values for the infer binary and its version in the buck-java integration. (Conversely: --no-buck-java-suppress-config)

-

--buck-merge-all-deps

+

--buck-merge-all-deps

-

Activates: Find and merge all +

Activates: Find and merge all infer dependencies produced by buck. Use this flag if infer doesn't find any files to analyze after a successful capture. Only valid for --buck-clang. (Conversely: --no-buck-merge-all-deps)

-

--buck-targets-block-list +

--buck-targets-block-list +regex

-

Skip capture of buck targets +

Skip capture of buck targets matched by the specified regular expression.

-

--buck2-bxl-capture-file-block-list +

--buck2-bxl-capture-file-block-list +regex

-

Skip capture of files matched +

Skip capture of files matched by the specified regular expression. Only the clang, Buck2 integration is supported, not Java.

-

--buck2-bxl-target +

--buck2-bxl-target string

-

Buck2 BXL script (as a buck +

Buck2 BXL script (as a buck target) to run when capturing with buck2/clang integration.

-

--buck2-inferconfig-target +

--buck2-inferconfig-target string

-

Buck2 target representing the +

Buck2 target representing the inferconfig file; used in BXL capture.

-

--buck2-infertoolchain-target +

--buck2-infertoolchain-target string

-

Buck2 target representing the +

Buck2 target representing the infer toolchain; used in BXL capture.

-

--buck2-isolation-dir +

--buck2-isolation-dir string

-

Run buck bxl capture with the +

Run buck bxl capture with the given isolation directory as parameter.

-

--no-buck2-query-deps

+

--no-buck2-query-deps

-

Deactivates: Query deps of +

Deactivates: Query deps of given targets and run capture on the result (alternatively run capture on given targets) (Conversely: --buck2-query-deps)

-

--buck2-root +

--buck2-root dir

-

Specify the parent directory of +

Specify the parent directory of buck-out (used only for buck2).

-

--Xbuck +

--Xbuck +string

-

Pass values as command-line +

Pass values as command-line arguments to invocations of ‘buck build‘. Only valid for --buck-clang.

-

--Xbuck-no-inline +

--Xbuck-no-inline +string

-

Pass values as command-line +

Pass values as command-line arguments to invocations of ‘buck build‘, don't inline any args starting with '@'. Only valid for --buck-clang.

-

--Xbuck2 +

--Xbuck2 +string

-

Pass values as command-line +

Pass values as command-line arguments to invocations of ‘buck2 build‘. Only valid for --buck-clang.

-

--Xbuck2-no-inline +

--Xbuck2-no-inline +string

-

Pass values as command-line +

Pass values as command-line arguments to invocations of ‘buck2 build‘, don't inline any args starting with '@'. Only valid for --buck-clang.

-

--xcode-developer-dir +

--xcode-developer-dir XCODE_DEVELOPER_DIR

-

Specify the path to Xcode +

Specify the path to Xcode developer directory, to use for Buck clang targets

CLANG OPTIONS @@ -517,121 +520,121 @@

CLANG OPTIONS -

--clang-biniou-file +

--clang-biniou-file file

-

Specify a file containing the +

Specify a file containing the AST of the program, in biniou format. Please note you still need to provide a compilation command.

-

--clang-block-listed-flags +

--clang-block-listed-flags +string

-

Clang flags to filter out

+

Clang flags to filter out

-

--clang-block-listed-flags-with-arg +

--clang-block-listed-flags-with-arg +string

-

Clang flags (taking args) to +

Clang flags (taking args) to filter out

-

--clang-compound-literal-init-limit +

--clang-compound-literal-init-limit int

-

Limit after which +

Limit after which 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 +

--clang-yojson-file file

-

Specify a file containing the +

Specify a file containing the AST of the program, in yojson format. Please note you still need to provide a compilation command.

-

--compilation-database +

--compilation-database +path

-

File that contain compilation +

File that contain compilation commands (can be specified multiple times)

-

--compilation-database-escaped +

--compilation-database-escaped +path

-

File that contain compilation +

File that contain compilation commands where all entries are escaped for the shell, eg coming from Xcode (can be specified multiple times)

-

--no-cxx

+

--no-cxx

-

Deactivates: Analyze C++ +

Deactivates: Analyze C++ methods (Conversely: --cxx)

-

--dump-duplicate-symbols

+

--dump-duplicate-symbols

-

Activates: Dump all symbols +

Activates: Dump all symbols with the same name that are defined in more than one file. (Conversely: --no-dump-duplicate-symbols)

-

--frontend-tests

+

--frontend-tests

-

Activates: Save +

Activates: Save filename.ext.test.dot with the cfg in dotty format for frontend tests (also sets --print-types) (Conversely: --no-frontend-tests)

-

--headers

+

--headers

-

Activates: Analyze code in +

Activates: Analyze code in header files (Conversely: --no-headers)

-

--objc-synthesize-dealloc

+

--objc-synthesize-dealloc

-

Activates: If enabled, the +

Activates: If enabled, the capture tries to synthesize code in the dealloc methods of Objective-C classes corresponding to what the compiler does. (Conversely: --no-objc-synthesize-dealloc)

-

--skip-non-capture-clang-commands

+

--skip-non-capture-clang-commands

-

Activates: Skip clang commands +

Activates: Skip clang commands that Infer doesn't use to capture data (Conversely: --no-skip-non-capture-clang-commands)

-

--skip-translation-headers +

--skip-translation-headers +path_regex

-

Ignore declarations in headers +

Ignore declarations in headers whose path matches the given OCaml regex from the start of the string during capture.

-

--struct-as-cpp-class

+

--struct-as-cpp-class

-

Activates: Translate C structs +

Activates: Translate C structs as C++ classes. This can be useful when analyzing C/C++ code to make sure struct global variables shared between C and C++ source files are treated as same variables

-

(Conversely: +

(Conversely: --no-struct-as-cpp-class)
--Xclang
+string

-

Pass values as command-line +

Pass values as command-line arguments to invocations of clang

-

--xcpretty

+

--xcpretty

-

Activates: Infer will use +

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 @@ -644,44 +647,44 @@

ERLANG OPTIONS -

--erlang-ast-dir +

--erlang-ast-dir dir

-

Also load AST from all .json +

Also load AST from all .json files in the given path. These .json files usually come from a previous run with --debug.

-

--erlang-check-return

+

--erlang-check-return

-

Activates: Check whether the +

Activates: Check whether the values returned by functions correspond to what the function's spec promises. This check is introduced at capture time. (Conversely: --no-erlang-check-return)

-

--no-erlang-reliability

+

--no-erlang-reliability

-

Deactivates: Analyze crashing +

Deactivates: Analyze crashing executions. This flag affects both capture and analysis. At capture time, it encodes Erlang specs; at (Pulse) analysis time, it models Erlang exceptions (builtin or OTP ones). (Conversely: --erlang-reliability)

-

--erlang-skip-compile

+

--erlang-skip-compile

-

Activates: Skip running +

Activates: Skip running compiler (erlc/rebar3), to save time. The build command is basically ignored in this case. To be used together with --erlang-ast-dir. (Conversely: --no-erlang-skip-compile)

-

--erlang-with-otp-specs

+

--erlang-with-otp-specs

-

Activates: [EXPERIMENTAL] Use +

Activates: [EXPERIMENTAL] Use type specs from OTP (available in the system) to generate more precise Pulse summaries for unknown library functions. (Conversely: --no-erlang-with-otp-specs)

@@ -692,46 +695,46 @@

JAVA OPTIONS -

--bootclasspath +

--bootclasspath string

-

Specify the Java +

Specify the Java bootclasspath

-

--dependencies

+

--dependencies

-

Activates: Translate all the +

Activates: Translate all the dependencies during the capture. The classes in the given jar file will be translated. No sources needed. (Conversely: --no-dependencies)

-

--generated-classes +

--generated-classes path

-

Specify where to load the +

Specify where to load the generated class files

-

--java-jar-compiler +

--java-jar-compiler path

-

Specify the Java compiler jar +

Specify the Java compiler jar used to generate the bytecode

-

--java-version +

--java-version int

-

The version of Java being used. +

The version of Java being used. Set it to your Java version if mvn is failing.

-

--no-kotlin-capture

+

--no-kotlin-capture

-

Deactivates: Enable Kotlin +

Deactivates: Enable Kotlin capture. (Conversely: --kotlin-capture)

-

--no-mask-sawja-exceptions

+

--no-mask-sawja-exceptions

-

Deactivates: Mask exceptions +

Deactivates: Mask exceptions thrown by Sawja/Javalib during Java capture (Conversely: --mask-sawja-exceptions)

@@ -741,10 +744,10 @@

ENVIRONMENT -

INFER_ARGS, +

INFER_ARGS, INFERCONFIG, INFER_STRICT_MODE

-

See the ENVIRONMENT section in +

See the ENVIRONMENT section in the manual of infer(1).

FILES @@ -753,9 +756,9 @@

FILES -

.inferconfig

+

.inferconfig

-

See the FILES section in the +

See the FILES section in the manual of infer(1).

SEE ALSO @@ -764,7 +767,7 @@

SEE ALSO -

infer-analyze(1), +

infer-analyze(1), infer-compile(1), infer-run(1)


diff --git a/website/static/man/next/infer-compile.1.html b/website/static/man/next/infer-compile.1.html index b1b92594c9a..8c37323908a 100644 --- a/website/static/man/next/infer-compile.1.html +++ b/website/static/man/next/infer-compile.1.html @@ -1,4 +1,4 @@ - + @@ -36,7 +36,7 @@

NAME

-

infer-compile - +

infer-compile - compile project from within the infer environment

SYNOPSIS @@ -44,15 +44,15 @@

SYNOPSIS

-

infer compile --- [compile command]

+

infer +compile -- [compile command]

DESCRIPTION

-

Intercepts +

Intercepts compilation commands similarly to infer-capture, but simply execute these compilation commands and do not perform any translation of the source files. This can be useful to @@ -64,9 +64,9 @@

OPTIONS -

--debug,-g

+

--debug,-g

-

Activates: Debug mode (also +

Activates: Debug mode (also sets --debug-level 2, --developer-mode, --print-buckets, --print-types, --reports-include-ml-loc, @@ -74,58 +74,58 @@

OPTIONS --write-html) (Conversely: --no-debug | -G)

-

--debug-level +

--debug-level level

-

Debug level (sets +

Debug level (sets --bo-debug level, --debug-level-analysis level, --debug-level-capture level):

-

- 0: only basic debugging +

- 0: only basic debugging enabled
- 1: verbose debugging enabled
- 2: very verbose debugging enabled
--debug-level-analysis
int

-

Debug level for the analysis. +

Debug level for the analysis. See --debug-level for accepted values.

-

--debug-level-capture +

--debug-level-capture int

-

Debug level for the capture. +

Debug level for the capture. See --debug-level for accepted values.

-

--debug-level-report +

--debug-level-report int

-

Debug level for the report. See +

Debug level for the report. See --debug-level for accepted values.

-

--force-delete-results-dir

+

--force-delete-results-dir

-

Activates: Do not refuse to +

Activates: Do not refuse to delete the results directory if it doesn't look like an infer results directory. (Conversely: --no-force-delete-results-dir)

-

--help

+

--help

-

Show this manual

+

Show this manual

-

--help-format { auto | -groff | pager | plain }

+

--help-format { auto +| groff | pager | plain }

-

Show this help in the specified +

Show this help in the specified format. auto sets the format to plain if the environment variable TERM is "dumb" or undefined, and to pager otherwise.

-

--help-full

+

--help-full

-

Show this manual with all +

Show this manual with all internal options in the INTERNAL OPTIONS section

ENVIRONMENT @@ -134,10 +134,10 @@

ENVIRONMENT -

INFER_ARGS, +

INFER_ARGS, INFERCONFIG, INFER_STRICT_MODE

-

See the ENVIRONMENT section in +

See the ENVIRONMENT section in the manual of infer(1).

FILES @@ -146,9 +146,9 @@

FILES -

.inferconfig

+

.inferconfig

-

See the FILES section in the +

See the FILES section in the manual of infer(1).

EXAMPLES @@ -156,32 +156,33 @@

EXAMPLES

-

cmake(1) + +

cmake(1) hardcodes the absolute paths to the compiler inside the Makefiles it generates, which defeats the later capture of compilation commands by infer. Thus, to capture a CMake project, one should configure the project from within the infer build environment, for instance:

-

mkdir build +

mkdir build && cd build
infer compile -- cmake ..
infer capture -- make

-

The same +

The same solution can be used for projects whose "./configure" script hardcodes the paths to the compilers, for instance:

-

infer compile -- -./configure
+

infer compile +-- ./configure
infer capture -- make

-

Another solution -for CMake projects is to use CMake's compilation databases, -for instance:

+

Another +solution for CMake projects is to use CMake's compilation +databases, for instance:

-

mkdir build +

mkdir build && cd build
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ..
infer capture --compilation-database @@ -193,7 +194,7 @@

SEE ALSO -

infer-capture(1)

+

infer-capture(1)


diff --git a/website/static/man/next/infer-debug.1.html b/website/static/man/next/infer-debug.1.html index 8f0d9f468c1..ab63599d46b 100644 --- a/website/static/man/next/infer-debug.1.html +++ b/website/static/man/next/infer-debug.1.html @@ -1,4 +1,4 @@ - + @@ -38,7 +38,7 @@

NAME

-

infer-debug - +

infer-debug - print internal infer data structures

SYNOPSIS @@ -46,7 +46,7 @@

SYNOPSIS

-

infer debug +

infer debug --global-tenv
infer debug --procedures
[options]
infer debug --source-files
[options]

@@ -56,19 +56,19 @@

DESCRIPTION

-

If +

If --procedures is passed, print information about each procedures captured by infer.

-

If +

If --source-files is passed, print information about captured source files.

-

If +

If --global-tenv is passed, print the global type environment (if any).

-

At least one of +

At least one of the above options must be passed.

OPTIONS @@ -77,35 +77,35 @@

OPTIONS -

--help

+

--help

-

Show this manual

+

Show this manual

-

--help-format { auto | -groff | pager | plain }

+

--help-format { auto +| groff | pager | plain }

-

Show this help in the specified +

Show this help in the specified format. auto sets the format to plain if the environment variable TERM is "dumb" or undefined, and to pager otherwise.

-

--help-full

+

--help-full

-

Show this manual with all +

Show this manual with all internal options in the INTERNAL OPTIONS section

-

--preanalysis-html

+

--preanalysis-html

-

Activates: Whether the HTML +

Activates: Whether the HTML node printing for preanalysis is enabled or not. Set to false by default since this helps focus on debugging just the enabled analyses. (Conversely: --no-preanalysis-html)

-

--select +

--select (N|all)

-

Select option number N +

Select option number N or all of them. If omitted, prompt for input.

DEBUG GLOBAL TYPE ENVIRONMENT @@ -114,9 +114,9 @@

DEBUG GLOBAL TYPE ENVIRONMENT -

--global-tenv

+

--global-tenv

-

Activates: Print the global +

Activates: Print the global type environment. (Conversely: --no-global-tenv)

DEBUG PROCEDURES @@ -125,58 +125,59 @@

DEBUG PROCEDURES -

--procedures

+

--procedures

-

Activates: Print functions and +

Activates: Print functions and methods discovered by infer (Conversely: --no-procedures)

-

--procedures-attributes

+

--procedures-attributes

-

Activates: Print the attributes +

Activates: Print the attributes of each procedure in the output of --procedures (Conversely: --no-procedures-attributes)

-

--procedures-call-graph

+

--procedures-call-graph

-

Activates: Output a dotty file +

Activates: Output a dotty file in infer-out/captured/syntactic-call-graph.dot. The graph is the syntactic call graph reachable from either all captured procedures or those determined by the option --changed-files-index. (Conversely: --no-procedures-call-graph)

-

--procedures-callees

-

Activates: Print the static +

--procedures-callees

+ +

Activates: Print the static callees of each procedure in the output of --procedures (Conversely: --no-procedures-callees)

-

--procedures-cfg

+

--procedures-cfg

-

Activates: Output a dotty file +

Activates: Output a dotty file in infer-out/captured/<file_name>/<proc_name>.dot for each procedure in the output of --procedures (Conversely: --no-procedures-cfg)

-

--no-procedures-definedness

+

--no-procedures-definedness

-

Deactivates: Include procedures +

Deactivates: Include procedures definedness in the output of --procedures, i.e. whether the procedure definition was found, or only the procedure declaration, or the procedure is an auto-generated Objective-C accessor (Conversely: --procedures-definedness)

-

--procedures-filter +

--procedures-filter filter

-

With --procedures, only +

With --procedures, only print functions and methods (procedures) matching the specified filter. A procedure filter is of the form path_pattern:procedure_name. Patterns are interpreted @@ -184,38 +185,39 @@

DEBUG PROCEDURES methods named "foo", one can use the filter ".*:foo", or "foo" for short.

-

--procedures-name

+

--procedures-name

-

Activates: Include procedures +

Activates: Include procedures names in the output of --procedures (Conversely: --no-procedures-name)

-

--no-procedures-source-file

+

--no-procedures-source-file

-

Deactivates: Include the source +

Deactivates: Include the source file in which the procedure definition or declaration was found in the output of --procedures (Conversely: --procedures-source-file)

-

--procedures-summary

-

Activates: Print the summaries +

--procedures-summary

+ +

Activates: Print the summaries of each procedure in the output of --procedures. See also --procedures-summary-skip-empty. (Conversely: --no-procedures-summary)

-

--procedures-summary-json

+

--procedures-summary-json

-

Activates: Emit the summaries +

Activates: Emit the summaries of each procedure in the output of --procedures as JSON (Conversely: --no-procedures-summary-json)

-

--procedures-summary-skip-empty

+

--procedures-summary-skip-empty

-

Activates: Completely skip +

Activates: Completely skip procedures that do not have summaries. Useful when analyzing a small part of a big project. (To use in conjunction with --procedures-summary or @@ -229,10 +231,10 @@

DEBUG SOURCE FILES -

--complete-capture-from +

--complete-capture-from path

-

Provide the path to an infer +

Provide the path to an infer results directory containing a capture database. The capture database specified with --results-dir) (which must exist) will be completed from the input database and @@ -240,78 +242,78 @@

DEBUG SOURCE FILES directory. The exit code will be equal to the number of rows added to the capture database.

-

--extract-capture-from +

--extract-capture-from path

-

Provide the path to an infer +

Provide the path to an infer results directory containing a capture database. Together with a list of files provided through the obligatory use of --changed-files-index, create a new capture database containing only the artefacts related to these files (in the location specified with --results-dir).

-

--source-files

+

--source-files

-

Activates: Print source files +

Activates: Print source files discovered by infer (Conversely: --no-source-files)

-

--source-files-call-graph

+

--source-files-call-graph

-

Activates: Output a dotty file +

Activates: Output a dotty file in infer-out/captured/file-call-graph.dot. The graph is the file-based syntactic call graph of all captured procedures (with known translation units). (Conversely: --no-source-files-call-graph)

-

--source-files-call-graph-partition +

--source-files-call-graph-partition int

-

The number of partitions to +

The number of partitions to divide the set of captured source files, using static call graph information. The generated file lists are found under infer-out/captured/workerXX.idx. Not setting this option skips partitioning. This is used for distributed analysis.

-

--source-files-cfg

+

--source-files-cfg

-

Activates: Output a dotty file +

Activates: Output a dotty file in infer-out/captured for each source file in the output of --source-files (Conversely: --no-source-files-cfg)

-

--source-files-filter +

--source-files-filter filter

-

With --source-files, +

With --source-files, only print source files matching the specified filter. The filter is a pattern that should match the file path. Patterns are interpreted as OCaml Str regular expressions.

-

--source-files-freshly-captured

+

--source-files-freshly-captured

-

Activates: Print whether the +

Activates: Print whether the source file has been captured in the most recent capture phase in the output of --source-files. (Conversely: --no-source-files-freshly-captured)

-

--source-files-procedure-names

+

--source-files-procedure-names

-

Activates: Print the names of +

Activates: Print the names of procedure of each source file in the output of --source-files (Conversely: --no-source-files-procedure-names)

-

--source-files-type-environment

+

--source-files-type-environment

-

Activates: Print the type +

Activates: Print the type environment of each source file in the output of --source-files (Conversely: --no-source-files-type-environment)

@@ -322,10 +324,10 @@

ENVIRONMENT -

INFER_ARGS, +

INFER_ARGS, INFERCONFIG, INFER_STRICT_MODE

-

See the ENVIRONMENT section in +

See the ENVIRONMENT section in the manual of infer(1).

FILES @@ -334,9 +336,9 @@

FILES -

.inferconfig

+

.inferconfig

-

See the FILES section in the +

See the FILES section in the manual of infer(1).

SEE ALSO @@ -345,7 +347,7 @@

SEE ALSO -

infer-explore(1), +

infer-explore(1), infer-report(1)


diff --git a/website/static/man/next/infer-explore.1.html b/website/static/man/next/infer-explore.1.html index 9cb32449bd3..fb8c0d830d9 100644 --- a/website/static/man/next/infer-explore.1.html +++ b/website/static/man/next/infer-explore.1.html @@ -1,4 +1,4 @@ - + @@ -36,7 +36,7 @@

NAME

-

infer-explore - +

infer-explore - explore the error traces in infer reports

SYNOPSIS @@ -44,7 +44,7 @@

SYNOPSIS

-

infer +

infer explore [options]

DESCRIPTION @@ -52,8 +52,8 @@

DESCRIPTION

-

Show the list of -bugs on the console and explore symbolic program traces +

Show the list +of bugs on the console and explore symbolic program traces emitted by infer to explain a report. Can also generate an HTML report from a JSON report.

@@ -63,27 +63,27 @@

OPTIONS -

--help

+

--help

-

Show this manual

+

Show this manual

-

--help-format { auto | -groff | pager | plain }

+

--help-format { auto +| groff | pager | plain }

-

Show this help in the specified +

Show this help in the specified format. auto sets the format to plain if the environment variable TERM is "dumb" or undefined, and to pager otherwise.

-

--help-full

+

--help-full

-

Show this manual with all +

Show this manual with all internal options in the INTERNAL OPTIONS section

-

--results-dir,-o +

--results-dir,-o dir

-

Write results and internal +

Write results and internal files in the specified directory

EXPLORE BUGS @@ -92,27 +92,27 @@

EXPLORE BUGS -

--html

+

--html

-

Activates: Generate an html +

Activates: Generate an html report of issues found. (Conversely: --no-html)

-

--max-nesting +

--max-nesting int

-

Level of nested procedure calls +

Level of nested procedure calls to show. Trace elements beyond the maximum nesting level are skipped. If omitted, all levels are shown.

-

--select +

--select (N|all)

-

Select option number N +

Select option number N or all of them. If omitted, prompt for input.

-

--no-source-preview

+

--no-source-preview

-

Deactivates: print code +

Deactivates: print code excerpts around trace elements (Conversely: --source-preview)

@@ -122,10 +122,10 @@

ENVIRONMENT -

INFER_ARGS, +

INFER_ARGS, INFERCONFIG, INFER_STRICT_MODE

-

See the ENVIRONMENT section in +

See the ENVIRONMENT section in the manual of infer(1).

FILES @@ -134,9 +134,9 @@

FILES -

.inferconfig

+

.inferconfig

-

See the FILES section in the +

See the FILES section in the manual of infer(1).

SEE ALSO @@ -145,7 +145,7 @@

SEE ALSO -

infer-report(1), +

infer-report(1), infer-run(1)


diff --git a/website/static/man/next/infer-help.1.html b/website/static/man/next/infer-help.1.html index cf9c1e7fc3d..d815ae60acb 100644 --- a/website/static/man/next/infer-help.1.html +++ b/website/static/man/next/infer-help.1.html @@ -1,4 +1,4 @@ - + @@ -34,7 +34,7 @@

NAME

-

infer-help - +

infer-help - Show and generate documentation.

SYNOPSIS @@ -42,7 +42,7 @@

SYNOPSIS

-

infer help +

infer help
infer help --help-checker
checker1 ... --help-checker checkerN
@@ -57,24 +57,24 @@

DESCRIPTION

-

Without +

Without arguments, show the Infer manual as with infer --help

-

For each +

For each -help-checker or --help-issue-type option passed, display information about the given checker or issue type.

-

If +

If --list-checkers is passed, list all available checkers.

-

If +

If --list-issue-types is passed, list all issue types.

-

Use +

Use --write-website to build some of the documentation for the fbinfer.com website. (Used in scripts, not meant to be used except when publishing content to @@ -86,59 +86,59 @@

OPTIONS -

--help

+

--help

-

Show this manual

+

Show this manual

-

--help-checker +

--help-checker +checker-id

-

Show information about a +

Show information about a checker, for example biabduction. To see the list of all checkers, see --list-checkers.

-

--help-format { auto | -groff | pager | plain }

+

--help-format { auto +| groff | pager | plain }

-

Show this help in the specified +

Show this help in the specified format. auto sets the format to plain if the environment variable TERM is "dumb" or undefined, and to pager otherwise.

-

--help-full

+

--help-full

-

Show this manual with all +

Show this manual with all internal options in the INTERNAL OPTIONS section

-

--help-issue-type +

--help-issue-type +UNIQUE_ID

-

Show information about an issue +

Show information about an issue type, for example NULL_DEREFERENCE. To see the list of all issue types, see --list-issue-types.

-

--list-categories

+

--list-categories

-

Activates: Show the list of all +

Activates: Show the list of all categories of issue types that infer might report. (Conversely: --no-list-categories)

-

--list-checkers

+

--list-checkers

-

Activates: Show the list of all +

Activates: Show the list of all available checkers. (Conversely: --no-list-checkers)

-

--list-issue-types

+

--list-issue-types

-

Activates: Show the list of all +

Activates: Show the list of all issue types that infer might report. (Conversely: --no-list-issue-types)

-

--write-website +

--write-website path_to_website_dir

-

Use to write website files +

Use to write website files documenting issue types and checkers under path_to_website_dir/. Meant to be used within the Infer directory to generate its website at @@ -150,10 +150,10 @@

ENVIRONMENT -

INFER_ARGS, +

INFER_ARGS, INFERCONFIG, INFER_STRICT_MODE

-

See the ENVIRONMENT section in +

See the ENVIRONMENT section in the manual of infer(1).

FILES @@ -162,9 +162,9 @@

FILES -

.inferconfig

+

.inferconfig

-

See the FILES section in the +

See the FILES section in the manual of infer(1).


diff --git a/website/static/man/next/infer-report.1.html b/website/static/man/next/infer-report.1.html index d16508f9cda..db549c883f1 100644 --- a/website/static/man/next/infer-report.1.html +++ b/website/static/man/next/infer-report.1.html @@ -1,4 +1,4 @@ - + @@ -38,7 +38,7 @@

NAME

-

infer-report - +

infer-report - compute and manipulate infer reports

SYNOPSIS @@ -46,7 +46,7 @@

SYNOPSIS

-

infer report +

infer report
infer report --issues-tests
infer report --cost-issues-tests
@@ -59,7 +59,7 @@

DESCRIPTION

-

When used +

When used without parameters, generate report output in Json. With a --tests parameter, write out issues in a format suitable for tests. With --merge-report, merge @@ -71,17 +71,17 @@

OPTIONS -

--no-censor-report +

--no-censor-report +issue_type_regex

-

For debugging/experimentation +

For debugging/experimentation only: Specify issues not to be censored by --censor-report.

-

--censor-report +

--censor-report +string

-

Specify a filter for issues to +

Specify a filter for issues to be censored by adding a 'censored_reason' field in the json report. Infer will not report censored issues on the console output and in report.txt, but tools that post-process the @@ -105,36 +105,36 @@

OPTIONS used to explain why the issue was filtered.

-

--config-impact-data-file +

--config-impact-data-file file

-

[ConfigImpact] Specify the file +

[ConfigImpact] Specify the file containing the config data

-

--config-impact-issues-tests +

--config-impact-issues-tests file

-

Write a list of config impact +

Write a list of config impact issues in a format suitable for config impact tests to file

-

--config-impact-max-callees-to-print +

--config-impact-max-callees-to-print int

-

Specify the maximum number of +

Specify the maximum number of unchecked callees to print in the config impact checker

-

--cost-issues-tests +

--cost-issues-tests file

-

Write a list of cost issues in +

Write a list of cost issues in a format suitable for cost tests to file

-

--debug,-g

+

--debug,-g

-

Activates: Debug mode (also +

Activates: Debug mode (also sets --debug-level 2, --developer-mode, --print-buckets, --print-types, --reports-include-ml-loc, @@ -142,61 +142,61 @@

OPTIONS --write-html) (Conversely: --no-debug | -G)

-

--debug-level +

--debug-level level

-

Debug level (sets +

Debug level (sets --bo-debug level, --debug-level-analysis level, --debug-level-capture level):

-

- 0: only basic debugging +

- 0: only basic debugging enabled
- 1: verbose debugging enabled
- 2: very verbose debugging enabled
--debug-level-analysis
int

-

Debug level for the analysis. +

Debug level for the analysis. See --debug-level for accepted values.

-

--debug-level-capture +

--debug-level-capture int

-

Debug level for the capture. +

Debug level for the capture. See --debug-level for accepted values.

-

--debug-level-report +

--debug-level-report int

-

Debug level for the report. See +

Debug level for the report. See --debug-level for accepted values.

-

--no-deduplicate

+

--no-deduplicate

-

Deactivates: Apply +

Deactivates: Apply issue-specific deduplication during analysis and/or reporting. (Conversely: --deduplicate)

-

--differential-filter-files +

--differential-filter-files string

-

Specify the file containing the +

Specify the file containing the list of source files for which a differential report is desired. Source files should be specified relative to project root or be absolute

-

--disable-issue-type +

--disable-issue-type +issue_type

-

Do not show reports coming from +

Do not show reports coming from this type of issue. Each checker can report a range of issue types. This option provides fine-grained filtering over which types of issue should be reported once the checkers have run. In particular, note that disabling issue types does not make the corresponding checker not run.

-

Available issue types are as +

Available issue types are as follows:
ARBITRARY_CODE_EXECUTION_UNDER_LOCK (enabled by default),
@@ -248,14 +248,11 @@

OPTIONS CONSTANT_ADDRESS_DEREFERENCE (disabled by default),
CONSTANT_ADDRESS_DEREFERENCE_LATENT (disabled by default),
-CREATE_INTENT_FROM_URI (enabled by default),
-CROSS_SITE_SCRIPTING (enabled by default),
CXX_REF_CAPTURED_IN_BLOCK (enabled by default),
Cannot_star (enabled by default),
DANGLING_POINTER_DEREFERENCE (disabled by default),
DANGLING_POINTER_DEREFERENCE_MAYBE (disabled by default),
-DATALOG_FACT (enabled by default),
DATA_FLOW_TO_SINK (disabled by default),
DEADLOCK (enabled by default),
DEAD_STORE (enabled by default),
@@ -271,7 +268,6 @@

OPTIONS
EXPENSIVE_EXECUTION_TIME (disabled by default),
EXPENSIVE_LOOP_INVARIANT_CALL (enabled by default),
-EXPOSED_INSECURE_INTENT_HANDLING (enabled by default),
Failure_exe (enabled by default),
GUARDEDBY_VIOLATION (enabled by default),
IMPURE_FUNCTION (enabled by default),
@@ -283,7 +279,6 @@

OPTIONS INFERBO_ALLOC_MAY_BE_NEGATIVE (enabled by default),
INFINITE_EXECUTION_TIME (disabled by default),
INHERENTLY_DANGEROUS_FUNCTION (enabled by default),
-INSECURE_INTENT_HANDLING (enabled by default),
INTEGER_OVERFLOW_L1 (enabled by default),
INTEGER_OVERFLOW_L2 (enabled by default),
INTEGER_OVERFLOW_L5 (disabled by default),
@@ -293,11 +288,9 @@

OPTIONS INVARIANT_CALL (disabled by default),
IPC_ON_UI_THREAD (enabled by default),
Internal_error (enabled by default),
-JAVASCRIPT_INJECTION (enabled by default),
LAB_RESOURCE_LEAK (enabled by default),
LOCKLESS_VIOLATION (enabled by default),
LOCK_CONSISTENCY_VIOLATION (enabled by default),
-LOGGING_PRIVATE_DATA (enabled by default),
Leak_after_array_abstraction (enabled by default),
Leak_in_footprint (enabled by default),
Leak_unknown_origin (disabled by default),
@@ -355,6 +348,7 @@

OPTIONS PULSE_RESOURCE_LEAK (enabled by default),
PULSE_TRANSITIVE_ACCESS (enabled by default),
PULSE_UNAWAITED_AWAITABLE (enabled by default),
+PULSE_UNFINISHED_BUILDER (disabled by default),
PULSE_UNINITIALIZED_CONST (disabled by default),
PULSE_UNINITIALIZED_VALUE (enabled by default),
PULSE_UNNECESSARY_COPY (enabled by default),
@@ -373,18 +367,14 @@

OPTIONS
PULSE_UNNECESSARY_COPY_RETURN (disabled by default),
PURE_FUNCTION (enabled by default),
-QUANDARY_TAINT_ERROR (enabled by default),
REGEX_OP_ON_UI_THREAD (enabled by default),
RESOURCE_LEAK (enabled by default),
RETAIN_CYCLE (enabled by default),
RETAIN_CYCLE_NO_WEAK_INFO (disabled by default),
SCOPE_LEAKAGE (enabled by default),
+SELF_IN_BLOCK_PASSED_TO_INIT (enabled by default),
SENSITIVE_DATA_FLOW (disabled by default),
-SHELL_INJECTION (enabled by default),
-SHELL_INJECTION_RISK (enabled by default),
SKIP_FUNCTION (disabled by default),
-SQL_INJECTION (enabled by default),
-SQL_INJECTION_RISK (enabled by default),
STACK_VARIABLE_ADDRESS_ESCAPE (enabled by default),
STARVATION (enabled by default),
STATIC_INITIALIZATION_ORDER_FIASCO (enabled by default), @@ -397,17 +387,6 @@

OPTIONS TOPL_ERROR (enabled by default),
TOPL_ERROR_LATENT (disabled by default),
UNREACHABLE_CODE (enabled by default),
-UNTRUSTED_BUFFER_ACCESS (disabled by default),
-UNTRUSTED_DESERIALIZATION (enabled by default),
-UNTRUSTED_DESERIALIZATION_RISK (enabled by default),
-UNTRUSTED_ENVIRONMENT_CHANGE_RISK (enabled by default),
-UNTRUSTED_FILE (enabled by default),
-UNTRUSTED_FILE_RISK (enabled by default),
-UNTRUSTED_HEAP_ALLOCATION (disabled by default),
-UNTRUSTED_INTENT_CREATION (enabled by default),
-UNTRUSTED_URL_RISK (enabled by default),
-UNTRUSTED_VARIABLE_LENGTH_ARRAY (enabled by default),
-USER_CONTROLLED_SQL_RISK (enabled by default),
USE_AFTER_DELETE (enabled by default),
USE_AFTER_DELETE_LATENT (disabled by default),
USE_AFTER_FREE (enabled by default),
@@ -420,7 +399,7 @@

OPTIONS Wrong_argument_number (enabled by default).
--enable-issue-type
+issue_type

-

Show reports coming from this +

Show reports coming from this type of issue. By default, all issue types are enabled except the ones listed in --disable-issue-type. Note that enabling issue types does not make the corresponding @@ -428,56 +407,57 @@

OPTIONS or off.

-

--no-filtering,-F

+

--no-filtering,-F

-

Deactivates: Do not show the +

Deactivates: Do not show the experimental and block listed issue types (Conversely: --filtering | -f)

-

--from-json-config-impact-report +

--from-json-config-impact-report config-impact-report.json

-

Load costs analysis results +

Load costs analysis results from a config-impact-report file.

-

--from-json-costs-report + +

--from-json-costs-report costs-report.json

-

Load costs analysis results +

Load costs analysis results from a costs-report file.

-

--from-json-report +

--from-json-report report.json

-

Load analysis results from a +

Load analysis results from a report file (default is to load the results from the specs files generated by the analysis).

-

--help

+

--help

-

Show this manual

+

Show this manual

-

--help-format { auto | -groff | pager | plain }

+

--help-format { auto +| groff | pager | plain }

-

Show this help in the specified +

Show this help in the specified format. auto sets the format to plain if the environment variable TERM is "dumb" or undefined, and to pager otherwise.

-

--help-full

+

--help-full

-

Show this manual with all +

Show this manual with all internal options in the INTERNAL OPTIONS section

-

--issues-tests +

--issues-tests file

-

Write a list of issues in a +

Write a list of issues in a format suitable for tests to file

-

--issues-tests-fields +

--issues-tests-fields ,-separated sequence of { bug_type | bucket |
qualifier | suggestion | severity | line | column | procedure |
@@ -487,74 +467,76 @@

OPTIONS
transitive_callees_extra }

-

Fields to emit with +

Fields to emit with --issues-tests

-

--merge-report +

--merge-report +string

-

Specifies an Infer results +

Specifies an Infer results directory. The reports stored in JSON files in all specified results directories will be merged together and deduplicated before being stored in the main results directory.

-

--merge-summaries +

--merge-summaries +string

-

Specifies an Infer results +

Specifies an Infer results directory. The summaries in all specified results directories will be merged together and deduplicated before reporting is done.

-

--print-logs

+

--print-logs

-

Activates: Also log messages to +

Activates: Also log messages to stdout and stderr (Conversely: --no-print-logs)

-

--project-root,-C + +

--project-root,-C dir

-

Specify the root directory of +

Specify the root directory of the project

-

--quiet,-q

+

--quiet,-q

-

Activates: Do not print +

Activates: Do not print anything on standard output. (Conversely: --no-quiet | -Q)

-

--report-allow-list-path-regex +

--report-allow-list-path-regex +path_regex

-

Report issues only on files +

Report issues only on files whose relative path matches the specified OCaml regex (and which do not match --report-block-list-path-regex)

-

--report-block-list-files-containing +

--report-block-list-files-containing +string

-

Do not report any issues on +

Do not report any issues on files containing the specified string

-

--report-block-list-path-regex +

--report-block-list-path-regex +path_regex

-

Do not report any issues on +

Do not report any issues on files whose relative path matches the specified OCaml regex, even if they match the allow list specified by --report-allow-list-path-regex

-

--report-block-list-spec + +

--report-block-list-spec json

-

Do not report the issues in +

Do not report the issues in this list.

-

Example format:
+

Example format:
"report-block-list-spec": [
{ "bug_type": "CXX_REF_CAPTURED_IN_BLOCK",
@@ -571,32 +553,33 @@

OPTIONS ]
--report-console-limit
int

-

Maximum number of issues to +

Maximum number of issues to display on standard output. Unset with --report-console-limit-reset to show all.

-

--report-formatter { +

--report-formatter { none | phabricator }

-

Which formatter to use when +

Which formatter to use when emitting the report

-

--report-suppress-errors + +

--report-suppress-errors +error_name

-

do not report a type of +

do not report a type of errors

-

--results-dir,-o +

--results-dir,-o dir

-

Write results and internal +

Write results and internal files in the specified directory

-

--skip-analysis-in-path-skips-compilation

+

--skip-analysis-in-path-skips-compilation

-

Activates: Whether paths in +

Activates: Whether paths in --skip-analysis-in-path should be compiled or not (Conversely: --no-skip-analysis-in-path-skips-compilation)

@@ -607,9 +590,9 @@

HOISTING OPTIONS -

--no-hoisting-report-only-expensive

+

--no-hoisting-report-only-expensive

-

Deactivates: [Hoisting] Report +

Deactivates: [Hoisting] Report loop-invariant calls only when the function is expensive, i.e. at least linear (Conversely: --hoisting-report-only-expensive)

@@ -620,25 +603,25 @@

LINEAGE OPTIONS -

--lineage-sanitizers +

--lineage-sanitizers +string

-

[EXPERIMENTAL; UNSTABLE API] +

[EXPERIMENTAL; UNSTABLE API] Lineage sanitizers, comma-separated m:f/a

-

--lineage-sink -string

+

--lineage-sink ++string

-

[EXPERIMENTAL; UNSTABLE API] -Lineage sink for taint finding, format -[module:]function/arity.{ret,argN}

+

[EXPERIMENTAL; UNSTABLE API] +Lineage sinks for taint finding, format +[module:]function/arity.{ret,argN}, comma-separated.

-

--lineage-source -string

+

--lineage-source ++string

-

[EXPERIMENTAL; UNSTABLE API] -Lineage source for taint finding, format -[module:]function/arity.{ret,argN}

+

[EXPERIMENTAL; UNSTABLE API] +Lineage sources for taint finding, format +[module:]function/arity.{ret,argN}, comma-separated.

PULSE CHECKER OPTIONS @@ -646,17 +629,17 @@

PULSE CHECKER OPTIONS -

--pulse-report-flows-from-taint-source +

--pulse-report-flows-from-taint-source procname

-

Report data flows which +

Report data flows which originate at taint source procname

-

--pulse-report-flows-to-taint-sink +

--pulse-report-flows-to-taint-sink procname

-

Report data flows which pass +

Report data flows which pass through taint sink procname

ENVIRONMENT @@ -665,10 +648,10 @@

ENVIRONMENT -

INFER_ARGS, +

INFER_ARGS, INFERCONFIG, INFER_STRICT_MODE

-

See the ENVIRONMENT section in +

See the ENVIRONMENT section in the manual of infer(1).

FILES @@ -677,9 +660,9 @@

FILES -

.inferconfig

+

.inferconfig

-

See the FILES section in the +

See the FILES section in the manual of infer(1).

SEE ALSO @@ -688,7 +671,7 @@

SEE ALSO -

infer-reportdiff(1), +

infer-reportdiff(1), infer-run(1)


diff --git a/website/static/man/next/infer-reportdiff.1.html b/website/static/man/next/infer-reportdiff.1.html index aabe45cf8d1..be62af6b9d2 100644 --- a/website/static/man/next/infer-reportdiff.1.html +++ b/website/static/man/next/infer-reportdiff.1.html @@ -1,4 +1,4 @@ - + @@ -36,7 +36,7 @@

NAME -

infer-reportdiff +

infer-reportdiff - compute the differences between two infer reports

SYNOPSIS @@ -44,7 +44,7 @@

SYNOPSIS

-

infer +

infer reportdiff --report-current file --report-previous file [options]

@@ -53,7 +53,7 @@

DESCRIPTION

-

Given two infer +

Given two infer reports previous and current, compute the following three reports and store them inside the "differential/" subdirectory of the results @@ -65,7 +65,7 @@

DESCRIPTION - preexisting.json contains the issues found in both previous and current.

-

All three files +

All three files follow the same format as normal infer reports.

OPTIONS @@ -74,40 +74,41 @@

OPTIONS -

--config-impact-current +

--config-impact-current path

-

Config impact report of the +

Config impact report of the latest revision

-

--config-impact-max-callees-to-print +

--config-impact-max-callees-to-print int

-

Specify the maximum number of +

Specify the maximum number of unchecked callees to print in the config impact checker

-

--config-impact-previous + +

--config-impact-previous path

-

Config impact report of the +

Config impact report of the base revision to use for comparison

-

--costs-current +

--costs-current path

-

Costs report of the latest +

Costs report of the latest revision

-

--costs-previous +

--costs-previous path

-

Costs report of the base +

Costs report of the base revision to use for comparison

-

--debug,-g

+

--debug,-g

-

Activates: Debug mode (also +

Activates: Debug mode (also sets --debug-level 2, --developer-mode, --print-buckets, --print-types, --reports-include-ml-loc, @@ -115,97 +116,97 @@

OPTIONS --write-html) (Conversely: --no-debug | -G)

-

--debug-level +

--debug-level level

-

Debug level (sets +

Debug level (sets --bo-debug level, --debug-level-analysis level, --debug-level-capture level):

-

- 0: only basic debugging +

- 0: only basic debugging enabled
- 1: verbose debugging enabled
- 2: very verbose debugging enabled
--debug-level-analysis
int

-

Debug level for the analysis. +

Debug level for the analysis. See --debug-level for accepted values.

-

--debug-level-capture +

--debug-level-capture int

-

Debug level for the capture. +

Debug level for the capture. See --debug-level for accepted values.

-

--debug-level-report +

--debug-level-report int

-

Debug level for the report. See +

Debug level for the report. See --debug-level for accepted values.

-

--no-deduplicate

+

--no-deduplicate

-

Deactivates: Apply +

Deactivates: Apply issue-specific deduplication during analysis and/or reporting. (Conversely: --deduplicate)

-

--file-renamings +

--file-renamings path

-

JSON with a list of file +

JSON with a list of file renamings to use while computing differential reports

-

--help

+

--help

-

Show this manual

+

Show this manual

-

--help-format { auto | -groff | pager | plain }

+

--help-format { auto +| groff | pager | plain }

-

Show this help in the specified +

Show this help in the specified format. auto sets the format to plain if the environment variable TERM is "dumb" or undefined, and to pager otherwise.

-

--help-full

+

--help-full

-

Show this manual with all +

Show this manual with all internal options in the INTERNAL OPTIONS section

-

--report-current +

--report-current path

-

report of the latest +

report of the latest revision

-

--report-previous +

--report-previous path

-

Report of the base revision to +

Report of the base revision to use for comparison

-

--no-skip-duplicated-types

+

--no-skip-duplicated-types

-

Deactivates: Skip +

Deactivates: Skip fixed-then-introduced duplicated types while computing differential reports (Conversely: --skip-duplicated-types)

-

--stats-dir-current +

--stats-dir-current path

-

The infer-out/stats from the +

The infer-out/stats from the current run. Together with --stats-dir-previous, make infer reportdiff compute the difference between two stats directories and output the results in infer-out/differential/stats_*.json files.

-

--stats-dir-previous +

--stats-dir-previous path

-

The infer-out/stats from a +

The infer-out/stats from a previous run. See --stats-dir-current.

ENVIRONMENT @@ -214,10 +215,10 @@

ENVIRONMENT -

INFER_ARGS, +

INFER_ARGS, INFERCONFIG, INFER_STRICT_MODE

-

See the ENVIRONMENT section in +

See the ENVIRONMENT section in the manual of infer(1).

FILES @@ -226,9 +227,9 @@

FILES -

.inferconfig

+

.inferconfig

-

See the FILES section in the +

See the FILES section in the manual of infer(1).

SEE ALSO @@ -237,7 +238,7 @@

SEE ALSO -

infer-report(1)

+

infer-report(1)


diff --git a/website/static/man/next/infer-run.1.html b/website/static/man/next/infer-run.1.html index 9bcbac73bfd..ed14f457e28 100644 --- a/website/static/man/next/infer-run.1.html +++ b/website/static/man/next/infer-run.1.html @@ -1,4 +1,4 @@ - + @@ -36,7 +36,7 @@

NAME

-

infer-run - +

infer-run - capture source files, analyze, and report

SYNOPSIS @@ -44,8 +44,8 @@

SYNOPSIS

-

infer run -[options]
+

infer +run [options]
infer
[options] -- compile command

@@ -54,11 +54,11 @@

DESCRIPTION

-

Calling +

Calling "infer run [options]" is equivalent to performing the following sequence of commands:

-

infer +

infer capture [options]
infer analyze
[options]

@@ -68,24 +68,24 @@

OPTIONS -

--capture-block-list +

--capture-block-list json

-

Matcher or list of matchers for +

Matcher or list of matchers for names of files that should not be captured, hence not analyzed either. Clang, Java, and Hack only.

-

--no-censor-report +

--no-censor-report +issue_type_regex

-

For debugging/experimentation +

For debugging/experimentation only: Specify issues not to be censored by --censor-report.

-

--censor-report +

--censor-report +string

-

Specify a filter for issues to +

Specify a filter for issues to be censored by adding a 'censored_reason' field in the json report. Infer will not report censored issues on the console output and in report.txt, but tools that post-process the @@ -108,9 +108,9 @@

OPTIONS ‘<reason_string>‘ is a non-empty string used to explain why the issue was filtered.

-

--debug,-g

+

--debug,-g

-

Activates: Debug mode (also +

Activates: Debug mode (also sets --debug-level 2, --developer-mode, --print-buckets, --print-types, --reports-include-ml-loc, @@ -118,53 +118,53 @@

OPTIONS --write-html) (Conversely: --no-debug | -G)

-

--debug-level +

--debug-level level

-

Debug level (sets +

Debug level (sets --bo-debug level, --debug-level-analysis level, --debug-level-capture level):

-

- 0: only basic debugging +

- 0: only basic debugging enabled
- 1: verbose debugging enabled
- 2: very verbose debugging enabled
--debug-level-analysis
int

-

Debug level for the analysis. +

Debug level for the analysis. See --debug-level for accepted values.

-

--debug-level-capture +

--debug-level-capture int

-

Debug level for the capture. +

Debug level for the capture. See --debug-level for accepted values.

-

--debug-level-report +

--debug-level-report int

-

Debug level for the report. See +

Debug level for the report. See --debug-level for accepted values.

-

--fail-on-issue

+

--fail-on-issue

-

Activates: Exit with error code +

Activates: Exit with error code 2 if Infer found something to report (Conversely: --no-fail-on-issue)

-

--force-delete-results-dir

+

--force-delete-results-dir

-

Activates: Do not refuse to +

Activates: Do not refuse to delete the results directory if it doesn't look like an infer results directory. (Conversely: --no-force-delete-results-dir)

-

--force-integration +

--force-integration command

-

Proceed as if the first +

Proceed as if the first argument after -- was command. Possible values: ant, buck1, buck, buck2, gradle, gradlew, java, javac, @@ -174,91 +174,93 @@

OPTIONS mvn, mvnw, ndk-build, python3, rebar3, erlc, xcodebuild.

-

--help

+

--help

-

Show this manual

+

Show this manual

-

--help-format { auto | -groff | pager | plain }

+

--help-format { auto +| groff | pager | plain }

-

Show this help in the specified +

Show this help in the specified format. auto sets the format to plain if the environment variable TERM is "dumb" or undefined, and to pager otherwise.

-

--help-full

+

--help-full

-

Show this manual with all +

Show this manual with all internal options in the INTERNAL OPTIONS section

-

--never-returning-null +

--never-returning-null json

-

[Java only, all analyses] +

[Java only, all analyses] Matcher or list of matchers for functions that never return null.

-

--pmd-xml

+

--pmd-xml

-

Activates: Output issues in +

Activates: Output issues in (PMD) XML format in infer-out/report.xml (Conversely: --no-pmd-xml)

-

--print-logs

+

--print-logs

-

Activates: Also log messages to +

Activates: Also log messages to stdout and stderr (Conversely: --no-print-logs)

-

--no-progress-bar,-P

+

--no-progress-bar,-P

-

Deactivates: Show a progress +

Deactivates: Show a progress bar (Conversely: --progress-bar | -p)

-

--project-root,-C + +

--project-root,-C dir

-

Specify the root directory of +

Specify the root directory of the project

-

--no-report

+

--no-report

-

Deactivates: Run the reporting +

Deactivates: Run the reporting phase once the analysis has completed (Conversely: --report)

-

--report-allow-list-path-regex +

--report-allow-list-path-regex +path_regex

-

Report issues only on files +

Report issues only on files whose relative path matches the specified OCaml regex (and which do not match --report-block-list-path-regex)

-

--report-block-list-files-containing +

--report-block-list-files-containing +string

-

Do not report any issues on +

Do not report any issues on files containing the specified string

-

--report-block-list-path-regex +

--report-block-list-path-regex +path_regex

-

Do not report any issues on +

Do not report any issues on files whose relative path matches the specified OCaml regex, even if they match the allow list specified by --report-allow-list-path-regex

-

--report-block-list-spec + +

--report-block-list-spec json

-

Do not report the issues in +

Do not report the issues in this list.

-

Example format:
+

Example format:
"report-block-list-spec": [
{ "bug_type": "CXX_REF_CAPTURED_IN_BLOCK",
@@ -275,93 +277,94 @@

OPTIONS ]
--report-force-relative-path

-

Activates: Force converting an +

Activates: Force converting an absolute path to a relative path to the root directory (Conversely: --no-report-force-relative-path)

-

--report-suppress-errors + +

--report-suppress-errors +error_name

-

do not report a type of +

do not report a type of errors

-

--results-dir,-o +

--results-dir,-o dir

-

Write results and internal +

Write results and internal files in the specified directory

-

--sarif

+

--sarif

-

Activates: Output issues in +

Activates: Output issues in SARIF (Static Analysis Results Interchange Format) in infer-out/report.sarif (Conversely: --no-sarif)

-

--skip-analysis-in-path +

--skip-analysis-in-path +regex

-

Ignore files whose path matches +

Ignore files whose path matches a given regex (can be specified multiple times, but you must make sure each regex is properly bracketed)

-

--sqlite-cache-size +

--sqlite-cache-size int

-

SQLite cache size in pages (if +

SQLite cache size in pages (if positive) or kB (if negative), follows formal of corresponding SQLite PRAGMA.

-

--sqlite-lock-timeout +

--sqlite-lock-timeout int

-

Timeout for SQLite results +

Timeout for SQLite results database operations, in milliseconds.

-

--sqlite-max-blob-size +

--sqlite-max-blob-size int

-

Maximum blob/string size for +

Maximum blob/string size for data written in SQLite.

-

--sqlite-mmap-size +

--sqlite-mmap-size int

-

Size of memory map for mmaped +

Size of memory map for mmaped SQLite databases, zero value disables memory mapping.

-

--sqlite-page-size +

--sqlite-page-size int

-

SQLite page size in bytes, must +

SQLite page size in bytes, must be a power of two between 512 and 65536.

-

--timeout +

--timeout float

-

Time after which any checker +

Time after which any checker (except biabduction) should give up analysing the current function or method, in seconds

-

--version

+

--version

-

Print version information and +

Print version information and exit

-

--version-json

+

--version-json

-

Print version information in +

Print version information in json format and exit

- + - - +

--

+

Stop argument processing, use remaining arguments as a @@ -374,32 +377,32 @@

BUCK OPTIONS -

--buck-block-list +

--buck-block-list +regex

-

Skip capture of files matched +

Skip capture of files matched by the specified regular expression. Only the clang, non-compilation-database

-

Buck integration is supported, +

Buck integration is supported, not Java.
--buck-targets-block-list
+regex

-

Skip capture of buck targets +

Skip capture of buck targets matched by the specified regular expression.

-

--buck2-bxl-capture-file-block-list +

--buck2-bxl-capture-file-block-list +regex

-

Skip capture of files matched +

Skip capture of files matched by the specified regular expression. Only the clang, Buck2 integration is supported, not Java.

-

--buck2-root +

--buck2-root dir

-

Specify the parent directory of +

Specify the parent directory of buck-out (used only for buck2).

ENVIRONMENT @@ -408,10 +411,10 @@

ENVIRONMENT -

INFER_ARGS, +

INFER_ARGS, INFERCONFIG, INFER_STRICT_MODE

-

See the ENVIRONMENT section in +

See the ENVIRONMENT section in the manual of infer(1).

FILES @@ -420,9 +423,9 @@

FILES -

.inferconfig

+

.inferconfig

-

See the FILES section in the +

See the FILES section in the manual of infer(1).

SEE ALSO @@ -431,7 +434,7 @@

SEE ALSO -

infer-analyze(1), +

infer-analyze(1), infer-capture(1), infer-report(1)


diff --git a/website/static/man/next/infer.1.html b/website/static/man/next/infer.1.html index bf71872e2d8..d93d9ca580e 100644 --- a/website/static/man/next/infer.1.html +++ b/website/static/man/next/infer.1.html @@ -1,4 +1,4 @@ - + @@ -35,7 +35,7 @@

NAME

-

infer - static +

infer - static analysis for Java and C/C++/Objective-C/Objective-C++

SYNOPSIS @@ -43,7 +43,7 @@

SYNOPSIS

-

infer +

infer analyze [options]
infer capture
[options]
infer compile
[options]
@@ -62,19 +62,19 @@

DESCRIPTION

-

Infer is a +

Infer is a static analyzer. Given a collection of source files written in Java or in languages of the C family, and a command to build them, infer produces a list of potential issues.

-

Infer consists +

Infer consists of a collection of tools referenced in the SEE ALSO section of this manual. See their respective manuals for more information.

-

When run without -a subcommand, and if a compilation command is specified via -the -- option or one of the +

When run +without a subcommand, and if a compilation command is +specified via the -- option or one of the --clang-compilation-database[-escaped] options, then infer behaves as infer-run(1). Otherwise, infer behaves as infer-analyze(1).

@@ -84,12 +84,12 @@

OPTIONS

-

Every infer +

Every infer command accepts the arguments from all the other infer commands.

-

Options are read -from the .inferconfig file, then from the +

Options are +read from the .inferconfig file, then from the INFER_ARGS environment variable, then from the command line. Options in INFER_ARGS take precedence over options in .inferconfig, and options passed on @@ -98,13 +98,13 @@

OPTIONS FILES sections of this manual for more information.

-

Options can be +

Options can be specified inside an argument file file by passing @file as argument. The format is one option per line, and enclosing single ' and double " quotes are ignored.

-

Options without +

Options without a default value (e.g., --changed-files-index) and options with list-like values (e.g., --Xbuck) all have a corresponding --option-reset flag that resets @@ -112,22 +112,22 @@

OPTIONS instance, --Xbuck-reset will cancel any previous --Xbuck option passed to infer.

-

See the manuals +

See the manuals of individual infer commands for details about their supported options. The following is a list of all the supported options (see also --help-full for options reserved for internal use).
--analysis-schedule-file
path

-

The file where an analysis +

The file where an analysis schedule is stored. The default is infer-out/analysis_dependency_graph

-

See also +

See also infer-analyze(1).
--annotation-reachability

-

Activates: +

Activates: annotation-reachability checker: Given pairs of source and sink annotations, e.g. ‘@A‘ and ‘@B‘, this checker will warn whenever some @@ -140,36 +140,36 @@

OPTIONS flags starting with ‘--annotation-reachability‘. (Conversely: --no-annotation-reachability)

-

See also +

See also infer-analyze(1).
--no-annotation-reachability-apply-superclass-annotations

-

Deactivates: Applies +

Deactivates: Applies annotations from superclasses and interfaces also on methods that are not overridden from the superclass or interface. (Conversely: --annotation-reachability-apply-superclass-annotations)

-

See also +

See also infer-analyze(1).
--annotation-reachability-custom-models
json

-

Specify a map from annotations +

Specify a map from annotations to lists of regexps to treat matching methods as if they had the annotation.

-

Example format: +

Example format: {"Annotation": ["com\\.Myclass\\.foo.*"]}
See also infer-analyze(1).
--annotation-reachability-custom-pairs
json

-

Specify custom sources/sinks, +

Specify custom sources/sinks, and optionally sanitizers for the annotation reachability checker

-

Example format: for custom +

Example format: for custom annotations
com.my.annotation.{Source1,Source2,Sink1,Sanitizer1}
{ "sources" : ["Source1", @@ -179,357 +179,357 @@

OPTIONS See also infer-analyze(1).
--annotation-reachability-expensive

-

Activates: check if methods +

Activates: check if methods annotated with @PerformanceCritical can call expensive methods (annotated @Expensive or modeled, with annotation reachability checker) (Conversely: --no-annotation-reachability-expensive)

-

See also +

See also infer-analyze(1).
--annotation-reachability-minimize-sources

-

Activates: do not report paths +

Activates: do not report paths where a suffix is also a source to sink path. For example if there is a source1() -> source2() -> sink() path then only source2() -> sink() will be reported. (Conversely: --no-annotation-reachability-minimize-sources)

-

See also +

See also infer-analyze(1).
--annotation-reachability-no-allocation

-

Activates: check if methods +

Activates: check if methods annotated with @NoAllocation can allocate (with annotation reachability checker) (Conversely: --no-annotation-reachability-no-allocation)

-

See also +

See also infer-analyze(1).
--annotation-reachability-only

-

Activates: Enable +

Activates: Enable annotation-reachability and disable all other checkers (Conversely: --no-annotation-reachability-only)

-

See also +

See also infer-analyze(1).
--annotation-reachability-report-source-and-sink

-

Activates: Reports methods that +

Activates: Reports methods that are marked as both a source and a sink at the same time. (Conversely: --no-annotation-reachability-report-source-and-sink)

-

See also +

See also infer-analyze(1).
--append-buck-flavors
+string

-

Additional Buck flavors to +

Additional Buck flavors to append to targets discovered by the --buck-compilation-database option.

-

See also +

See also infer-capture(1).
--biabduction

-

Activates: biabduction +

Activates: biabduction checker: This analysis deals with a range of issues, many linked to memory safety.

-

DEPRECATED: This has been -replaced by Pulse and will be removed
+

DEPRECATED: This has +been replaced by Pulse and will be removed
in the next release.
(Conversely: --no-biabduction)
See also infer-analyze(1).
--biabduction-only

-

Activates: Enable +

Activates: Enable biabduction and disable all other checkers (Conversely: --no-biabduction-only)

-

See also +

See also infer-analyze(1).
--biabduction-unsafe-malloc

-

Activates: Assume that +

Activates: Assume that malloc(3) never returns null. (Conversely: --no-biabduction-unsafe-malloc)

-

See also +

See also infer-analyze(1).
--biabduction-write-dotty

-

Activates: Produce dotty files +

Activates: Produce dotty files for specs and retain cycles reports in infer-out/captured. (Conversely: --no-biabduction-write-dotty)

-

See also +

See also infer-analyze(1).
--no-bo-assume-void

-

Deactivates: Assume void type +

Deactivates: Assume void type as a type of record fields not in type environment. (Conversely: --bo-assume-void)

-

See also +

See also infer-analyze(1).
--no-bo-bottom-as-default

-

Deactivates: Use bottom as a +

Deactivates: Use bottom as a default value instead of unknown. (Conversely: --bo-bottom-as-default)

-

See also +

See also infer-analyze(1).
--bo-context-sensitive-allocsites

-

Activates: Assume that +

Activates: Assume that different calls to the same function creating an allocsite results in different allocsites imported to the caller. (Conversely: --no-bo-context-sensitive-allocsites)

-

See also +

See also infer-analyze(1).
--bo-debug
int

-

Debug level for buffer-overrun +

Debug level for buffer-overrun checker (0-4)

-

See also +

See also infer-analyze(1).
--bo-exit-frontend-gener-vars

-

Activates: Put frontend +

Activates: Put frontend generated variables out of scope when they are listed in exit scope instruction. (Conversely: --no-bo-exit-frontend-gener-vars)

-

See also +

See also infer-analyze(1).
--bo-field-depth-limit
int

-

Limit of field depth of +

Limit of field depth of abstract location in buffer-overrun checker

-

See also +

See also infer-analyze(1).
--bo-max-cfg-size
int

-

Larger CFGs than the max size +

Larger CFGs than the max size are skipped in buffer overrun analysis.

-

See also +

See also infer-analyze(1).
--bo-sound-unknown-sets-join

-

Activates: Join with an unknown +

Activates: Join with an unknown set always result in an unknown set. When disabled, unknown set behaves as bot. (Conversely: --no-bo-sound-unknown-sets-join)

-

See also +

See also infer-analyze(1).
--bootclasspath
string

-

Specify the Java +

Specify the Java bootclasspath

-

See also +

See also infer-capture(1).
--buck-block-list
+regex

-

Skip capture of files matched +

Skip capture of files matched by the specified regular expression. Only the clang, non-compilation-database

-

Buck integration is supported, +

Buck integration is supported, not Java.
See also infer-capture(1) and infer-run(1).
--buck-clang

-

Activates: Buck integration for +

Activates: Buck integration for clang-based targets (C/C++/Objective-C/Objective-C++). (Conversely: --no-buck-clang)

-

See also +

See also infer-capture(1).
--buck-clang-use-toolchain-config

-

Activates: Suppress setting +

Activates: Suppress setting buck config values for the infer binary and other values in the buck-clang-flavor integration and instead rely on buck toolchain configuration options. (Conversely: --no-buck-clang-use-toolchain-config)

-

See also +

See also infer-capture(1).
--buck-compilation-database
{ no-deps | deps }

-

Buck integration using the +

Buck integration using the compilation database, with or without dependencies. Only includes clang targets, as per Buck's #compilation-database flavor.

-

See also +

See also infer-capture(1).
--buck-compilation-database-depth
int

-

Depth of dependencies used by +

Depth of dependencies used by the --buck-compilation-database deps option. By default, all recursive dependencies are captured.

-

See also +

See also infer-capture(1).
--buck-dependency-depth
int

-

Capture dependencies only if +

Capture dependencies only if they are at most the depth provided, or all transitive dependencies if depth is not provided (the default). In particular, depth zero means capture exactly the targets provided and nothing else.

-

See also +

See also infer-capture(1).
--buck-erlang

-

Activates: Buck integration for +

Activates: Buck integration for Erlang. (Conversely: --no-buck-erlang)

-

See also +

See also infer-capture(1).
--buck-java

-

Activates: Buck integration for +

Activates: Buck integration for Java. (Conversely: --no-buck-java)

-

See also +

See also infer-capture(1).
--buck-java-heap-size-gb
int

-

Explicitly set the size of the +

Explicitly set the size of the Java heap of Buck processes, in gigabytes.

-

See also +

See also infer-capture(1).
--buck-java-suppress-config

-

Activates: Suppress setting +

Activates: Suppress setting buck config values for the infer binary and its version in the buck-java integration. (Conversely: --no-buck-java-suppress-config)

-

See also +

See also infer-capture(1).
--buck-merge-all-deps

-

Activates: Find and merge all +

Activates: Find and merge all infer dependencies produced by buck. Use this flag if infer doesn't find any files to analyze after a successful capture. Only valid for --buck-clang. (Conversely: --no-buck-merge-all-deps)

-

See also +

See also infer-capture(1).
--buck-targets-block-list
+regex

-

Skip capture of buck targets +

Skip capture of buck targets matched by the specified regular expression.

-

See also infer-capture(1) -and infer-run(1).
+

See also +infer-capture(1) and infer-run(1).
--buck2-bxl-capture-file-block-list
+regex

-

Skip capture of files matched +

Skip capture of files matched by the specified regular expression. Only the clang, Buck2 integration is supported, not Java.

-

See also infer-capture(1) -and infer-run(1).
+

See also +infer-capture(1) and infer-run(1).
--buck2-bxl-target
string

-

Buck2 BXL script (as a buck +

Buck2 BXL script (as a buck target) to run when capturing with buck2/clang integration.

-

See also +

See also infer-capture(1).
--buck2-inferconfig-target
string

-

Buck2 target representing the +

Buck2 target representing the inferconfig file; used in BXL capture.

-

See also +

See also infer-capture(1).
--buck2-infertoolchain-target
string

-

Buck2 target representing the +

Buck2 target representing the infer toolchain; used in BXL capture.

-

See also +

See also infer-capture(1).
--buck2-isolation-dir
string

-

Run buck bxl capture with the +

Run buck bxl capture with the given isolation directory as parameter.

-

See also +

See also infer-capture(1).
--no-buck2-query-deps

-

Deactivates: Query deps of +

Deactivates: Query deps of given targets and run capture on the result (alternatively run capture on given targets) (Conversely: --buck2-query-deps)

-

See also +

See also infer-capture(1).
--buck2-root
dir

-

Specify the parent directory of +

Specify the parent directory of buck-out (used only for buck2).

-

See also infer-capture(1) -and infer-run(1).
+

See also +infer-capture(1) and infer-run(1).
--bufferoverrun

-

Activates: bufferoverrun +

Activates: bufferoverrun checker: InferBO is a detector for out-of-bounds array accesses. (Conversely: --no-bufferoverrun)

-

See also +

See also infer-analyze(1).
--bufferoverrun-only

-

Activates: Enable +

Activates: Enable bufferoverrun and disable all other checkers (Conversely: --no-bufferoverrun-only)

-

See also +

See also infer-analyze(1).
--capture-block-list
json

-

Matcher or list of matchers for +

Matcher or list of matchers for names of files that should not be captured, hence not analyzed either. Clang, Java, and Hack only.

-

See also infer-capture(1) -and infer-run(1).
+

See also +infer-capture(1) and infer-run(1).
--no-censor-report
+issue_type_regex

-

For debugging/experimentation +

For debugging/experimentation only: Specify issues not to be censored by --censor-report.

-

See also infer-report(1) +

See also infer-report(1) and infer-run(1).
--censor-report
+string

-

Specify a filter for issues to +

Specify a filter for issues to be censored by adding a 'censored_reason' field in the json report. Infer will not report censored issues on the console output and in report.txt, but tools that post-process the @@ -552,79 +552,79 @@

OPTIONS ‘<reason_string>‘ is a non-empty string used to explain why the issue was filtered.

-

See also infer-report(1) +

See also infer-report(1) and infer-run(1).
--cfg-json
file

-

Path to CFG json file

+

Path to CFG json file

-

See also +

See also infer-capture(1).
--changed-files-index
file

-

Specify the file containing the +

Specify the file containing the list of source files from which reactive analysis should start. Source files should be specified relative to project root or be absolute

-

See also +

See also infer-analyze(1).
--clang-biniou-file
file

-

Specify a file containing the +

Specify a file containing the AST of the program, in biniou format. Please note you still need to provide a compilation command.

-

See also +

See also infer-capture(1).
--clang-block-listed-flags
+string

-

Clang flags to filter out

+

Clang flags to filter out

-

See also +

See also infer-capture(1).
--clang-block-listed-flags-with-arg
+string

-

Clang flags (taking args) to +

Clang flags (taking args) to filter out

-

See also +

See also infer-capture(1).
--clang-compound-literal-init-limit
int

-

Limit after which +

Limit after which initialization of compound types (structs and arrays) is not done element by element but using a builtin function that each analysis has to model.

-

See also infer-analyze(1) -and infer-capture(1).
+

See also +infer-analyze(1) and infer-capture(1).
--clang-yojson-file
file

-

Specify a file containing the +

Specify a file containing the AST of the program, in yojson format. Please note you still need to provide a compilation command.

-

See also +

See also infer-capture(1).
--compilation-database
+path

-

File that contain compilation +

File that contain compilation commands (can be specified multiple times)

-

See also +

See also infer-capture(1).
--compilation-database-escaped
+path

-

File that contain compilation +

File that contain compilation commands where all entries are escaped for the shell, eg coming from Xcode (can be specified multiple times)

-

See also +

See also infer-capture(1).
--complete-capture-from
path

-

Provide the path to an infer +

Provide the path to an infer results directory containing a capture database. The capture database specified with --results-dir) (which must exist) will be completed from the input database and @@ -632,163 +632,147 @@

OPTIONS directory. The exit code will be equal to the number of rows added to the capture database.

-

See also infer-debug(1). +

See also infer-debug(1).
--config-impact-analysis

-

Activates: +

Activates: config-impact-analysis checker: [EXPERIMENTAL] Collects function that are called without config checks. (Conversely: --no-config-impact-analysis)

-

See also +

See also infer-analyze(1).
--config-impact-analysis-only

-

Activates: Enable +

Activates: Enable config-impact-analysis and disable all other checkers (Conversely: --no-config-impact-analysis-only)

-

See also +

See also infer-analyze(1).
--config-impact-current
path

-

Config impact report of the +

Config impact report of the latest revision

-

See also +

See also infer-reportdiff(1).
--config-impact-data-file
file

-

[ConfigImpact] Specify the file +

[ConfigImpact] Specify the file containing the config data

-

See also infer-report(1). -
+

See also +infer-report(1).
--config-impact-issues-tests
file

-

Write a list of config impact +

Write a list of config impact issues in a format suitable for config impact tests to file

-

See also infer-report(1). -
+

See also +infer-report(1).
--config-impact-max-callees-to-print
int

-

Specify the maximum number of +

Specify the maximum number of unchecked callees to print in the config impact checker

-

See also infer-report(1) +

See also infer-report(1) and infer-reportdiff(1).
--config-impact-previous
path

-

Config impact report of the +

Config impact report of the base revision to use for comparison

-

See also +

See also infer-reportdiff(1).
--continue

-

Activates: Continue the capture +

Activates: Continue the capture for the reactive analysis, increasing the changed files/procedures. (If a procedure was changed beforehand, keep the changed marking.) (Conversely: --no-continue)

-

See also +

See also infer-capture(1).
--continue-analysis

-

Activates: Continue the +

Activates: Continue the analysis after more targets are captured by --continue. The other analysis options should be given the same before. Not compatible with --reanalyze and --incremental-analysis. (Conversely: --no-continue-analysis)

-

See also +

See also infer-analyze(1).
--cost

-

Activates: cost checker: +

Activates: cost checker: Computes the asymptotic complexity of functions with respect to execution cost or other user defined resources. Can be used to detect changes in the complexity with ‘infer reportdiff‘. (Conversely: --no-cost)

-

See also +

See also infer-analyze(1).
--cost-issues-tests
file

-

Write a list of cost issues in +

Write a list of cost issues in a format suitable for cost tests to file

-

See also infer-report(1). -
+

See also +infer-report(1).
--cost-only

-

Activates: Enable cost +

Activates: Enable cost and disable all other checkers (Conversely: --no-cost-only)

-

See also +

See also infer-analyze(1).
--no-cost-suppress-func-ptr

-

Deactivates: Suppress printing +

Deactivates: Suppress printing function pointers in cost reports (Conversely: --cost-suppress-func-ptr)

-

See also +

See also infer-analyze(1).
--costs-current
path

-

Costs report of the latest +

Costs report of the latest revision

-

See also +

See also infer-reportdiff(1).
--costs-previous
path

-

Costs report of the base +

Costs report of the base revision to use for comparison

-

See also +

See also infer-reportdiff(1).
--no-cxx

-

Deactivates: Analyze C++ +

Deactivates: Analyze C++ methods (Conversely: --cxx)

-

See also +

See also infer-capture(1).
--cxx-scope-guards
json

-

Specify scope guard classes +

Specify scope guard classes that can be read only by destructors without being reported as dead stores.

-

See also -infer-analyze(1).
---datalog

- -

Activates: datalog -checker: Experimental datalog-based points-to analysis. -(Conversely: --no-datalog)

- -

See also -infer-analyze(1).
---datalog-only

- -

Activates: Enable -datalog and disable all other checkers (Conversely: ---no-datalog-only)

- -

See also +

See also infer-analyze(1).
--debug
,-g

-

Activates: Debug mode (also +

Activates: Debug mode (also sets --debug-level 2, --developer-mode, --print-buckets, --print-types, --reports-include-ml-loc, @@ -796,19 +780,19 @@

OPTIONS --write-html) (Conversely: --no-debug | -G)

-

See also +

See also infer-analyze(1), infer-capture(1), infer-compile(1),
infer-report
(1), infer-reportdiff(1), and infer-run(1).
--debug-level
level

-

Debug level (sets +

Debug level (sets --bo-debug level, --debug-level-analysis level, --debug-level-capture level):

-

- 0: only basic debugging +

- 0: only basic debugging enabled
- 1: verbose debugging enabled
- 2: very verbose debugging enabled
@@ -818,46 +802,46 @@

OPTIONS infer-run(1).
--debug-level-analysis
int

-

Debug level for the analysis. +

Debug level for the analysis. See --debug-level for accepted values.

-

See also +

See also infer-analyze(1), infer-capture(1), infer-compile(1),
infer-report
(1), infer-reportdiff(1), and infer-run(1).
--debug-level-capture
int

-

Debug level for the capture. +

Debug level for the capture. See --debug-level for accepted values.

-

See also +

See also infer-analyze(1), infer-capture(1), infer-compile(1),
infer-report
(1), infer-reportdiff(1), and infer-run(1).
--debug-level-report
int

-

Debug level for the report. See +

Debug level for the report. See --debug-level for accepted values.

-

See also +

See also infer-analyze(1), infer-capture(1), infer-compile(1),
infer-report
(1), infer-reportdiff(1), and infer-run(1).
--no-deduplicate

-

Deactivates: Apply +

Deactivates: Apply issue-specific deduplication during analysis and/or reporting. (Conversely: --deduplicate)

-

See also +

See also infer-analyze(1), infer-report(1), and
infer-reportdiff
(1).
--no-default-checkers

-

Deactivates: Default checkers: +

Deactivates: Default checkers: --fragment-retains-view, --inefficient-keyset-iterator, --liveness, --parameter-not-null-checked, --pulse, @@ -865,20 +849,20 @@

OPTIONS --starvation (Conversely: --default-checkers)

-

See also +

See also infer-analyze(1).
--dependencies

-

Activates: Translate all the +

Activates: Translate all the dependencies during the capture. The classes in the given jar file will be translated. No sources needed. (Conversely: --no-dependencies)

-

See also +

See also infer-capture(1).
--detach-analysis-dependency

-

Activates: Detach analysis +

Activates: Detach analysis dependencies of checkers during the analysis, so that each checker triggers themselves only when analyzing a callee. This can save unnecessary analyses on the situation that NOT @@ -886,34 +870,34 @@

OPTIONS --changed-files-index is given. (Conversely: --no-detach-analysis-dependency)

-

See also +

See also infer-analyze(1).
--dict-missing-key-var-block-list
+string

-

Skip analyzing the variables in +

Skip analyzing the variables in the dict-missing-key checker.

-

See also +

See also infer-analyze(1).
--differential-filter-files
string

-

Specify the file containing the +

Specify the file containing the list of source files for which a differential report is desired. Source files should be specified relative to project root or be absolute

-

See also infer-report(1). -
+

See also +infer-report(1).
--disable-issue-type
+issue_type

-

Do not show reports coming from +

Do not show reports coming from this type of issue. Each checker can report a range of issue types. This option provides fine-grained filtering over which types of issue should be reported once the checkers have run. In particular, note that disabling issue types does not make the corresponding checker not run.

-

Available issue types are as +

Available issue types are as follows:
ARBITRARY_CODE_EXECUTION_UNDER_LOCK (enabled by default),
@@ -965,14 +949,11 @@

OPTIONS CONSTANT_ADDRESS_DEREFERENCE (disabled by default),
CONSTANT_ADDRESS_DEREFERENCE_LATENT (disabled by default),
-CREATE_INTENT_FROM_URI (enabled by default),
-CROSS_SITE_SCRIPTING (enabled by default),
CXX_REF_CAPTURED_IN_BLOCK (enabled by default),
Cannot_star (enabled by default),
DANGLING_POINTER_DEREFERENCE (disabled by default),
DANGLING_POINTER_DEREFERENCE_MAYBE (disabled by default),
-DATALOG_FACT (enabled by default),
DATA_FLOW_TO_SINK (disabled by default),
DEADLOCK (enabled by default),
DEAD_STORE (enabled by default),
@@ -988,7 +969,6 @@

OPTIONS
EXPENSIVE_EXECUTION_TIME (disabled by default),
EXPENSIVE_LOOP_INVARIANT_CALL (enabled by default),
-EXPOSED_INSECURE_INTENT_HANDLING (enabled by default),
Failure_exe (enabled by default),
GUARDEDBY_VIOLATION (enabled by default),
IMPURE_FUNCTION (enabled by default),
@@ -1000,7 +980,6 @@

OPTIONS INFERBO_ALLOC_MAY_BE_NEGATIVE (enabled by default),
INFINITE_EXECUTION_TIME (disabled by default),
INHERENTLY_DANGEROUS_FUNCTION (enabled by default),
-INSECURE_INTENT_HANDLING (enabled by default),
INTEGER_OVERFLOW_L1 (enabled by default),
INTEGER_OVERFLOW_L2 (enabled by default),
INTEGER_OVERFLOW_L5 (disabled by default),
@@ -1010,11 +989,9 @@

OPTIONS INVARIANT_CALL (disabled by default),
IPC_ON_UI_THREAD (enabled by default),
Internal_error (enabled by default),
-JAVASCRIPT_INJECTION (enabled by default),
LAB_RESOURCE_LEAK (enabled by default),
LOCKLESS_VIOLATION (enabled by default),
LOCK_CONSISTENCY_VIOLATION (enabled by default),
-LOGGING_PRIVATE_DATA (enabled by default),
Leak_after_array_abstraction (enabled by default),
Leak_in_footprint (enabled by default),
Leak_unknown_origin (disabled by default),
@@ -1072,6 +1049,7 @@

OPTIONS PULSE_RESOURCE_LEAK (enabled by default),
PULSE_TRANSITIVE_ACCESS (enabled by default),
PULSE_UNAWAITED_AWAITABLE (enabled by default),
+PULSE_UNFINISHED_BUILDER (disabled by default),
PULSE_UNINITIALIZED_CONST (disabled by default),
PULSE_UNINITIALIZED_VALUE (enabled by default),
PULSE_UNNECESSARY_COPY (enabled by default),
@@ -1090,18 +1068,14 @@

OPTIONS
PULSE_UNNECESSARY_COPY_RETURN (disabled by default),
PURE_FUNCTION (enabled by default),
-QUANDARY_TAINT_ERROR (enabled by default),
REGEX_OP_ON_UI_THREAD (enabled by default),
RESOURCE_LEAK (enabled by default),
RETAIN_CYCLE (enabled by default),
RETAIN_CYCLE_NO_WEAK_INFO (disabled by default),
SCOPE_LEAKAGE (enabled by default),
+SELF_IN_BLOCK_PASSED_TO_INIT (enabled by default),
SENSITIVE_DATA_FLOW (disabled by default),
-SHELL_INJECTION (enabled by default),
-SHELL_INJECTION_RISK (enabled by default),
SKIP_FUNCTION (disabled by default),
-SQL_INJECTION (enabled by default),
-SQL_INJECTION_RISK (enabled by default),
STACK_VARIABLE_ADDRESS_ESCAPE (enabled by default),
STARVATION (enabled by default),
STATIC_INITIALIZATION_ORDER_FIASCO (enabled by default), @@ -1114,17 +1088,6 @@

OPTIONS TOPL_ERROR (enabled by default),
TOPL_ERROR_LATENT (disabled by default),
UNREACHABLE_CODE (enabled by default),
-UNTRUSTED_BUFFER_ACCESS (disabled by default),
-UNTRUSTED_DESERIALIZATION (enabled by default),
-UNTRUSTED_DESERIALIZATION_RISK (enabled by default),
-UNTRUSTED_ENVIRONMENT_CHANGE_RISK (enabled by default),
-UNTRUSTED_FILE (enabled by default),
-UNTRUSTED_FILE_RISK (enabled by default),
-UNTRUSTED_HEAP_ALLOCATION (disabled by default),
-UNTRUSTED_INTENT_CREATION (enabled by default),
-UNTRUSTED_URL_RISK (enabled by default),
-UNTRUSTED_VARIABLE_LENGTH_ARRAY (enabled by default),
-USER_CONTROLLED_SQL_RISK (enabled by default),
USE_AFTER_DELETE (enabled by default),
USE_AFTER_DELETE_LATENT (disabled by default),
USE_AFTER_FREE (enabled by default),
@@ -1138,150 +1101,150 @@

OPTIONS See also infer-report(1).
--dump-duplicate-symbols

-

Activates: Dump all symbols +

Activates: Dump all symbols with the same name that are defined in more than one file. (Conversely: --no-dump-duplicate-symbols)

-

See also +

See also infer-capture(1).
--dynamic-dispatch-json-file-path
path

-

Dynamic dispatch file path to +

Dynamic dispatch file path to get the JSON used for method name substitution

-

See also +

See also infer-analyze(1).
--enable-issue-type
+issue_type

-

Show reports coming from this +

Show reports coming from this type of issue. By default, all issue types are enabled except the ones listed in --disable-issue-type. Note that enabling issue types does not make the corresponding checker run; see individual checker options to turn them on or off.

-

See also infer-report(1). -
+

See also +infer-report(1).
--erlang-ast-dir
dir

-

Also load AST from all .json +

Also load AST from all .json files in the given path. These .json files usually come from a previous run with --debug.

-

See also +

See also infer-capture(1).
--erlang-check-return

-

Activates: Check whether the +

Activates: Check whether the values returned by functions correspond to what the function's spec promises. This check is introduced at capture time. (Conversely: --no-erlang-check-return)

-

See also +

See also infer-capture(1).
--erlang-list-unfold-depth
int

-

Unfold Erlang lists up to depth +

Unfold Erlang lists up to depth int

-

See also +

See also infer-analyze(1).
--no-erlang-reliability

-

Deactivates: Analyze crashing +

Deactivates: Analyze crashing executions. This flag affects both capture and analysis. At capture time, it encodes Erlang specs; at (Pulse) analysis time, it models Erlang exceptions (builtin or OTP ones). (Conversely: --erlang-reliability)

-

See also infer-analyze(1) -and infer-capture(1).
+

See also +infer-analyze(1) and infer-capture(1).
--erlang-skip-compile

-

Activates: Skip running +

Activates: Skip running compiler (erlc/rebar3), to save time. The build command is basically ignored in this case. To be used together with --erlang-ast-dir. (Conversely: --no-erlang-skip-compile)

-

See also +

See also infer-capture(1).
--erlang-with-otp-specs

-

Activates: [EXPERIMENTAL] Use +

Activates: [EXPERIMENTAL] Use type specs from OTP (available in the system) to generate more precise Pulse summaries for unknown library functions. (Conversely: --no-erlang-with-otp-specs)

-

See also +

See also infer-capture(1).
--external-java-packages
+prefix

-

Specify a list of Java package +

Specify a list of Java package prefixes for external Java packages. If set, the analysis will not report non-actionable warnings on those packages.

-

See also +

See also infer-analyze(1).
--extract-capture-from
path

-

Provide the path to an infer +

Provide the path to an infer results directory containing a capture database. Together with a list of files provided through the obligatory use of --changed-files-index, create a new capture database containing only the artefacts related to these files (in the location specified with --results-dir).

-

See also infer-debug(1). +

See also infer-debug(1).
--fail-on-issue

-

Activates: Exit with error code +

Activates: Exit with error code 2 if Infer found something to report (Conversely: --no-fail-on-issue)

-

See also infer-run(1). +

See also infer-run(1).
--file-renamings
path

-

JSON with a list of file +

JSON with a list of file renamings to use while computing differential reports

-

See also +

See also infer-reportdiff(1).
--files-to-analyze-index
file

-

File containing a list of +

File containing a list of source files where analysis should start from. When used, the set of files given to this argument must be a subset of that passed to --changed-files-index (which must be specified).

-

See also +

See also infer-analyze(1).
--no-filtering
,-F

-

Deactivates: Do not show the +

Deactivates: Do not show the experimental and block listed issue types (Conversely: --filtering | -f)

-

See also infer-report(1). -
+

See also +infer-report(1).
--force-delete-results-dir

-

Activates: Do not refuse to +

Activates: Do not refuse to delete the results directory if it doesn't look like an infer results directory. (Conversely: --no-force-delete-results-dir)

-

See also +

See also infer-capture(1), infer-compile(1), and infer-run(1).
--force-integration
command

-

Proceed as if the first +

Proceed as if the first argument after -- was command. Possible values: ant, buck1, buck, buck2, gradle, gradlew, java, javac, @@ -1291,85 +1254,85 @@

OPTIONS mvn, mvnw, ndk-build, python3, rebar3, erlc, xcodebuild.

-

See also infer-capture(1) -and infer-run(1).
+

See also +infer-capture(1) and infer-run(1).
--no-fragment-retains-view

-

Deactivates: +

Deactivates: fragment-retains-view checker: Detects when Android fragments are not explicitly nullified before becoming unreachable.

-

DEPRECATED: Unmaintained +

DEPRECATED: Unmaintained due to poor precision.
(Conversely: --fragment-retains-view)
See also infer-analyze(1).
--fragment-retains-view-only

-

Activates: Enable +

Activates: Enable fragment-retains-view and disable all other checkers (Conversely: --no-fragment-retains-view-only)

-

See also +

See also infer-analyze(1).
--from-json-config-impact-report
config-impact-report.json

-

Load costs analysis results +

Load costs analysis results from a config-impact-report file.

-

See also infer-report(1). -
+

See also +infer-report(1).
--from-json-costs-report
costs-report.json

-

Load costs analysis results +

Load costs analysis results from a costs-report file.

-

See also infer-report(1). -
+

See also +infer-report(1).
--from-json-report
report.json

-

Load analysis results from a +

Load analysis results from a report file (default is to load the results from the specs files generated by the analysis).

-

See also infer-report(1). -
+

See also +infer-report(1).
--frontend-tests

-

Activates: Save +

Activates: Save filename.ext.test.dot with the cfg in dotty format for frontend tests (also sets --print-types) (Conversely: --no-frontend-tests)

-

See also +

See also infer-capture(1).
--generated-classes
path

-

Specify where to load the +

Specify where to load the generated class files

-

See also +

See also infer-capture(1).
--global-tenv

-

Activates: Print the global +

Activates: Print the global type environment. (Conversely: --no-global-tenv)

-

See also infer-debug(1). +

See also infer-debug(1).
--headers

-

Activates: Analyze code in +

Activates: Analyze code in header files (Conversely: --no-headers)

-

See also +

See also infer-capture(1).
--help

-

Show this manual

+

Show this manual

-

See also +

See also infer-analyze(1), infer-capture(1), infer-compile(1),
infer-debug
(1), infer-explore(1), @@ -1377,21 +1340,21 @@

OPTIONS infer-reportdiff(1), and infer-run(1).
--help-checker
+checker-id

-

Show information about a +

Show information about a checker, for example biabduction. To see the list of all checkers, see --list-checkers.

-

See also infer-help(1). +

See also infer-help(1).
--help-format
{ auto | groff | pager | plain }

-

Show this help in the specified +

Show this help in the specified format. auto sets the format to plain if the environment variable TERM is "dumb" or undefined, and to pager otherwise.

-

See also +

See also infer-analyze(1), infer-capture(1), infer-compile(1),
infer-debug
(1), infer-explore(1), @@ -1399,10 +1362,10 @@

OPTIONS infer-reportdiff(1), and infer-run(1).
--help-full

-

Show this manual with all +

Show this manual with all internal options in the INTERNAL OPTIONS section

-

See also +

See also infer-analyze(1), infer-capture(1), infer-compile(1),
infer-debug
(1), infer-explore(1), @@ -1410,108 +1373,108 @@

OPTIONS infer-reportdiff(1), and infer-run(1).
--help-issue-type
+UNIQUE_ID

-

Show information about an issue +

Show information about an issue type, for example NULL_DEREFERENCE. To see the list of all issue types, see --list-issue-types.

-

See also infer-help(1). +

See also infer-help(1).
--no-hoisting-report-only-expensive

-

Deactivates: [Hoisting] Report +

Deactivates: [Hoisting] Report loop-invariant calls only when the function is expensive, i.e. at least linear (Conversely: --hoisting-report-only-expensive)

-

See also infer-report(1). -
+

See also +infer-report(1).
--html

-

Activates: Generate an html +

Activates: Generate an html report of issues found. (Conversely: --no-html)

-

See also +

See also infer-explore(1).
--impurity

-

Activates: impurity +

Activates: impurity checker: Detects functions with potential side-effects. Same as "purity", but implemented on top of Pulse.

-

ACTIVATES: pulse +

ACTIVATES: pulse (Conversely: --no-impurity)
See also infer-analyze(1).
--impurity-only

-

Activates: Enable +

Activates: Enable impurity and disable all other checkers (Conversely: --no-impurity-only)

-

See also +

See also infer-analyze(1).
--impurity-report-immutable-modifications

-

Activates: Report modifications +

Activates: Report modifications to immutable fields in the Impurity checker (Conversely: --no-impurity-report-immutable-modifications)

-

See also +

See also infer-analyze(1).
--incremental-analysis

-

Activates: Use incremental +

Activates: Use incremental analysis for changed files. Not compatible with --reanalyze and --continue-analysis. Also sets --mark-unchanged-procs. (Conversely: --no-incremental-analysis)

-

See also +

See also infer-analyze(1).
--no-inefficient-keyset-iterator

-

Deactivates: +

Deactivates: inefficient-keyset-iterator checker: Check for inefficient uses of iterators that iterate on keys then lookup their values, instead of iterating on key-value pairs directly. (Conversely: --inefficient-keyset-iterator)

-

See also +

See also infer-analyze(1).
--inefficient-keyset-iterator-only

-

Activates: Enable +

Activates: Enable inefficient-keyset-iterator and disable all other checkers (Conversely: --no-inefficient-keyset-iterator-only)

-

See also +

See also infer-analyze(1).
--inline-func-pointer-for-testing
string

-

Enables substituting global +

Enables substituting global function pointers used for testing with the real function calls in the clang frontend. Pass the prefix used to build the global function pointers used for testing.

-

See also +

See also infer-analyze(1).
--invalidate-only

-

Activates: Remove any summaries +

Activates: Remove any summaries from the results database that transitively depend on a changed procedure, then exit without doing any actual analysis. (Conversely: --no-invalidate-only)

-

See also +

See also infer-analyze(1).
--issues-tests
file

-

Write a list of issues in a +

Write a list of issues in a format suitable for tests to file

-

See also infer-report(1). -
+

See also +infer-report(1).
--issues-tests-fields
,-separated sequence of { bug_type | bucket |
qualifier | suggestion | severity | line | column | @@ -1522,250 +1485,250 @@

OPTIONS
transitive_callees_extra }

-

Fields to emit with +

Fields to emit with --issues-tests

-

See also infer-report(1). -
+

See also +infer-report(1).
--java-jar-compiler
path

-

Specify the Java compiler jar +

Specify the Java compiler jar used to generate the bytecode

-

See also +

See also infer-capture(1).
--java-version
int

-

The version of Java being used. +

The version of Java being used. Set it to your Java version if mvn is failing.

-

See also infer-analyze(1) -and infer-capture(1).
+

See also +infer-analyze(1) and infer-capture(1).
--jobs
,-j int

-

Run the specified number of +

Run the specified number of analysis jobs simultaneously. Defaults to the minimum value of the max_jobs argument and the number of CPUs.

-

See also +

See also infer-analyze(1).
--keep-going

-

Activates: Keep going when the +

Activates: Keep going when the analysis or capture encounter a failure (Conversely: --no-keep-going)

-

See also infer-analyze(1) -and infer-capture(1).
+

See also +infer-analyze(1) and infer-capture(1).
--no-kotlin-capture

-

Deactivates: Enable Kotlin +

Deactivates: Enable Kotlin capture. (Conversely: --kotlin-capture)

-

See also +

See also infer-capture(1).
--lineage

-

Activates: lineage +

Activates: lineage checker: Computes a dataflow graph (Conversely: --no-lineage)

-

See also +

See also infer-analyze(1).
--no-lineage-dedup

-

Deactivates: In JSON output, +

Deactivates: In JSON output, attempt to print each entity at most once. This is the default. The only reason you may want to turn this off is to make hash collisions more visible; that is, cases in which distinct entities get assigned the same ID. (Conversely: --lineage-dedup)

-

See also +

See also infer-analyze(1).
--lineage-field-depth
int

-

[EXPERIMENTAL] Maximal field +

[EXPERIMENTAL] Maximal field depth sensitivity for lineage analysis. 0 will make the analysis field insensitive.

-

See also +

See also infer-analyze(1).
--lineage-field-max-cfg-size
int

-

If set, field sensitivity is +

If set, field sensitivity is disabled on larger CFGs.

-

See also +

See also infer-analyze(1).
--lineage-field-width
int

-

[EXPERIMENTAL] Maximal width of +

[EXPERIMENTAL] Maximal width of structures for field sensitive lineage analysis. Structure that have a higher number of fields will be smashed into a single element. 0 will make the analysis field insensitive.

-

See also +

See also infer-analyze(1).
--lineage-include-builtins

-

Activates: Include call/return +

Activates: Include call/return edges to/from procedures that model primitive Erlang operations, such as constructing a list. (Conversely: --no-lineage-include-builtins)

-

See also +

See also infer-analyze(1).
--lineage-json-report

-

Activates: Enable lineage +

Activates: Enable lineage report in JSON format. (Conversely: --no-lineage-json-report)

-

See also +

See also infer-analyze(1).
--lineage-keep-temporaries

-

Activates: Normally, lineage +

Activates: Normally, lineage summaries do not mention temporary variables introduced while compiling the high-level code to Infer's IR (intermediate representation). If this option is enabled, then the lineage graph produced corresponds to Infer's IR. (Conversely: --no-lineage-keep-temporaries)

-

See also +

See also infer-analyze(1).
--lineage-max-cfg-size
int

-

If set, larger CFGs are +

If set, larger CFGs are skipped.

-

See also +

See also infer-analyze(1).
--lineage-only

-

Activates: Enable +

Activates: Enable lineage and disable all other checkers (Conversely: --no-lineage-only)

-

See also +

See also infer-analyze(1).
--no-lineage-prevent-cycles

-

Deactivates: [EXPERIMENTAL] If +

Deactivates: [EXPERIMENTAL] If given, Lineage will not stop traversing the fields of a variable when it notices recursive types (that is, a sub-field having the same type as one of its "ancestors"). (Conversely: --lineage-prevent-cycles)

-

See also +

See also infer-analyze(1).
--lineage-sanitizers
+string

-

[EXPERIMENTAL; UNSTABLE API] +

[EXPERIMENTAL; UNSTABLE API] Lineage sanitizers, comma-separated m:f/a

-

See also infer-report(1). -
+

See also +infer-report(1).
--lineage-seed
int

-

Set the random seed used for +

Set the random seed used for hashing. (Various entities that get reported need unique identifiers. To generate these unique identifiers, in a distributed way without communication, we use hashing. If you are unlucky and get collisions, you can try a different seed.

-

See also +

See also infer-analyze(1).
---lineage-sink
string

+--lineage-sink
+string

-

[EXPERIMENTAL; UNSTABLE API] -Lineage sink for taint finding, format -[module:]function/arity.{ret,argN}

+

[EXPERIMENTAL; UNSTABLE API] +Lineage sinks for taint finding, format +[module:]function/arity.{ret,argN}, comma-separated.

-

See also infer-report(1). -
---lineage-source
string

+

See also +infer-report(1).
+--lineage-source
+string

-

[EXPERIMENTAL; UNSTABLE API] -Lineage source for taint finding, format -[module:]function/arity.{ret,argN}

+

[EXPERIMENTAL; UNSTABLE API] +Lineage sources for taint finding, format +[module:]function/arity.{ret,argN}, comma-separated.

-

See also infer-report(1). -
+

See also +infer-report(1).
--lineage-variant-width
int

-

Maximal width of variant types +

Maximal width of variant types for lineage analysis. A variant type is the type of a variable whose value is within a statically known atom set. The width of the type is the cardinal of that atom set.

-

See also +

See also infer-analyze(1).
--list-categories

-

Activates: Show the list of all +

Activates: Show the list of all categories of issue types that infer might report. (Conversely: --no-list-categories)

-

See also infer-help(1). +

See also infer-help(1).
--list-checkers

-

Activates: Show the list of all +

Activates: Show the list of all available checkers. (Conversely: --no-list-checkers)

-

See also infer-help(1). +

See also infer-help(1).
--list-issue-types

-

Activates: Show the list of all +

Activates: Show the list of all issue types that infer might report. (Conversely: --no-list-issue-types)

-

See also infer-help(1). +

See also infer-help(1).
--litho-required-props

-

Activates: +

Activates: litho-required-props checker: Checks that all non-optional ‘@Prop‘s have been specified when constructing Litho components. (Conversely: --no-litho-required-props)

-

See also +

See also infer-analyze(1).
--litho-required-props-only

-

Activates: Enable +

Activates: Enable litho-required-props and disable all other checkers (Conversely: --no-litho-required-props-only)

-

See also +

See also infer-analyze(1).
--no-liveness

-

Deactivates: liveness +

Deactivates: liveness checker: Detection of dead stores and unused variables. (Conversely: --liveness)

-

See also +

See also infer-analyze(1).
--liveness-block-list-var-regex
string

-

Specify a regular expression +

Specify a regular expression for variable names that are ignored when reporting dead stores.

-

See also +

See also infer-analyze(1).
--liveness-dangerous-classes
json

-

Specify classes where the +

Specify classes where the destructor should be ignored when computing liveness. In other words, assignement to variables of these types (or common wrappers around these types such as @@ -1773,37 +1736,37 @@

OPTIONS when the variables are not read explicitly by the program.

-

See also +

See also infer-analyze(1).
--liveness-ignored-constant
+string

-

List of integer constants to be +

List of integer constants to be ignored by liveness analysis

-

See also +

See also infer-analyze(1).
--liveness-only

-

Activates: Enable +

Activates: Enable liveness and disable all other checkers (Conversely: --no-liveness-only)

-

See also +

See also infer-analyze(1).
--load-average
,-l float

-

Do not start new parallel jobs +

Do not start new parallel jobs if the load average is greater than that specified (Buck and make only)

-

See also +

See also infer-capture(1).
--lock-model
json

-

Specify custom lock models for +

Specify custom lock models for starvation analysis.

-

Example for pthreads (already +

Example for pthreads (already included in infer):
[{"lock":["pthread_mutex_lock"],"unlock":["pthread_mutex_unlock"]}] @@ -1811,48 +1774,48 @@

OPTIONS See also infer-analyze(1).
--log-missing-deps

-

Activates: Log analysis +

Activates: Log analysis dependencies that cannot be found. (Conversely: --no-log-missing-deps)

-

See also +

See also infer-analyze(1).
--log-pulse-coverage

-

Activates: Log precisely where +

Activates: Log precisely where coverage stops, at the end of file stats/stats.txt. (Conversely: --no-log-pulse-coverage)

-

See also +

See also infer-analyze(1).
--log-pulse-disjunct-increase-after-model-call

-

Activates: Log which model did +

Activates: Log which model did increase the current number of Pulse disjuncts. (Conversely: --no-log-pulse-disjunct-increase-after-model-call)

-

See also +

See also infer-analyze(1).
--loop-hoisting

-

Activates: loop-hoisting +

Activates: loop-hoisting checker: Detect opportunities to hoist function calls that are invariant outside of loop bodies for efficiency. (Conversely: --no-loop-hoisting)

-

See also +

See also infer-analyze(1).
--loop-hoisting-only

-

Activates: Enable +

Activates: Enable loop-hoisting and disable all other checkers (Conversely: --no-loop-hoisting-only)

-

See also +

See also infer-analyze(1).
--mark-unchanged-procs

-

Activates: Check structural +

Activates: Check structural identity of newly-captured procedures with previously-captured versions, marking the new procedure as unchanged if the two are equivalent. Also prevents removing @@ -1860,237 +1823,237 @@

OPTIONS reused during future incremental analyses (Conversely: --no-mark-unchanged-procs)

-

See also +

See also infer-capture(1).
--no-mask-sawja-exceptions

-

Deactivates: Mask exceptions +

Deactivates: Mask exceptions thrown by Sawja/Javalib during Java capture (Conversely: --mask-sawja-exceptions)

-

See also +

See also infer-capture(1).
--max-jobs
int

-

Maximum number of analysis jobs +

Maximum number of analysis jobs running simultaneously. Experiments show current best value is 40 jobs.

-

See also +

See also infer-analyze(1).
--max-nesting
int

-

Level of nested procedure calls +

Level of nested procedure calls to show. Trace elements beyond the maximum nesting level are skipped. If omitted, all levels are shown.

-

See also +

See also infer-explore(1).
--memtrace-analysis-profiling

-

Activates: Generate OCaml +

Activates: Generate OCaml analysis allocation traces in ‘infer-out/memtrace‘. (Conversely: --no-memtrace-analysis-profiling)

-

See also +

See also infer-analyze(1).
--memtrace-sampling-rate
float

-

Sampling rate for Memtrace +

Sampling rate for Memtrace allocation profiling. Default is 1e-6.

-

See also +

See also infer-analyze(1).
--merge-capture
+string

-

Specifies an Infer results +

Specifies an Infer results directory. The files and procedures captured in it will be merged together into the results directory specified with -o. Relative paths are interpreted as relative to project-root/buck-out.

-

See also +

See also infer-capture(1).
--merge-report
+string

-

Specifies an Infer results +

Specifies an Infer results directory. The reports stored in JSON files in all specified results directories will be merged together and deduplicated before being stored in the main results directory.

-

See also infer-report(1). -
+

See also +infer-report(1).
--merge-summaries
+string

-

Specifies an Infer results +

Specifies an Infer results directory. The summaries in all specified results directories will be merged together and deduplicated before reporting is done.

-

See also infer-report(1). -
+

See also +infer-report(1).
--modeled-expensive
json

-

Matcher or list of matchers for +

Matcher or list of matchers for methods that should be considered expensive by the performance critical checker.

-

See also +

See also infer-analyze(1).
--never-returning-null
json

-

[Java only, all analyses] +

[Java only, all analyses] Matcher or list of matchers for functions that never return null.

-

See also +

See also infer-analyze(1), infer-capture(1), and infer-run(1).
--objc-synthesize-dealloc

-

Activates: If enabled, the +

Activates: If enabled, the capture tries to synthesize code in the dealloc methods of Objective-C classes corresponding to what the compiler does. (Conversely: --no-objc-synthesize-dealloc)

-

See also +

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

-

Deactivates: +

Deactivates: parameter-not-null-checked checker: An Objective-C-specific analysis to detect when a block parameter is used before being checked for null first. (Conversely: --parameter-not-null-checked)

-

See also +

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

-

Activates: Enable +

Activates: Enable parameter-not-null-checked and disable all other checkers (Conversely: --no-parameter-not-null-checked-only)

-

See also +

See also infer-analyze(1).
--pmd-xml

-

Activates: Output issues in +

Activates: Output issues in (PMD) XML format in infer-out/report.xml (Conversely: --no-pmd-xml)

-

See also infer-run(1). +

See also infer-run(1).
--preanalysis-html

-

Activates: Whether the HTML +

Activates: Whether the HTML node printing for preanalysis is enabled or not. Set to false by default since this helps focus on debugging just the enabled analyses. (Conversely: --no-preanalysis-html)

-

See also infer-debug(1). +

See also infer-debug(1).
--print-active-checkers

-

Activates: Print the active +

Activates: Print the active checkers before starting the analysis (Conversely: --no-print-active-checkers)

-

See also +

See also infer-analyze(1).
--print-logs

-

Activates: Also log messages to +

Activates: Also log messages to stdout and stderr (Conversely: --no-print-logs)

-

See also +

See also infer-analyze(1), infer-capture(1), infer-report(1), and
infer-run
(1).
--printf-args

-

Activates: printf-args +

Activates: printf-args checker: 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")‘

-

DEPRECATED: Unmaintained. -
+

DEPRECATED: +Unmaintained.
(Conversely: --no-printf-args)
See also infer-analyze(1).
--printf-args-only

-

Activates: Enable +

Activates: Enable printf-args and disable all other checkers (Conversely: --no-printf-args-only)

-

See also +

See also infer-analyze(1).
--procedures

-

Activates: Print functions and +

Activates: Print functions and methods discovered by infer (Conversely: --no-procedures)

-

See also infer-debug(1). +

See also infer-debug(1).
--procedures-attributes

-

Activates: Print the attributes +

Activates: Print the attributes of each procedure in the output of --procedures (Conversely: --no-procedures-attributes)

-

See also infer-debug(1). +

See also infer-debug(1).
--procedures-call-graph

-

Activates: Output a dotty file +

Activates: Output a dotty file in infer-out/captured/syntactic-call-graph.dot. The graph is the syntactic call graph reachable from either all captured procedures or those determined by the option --changed-files-index. (Conversely: --no-procedures-call-graph)

-

See also infer-debug(1). +

See also infer-debug(1).
--procedures-callees

-

Activates: Print the static +

Activates: Print the static callees of each procedure in the output of --procedures (Conversely: --no-procedures-callees)

-

See also infer-debug(1). +

See also infer-debug(1).
--procedures-cfg

-

Activates: Output a dotty file +

Activates: Output a dotty file in infer-out/captured/<file_name>/<proc_name>.dot for each procedure in the output of --procedures (Conversely: --no-procedures-cfg)

-

See also infer-debug(1). +

See also infer-debug(1).
--no-procedures-definedness

-

Deactivates: Include procedures +

Deactivates: Include procedures definedness in the output of --procedures, i.e. whether the procedure definition was found, or only the procedure declaration, or the procedure is an auto-generated Objective-C accessor (Conversely: --procedures-definedness)

-

See also infer-debug(1). +

See also infer-debug(1).
--procedures-filter
filter

-

With --procedures, only +

With --procedures, only print functions and methods (procedures) matching the specified filter. A procedure filter is of the form path_pattern:procedure_name. Patterns are interpreted @@ -2098,45 +2061,45 @@

OPTIONS methods named "foo", one can use the filter ".*:foo", or "foo" for short.

-

See also infer-debug(1). +

See also infer-debug(1).
--procedures-name

-

Activates: Include procedures +

Activates: Include procedures names in the output of --procedures (Conversely: --no-procedures-name)

-

See also infer-debug(1). +

See also infer-debug(1).
--no-procedures-source-file

-

Deactivates: Include the source +

Deactivates: Include the source file in which the procedure definition or declaration was found in the output of --procedures (Conversely: --procedures-source-file)

-

See also infer-debug(1). +

See also infer-debug(1).
--procedures-summary

-

Activates: Print the summaries +

Activates: Print the summaries of each procedure in the output of --procedures. See also --procedures-summary-skip-empty. (Conversely: --no-procedures-summary)

-

See also infer-debug(1). +

See also infer-debug(1).
--procedures-summary-json

-

Activates: Emit the summaries +

Activates: Emit the summaries of each procedure in the output of --procedures as JSON (Conversely: --no-procedures-summary-json)

-

See also infer-debug(1). +

See also infer-debug(1).
--procedures-summary-skip-empty

-

Activates: Completely skip +

Activates: Completely skip procedures that do not have summaries. Useful when analyzing a small part of a big project. (To use in conjunction with --procedures-summary or @@ -2144,63 +2107,63 @@

OPTIONS --changed-files-index.) (Conversely: --no-procedures-summary-skip-empty)

-

See also infer-debug(1). +

See also infer-debug(1).
--no-progress-bar
,-P

-

Deactivates: Show a progress +

Deactivates: Show a progress bar (Conversely: --progress-bar | -p)

-

See also infer-run(1). +

See also infer-run(1).
--progress-bar-style
{ auto | plain | multiline }

-

Style of the progress bar. +

Style of the progress bar. auto selects multiline if connected to a tty, otherwise plain.

-

See also infer-analyze(1) -and infer-capture(1).
+

See also +infer-analyze(1) and infer-capture(1).
--project-root
,-C dir

-

Specify the root directory of +

Specify the root directory of the project

-

See also +

See also infer-analyze(1), infer-capture(1), infer-report(1), and
infer-run
(1).
--no-pulse

-

Deactivates: pulse +

Deactivates: pulse checker: General-purpose memory and value analysis engine. (Conversely: --pulse)

-

See also +

See also infer-analyze(1).
--pulse-cut-to-one-path-procedures-pattern
string

-

Regex of methods for which +

Regex of methods for which pulse will only explore one path. Can be used on pathologically large procedures to prevent too-big states from being produced.

-

See also +

See also infer-analyze(1).
--pulse-inline-global-init-func-pointer

-

Activates: Inline the +

Activates: Inline the initializer of global variables that are of type function pointer in Pulse. (Conversely: --no-pulse-inline-global-init-func-pointer)

-

See also +

See also infer-analyze(1).
--pulse-log-summary-count

-

Activates: Log the number of +

Activates: Log the number of summaries (grouped by summary kind) for each analyzed procedure in Pulse. Results are put in JSON files under a 'pulse' subdirectory, one corresponding to each analysis @@ -2208,61 +2171,61 @@

OPTIONS be needed. (Conversely: --no-pulse-log-summary-count)

-

See also +

See also infer-analyze(1).
--pulse-max-cfg-size
int

-

Larger CFGs than the max size +

Larger CFGs than the max size are skipped in Pulse.

-

See also +

See also infer-analyze(1).
--pulse-max-disjuncts
int

-

Stop exploring new paths after +

Stop exploring new paths after int disjunctions in the domain

-

See also +

See also infer-analyze(1).
--pulse-max-heap
int

-

Give up analysing a procedure +

Give up analysing a procedure if the number of words in the heap exceeds this limit. Intended use: avoid OutOfMemory crashes.

-

See also +

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

-

Methods that should be modelled +

Methods that should be modelled as abort in Pulse

-

See also +

See also infer-analyze(1).
--pulse-model-alloc-pattern
string

-

Regex of methods that should be +

Regex of methods that should be modelled as allocs in Pulse

-

See also +

See also infer-analyze(1).
--pulse-model-cheap-copy-type
regex

-

Regex of methods that should be +

Regex of methods that should be cheap to copy in Pulse

-

See also +

See also infer-analyze(1).
--pulse-model-cheap-copy-type-list
+regex

-

Regex of methods that should be +

Regex of methods that should be cheap to copy in Pulse

-

See also +

See also infer-analyze(1).
--pulse-model-free-pattern
string

-

Regex of methods that should be +

Regex of methods that should be modelled as wrappers to free(3) in Pulse. The pointer to be freed should be the first argument of the function. This should only be needed if the code of the wrapper is not @@ -2270,92 +2233,92 @@

OPTIONS (e.g. the call is dispatched to global function pointers).

-

See also +

See also infer-analyze(1).
--pulse-model-malloc-pattern
string

-

Regex of methods that should be +

Regex of methods that should be modelled as wrappers to malloc(3) in Pulse. The size to allocate should be the first argument of the function. See --pulse-model-free-pattern for more information.

-

See also +

See also infer-analyze(1).
--pulse-model-realloc-pattern
string

-

Regex of methods that should be +

Regex of methods that should be modelled as wrappers to realloc(3) in Pulse. The pointer to be reallocated should be the first argument of the function and the new size the second argument. See --pulse-model-free-pattern for more information.

-

See also +

See also infer-analyze(1).
--pulse-model-release-pattern
string

-

Regex of methods that should be +

Regex of methods that should be modelled as release in Pulse

-

See also +

See also infer-analyze(1).
--pulse-model-return-first-arg
string

-

Regex of methods that should be +

Regex of methods that should be modelled as returning the first argument in Pulse in terms of the source language semantics. Languages supported: Java, C, Objective-C

-

See also +

See also infer-analyze(1).
--pulse-model-return-nonnull
string

-

Regex of methods that should be +

Regex of methods that should be modelled as returning non-null in Pulse

-

See also +

See also infer-analyze(1).
--pulse-model-return-this
string

-

Regex of methods that should be +

Regex of methods that should be modelled as returning the ‘this‘ or ‘self‘ argument of an instance method in Pulse. Languages supported: Java, Objective-C

-

See also +

See also infer-analyze(1).
--pulse-model-returns-copy-pattern
string

-

Regex of methods that should be +

Regex of methods that should be modelled as creating copies in Pulse

-

See also +

See also infer-analyze(1).
--pulse-model-skip-pattern
string

-

Regex of methods that should be +

Regex of methods that should be modelled as "skip" in Pulse

-

See also +

See also infer-analyze(1).
--pulse-model-skip-pattern-list
+string

-

Regex of methods that should be +

Regex of methods that should be modelled as "skip" in Pulse

-

See also +

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

-

Methods that should be modelled +

Methods that should be modelled as transfering memory ownership in Pulse. Accepted formats are method or namespace::method

-

See also +

See also infer-analyze(1).
--pulse-models-for-erlang
+path

-

Provide custom models for +

Provide custom models for Erlang in JSON files or SQLite3. Files must end with ‘.json‘ or ‘.db‘ respectively. If a path to a directory is given then the subdirectories will be @@ -2363,7 +2326,7 @@

OPTIONS format is preferable when providing a large number of models because they will be internally indexed by mfa.

-

The format for JSON is +

The format for JSON is [SelectorBehavior, ...] where
SelectorBehavior := {"selector": Selector, "behavior": Behavior}
@@ -2405,88 +2368,88 @@

OPTIONS See also infer-analyze(1).
--no-pulse-nullsafe-report-npe

-

Deactivates: Report null +

Deactivates: Report null dereference issues on files marked @Nullsafe. (Conversely: --pulse-nullsafe-report-npe)

-

See also +

See also infer-analyze(1).
--pulse-nullsafe-report-npe-as-separate-issue

-

Activates: Report null +

Activates: Report null dereference issues on files marked @Nullsafe as a separate NULLPTR_DEREFERENCE_IN_NULLSAFE_CLASS issue type. (Conversely: --no-pulse-nullsafe-report-npe-as-separate-issue)

-

See also +

See also infer-analyze(1).
--pulse-only

-

Activates: Enable pulse +

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

-

See also +

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

-

Maximum number of array +

Maximum number of array elements and structure fields to keep track of for a given address.

-

See also +

See also infer-analyze(1).
--pulse-report-flows-from-taint-source
procname

-

Report data flows which +

Report data flows which originate at taint source procname

-

See also infer-report(1). -
+

See also +infer-report(1).
--pulse-report-flows-to-taint-sink
procname

-

Report data flows which pass +

Report data flows which pass through taint sink procname

-

See also infer-report(1). -
+

See also +infer-report(1).
--pulse-skip-procedures
regex

-

Regex of procedures that should +

Regex of procedures that should not be analyzed by Pulse.

-

See also +

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

-

Maximum number of iterative +

Maximum number of iterative summary specialization at each call site.

-

See also +

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

-

Maximum number of summary +

Maximum number of summary specialization by procedure.

-

See also +

See also infer-analyze(1).
--no-pulse-taint-check-history

-

Deactivates: Check values +

Deactivates: Check values histories for taint events before reporting a taint issue. This is a temporary flag while the taint analysis transitions from being mainly attribute-based to being history-based. (Conversely: --pulse-taint-check-history)

-

See also +

See also infer-analyze(1).
--pulse-taint-config
+path

-

Path to a taint analysis +

Path to a taint analysis configuration file or a directory containing such files. This file can define --pulse-taint-sources, --pulse-taint-sanitizers, @@ -2494,7 +2457,7 @@

OPTIONS --pulse-taint-sinks, --pulse-taint-policies, and --pulse-taint-data-flow-kinds.

-

If a path to a directory is +

If a path to a directory is given then the configuration files
must have the ‘.json‘ extension. Any other file will be ignored.
@@ -2504,21 +2467,22 @@

OPTIONS See also infer-analyze(1).
--pulse-taint-data-flow-kinds
json

-

Specify which taint kinds +

Specify which taint kinds should be used for data flow reporting only. If a source has such a kind, only data flows to sinks which originate at the source will be reported. If a sink has such a kind, only sensitive data flows to the sink will be reported.

-

See also +

See also infer-analyze(1).
--pulse-taint-policies
json

-

A description of which taint +

A description of which taint flows should be reported, following this JSON format:

-

{ "short_description": -"<a short description of the issue>",
+

{ +"short_description": "<a short description +of the issue>",
"taint_flows": [{ "source_kinds": [<kinds>],
"sink_kinds": [<kinds>],
@@ -2545,52 +2509,52 @@

OPTIONS See also infer-analyze(1).
--pulse-taint-propagators
json

-

Quick way to specify simple +

Quick way to specify simple propagators as a JSON objects. See --pulse-taint-sources for the fields format documentation.

-

See also +

See also infer-analyze(1).
--pulse-taint-sanitizers
json

-

Quick way to specify simple +

Quick way to specify simple sanitizers as a JSON objects. See --pulse-taint-sources for the fields format documentation.

-

See also +

See also infer-analyze(1).
--pulse-taint-short-traces

-

Activates: Cut off taint traces +

Activates: Cut off taint traces as soon as a tainted value flows into a sink. This matters when the sink itself calls other sinks of the same kind and as long as the value flows from call to call, without this flag the trace would include the whole chain of calls. (Conversely: --no-pulse-taint-short-traces)

-

See also +

See also infer-analyze(1).
--pulse-taint-sinks
json

-

Quick way to specify simple +

Quick way to specify simple sinks as a JSON objects. See --pulse-taint-sources for the fields format documentation.

-

See also +

See also infer-analyze(1).
--pulse-taint-skip-sources

-

Activates: Skip the analysis of +

Activates: Skip the analysis of methods declared as sources in the taint. (Conversely: --no-pulse-taint-skip-sources)

-

See also +

See also infer-analyze(1).
--pulse-taint-sources
json

-

Together with +

Together with --pulse-taint-sanitizers, --pulse-taint-sinks, --pulse-taint-policies, and --pulse-taint-data-flow-kinds, specify taint @@ -2599,8 +2563,8 @@

OPTIONS one of the following combinations of fields to identify relevant procedures:

-

- "field_regex": match -a field name using an OCaml regex
+

- "field_regex": +match a field name using an OCaml regex
- "procedure": match a substring of the procedure name
- "procedure_regex": as above, but match using an @@ -2708,163 +2672,113 @@

OPTIONS See also infer-analyze(1).
--pulse-unsafe-malloc

-

Activates: Assume that +

Activates: Assume that malloc(3) never returns null. (Conversely: --no-pulse-unsafe-malloc)

-

See also +

See also infer-analyze(1).
--pulse-widen-threshold
int

-

Stop exploring new paths after +

Stop exploring new paths after int loop iterations

-

See also +

See also infer-analyze(1).
--purity

-

Activates: purity +

Activates: purity checker: Detects pure (side-effect-free) functions. A different implementation of "impurity". (Conversely: --no-purity)

-

See also +

See also infer-analyze(1).
--purity-only

-

Activates: Enable purity +

Activates: Enable purity and disable all other checkers (Conversely: --no-purity-only)

-

See also +

See also infer-analyze(1).
--qualified-cpp-name-block-list
+string

-

Skip analyzing the procedures +

Skip analyzing the procedures under the qualified cpp type name.

-

See also -infer-analyze(1).
---quandary

- -

Activates: quandary -checker: The Quandary taint analysis detects flows of values -between sources and sinks, except if the value went through -a "sanitizer". In addition to some defaults, users -can specify their own sources, sinks, and sanitizers -functions.

- -

DEPRECATED: Taint -analysis is now supported by the Pulse checker
-and Quandary will be removed in the next release.
-(Conversely: --no-quandary)
-See also infer-analyze(1).
---quandary-endpoints
json

- -

Specify endpoint classes for -Quandary

- -

See also -infer-analyze(1).
---quandary-only

- -

Activates: Enable -quandary and disable all other checkers (Conversely: ---no-quandary-only)

- -

See also -infer-analyze(1).
---quandary-sanitizers
json

- -

Specify custom sanitizers for -Quandary

- -

See also -infer-analyze(1).
---quandary-sinks
json

- -

Specify custom sinks for -Quandary

- -

See also -infer-analyze(1).
---quandary-sources
json

- -

Specify custom sources for -Quandary

- -

See also +

See also infer-analyze(1).
--quiet
,-q

-

Activates: Do not print +

Activates: Do not print anything on standard output. (Conversely: --no-quiet | -Q)

-

See also infer-analyze(1) -and infer-report(1).
+

See also +infer-analyze(1) and infer-report(1).
--no-racerd

-

Deactivates: racerd +

Deactivates: racerd checker: Thread safety analysis. (Conversely: --racerd)

-

See also +

See also infer-analyze(1).
--racerd-always-report-java

-

Activates: Every Java class +

Activates: Every Java class analysed is treated as if it were annotated as @ThreadSafe. (Conversely: --no-racerd-always-report-java)

-

See also +

See also infer-analyze(1).
--racerd-guardedby

-

Activates: Check @GuardedBy +

Activates: Check @GuardedBy annotations with RacerD (Conversely: --no-racerd-guardedby)

-

See also +

See also infer-analyze(1).
--racerd-ignore-classes
+string

-

Any method in a class specified +

Any method in a class specified here will be ignored by RacerD.

-

See also +

See also infer-analyze(1).
--racerd-only

-

Activates: Enable racerd +

Activates: Enable racerd and disable all other checkers (Conversely: --no-racerd-only)

-

See also +

See also infer-analyze(1).
--reactive
,-r

-

Activates: Reactive mode: the +

Activates: Reactive mode: the analysis starts from the files captured since the infer command started (Conversely: --no-reactive | -R)

-

See also +

See also infer-analyze(1).
--reactive-capture

-

Activates: Reactive capture: +

Activates: Reactive capture: capture and analysis are interleaved. Currently this flag will only make the analysis generate a list of type names that were not found in the global tenv. The feature is only available for the Hack frontend for now. (Conversely: --no-reactive-capture)

-

See also +

See also infer-analyze(1).
--replay-analysis-schedule

-

Activates: Replay the analysis +

Activates: Replay the analysis schedule stored in --replay-analysis-schedule-file, which should analyze the procedures in the same order as the previous analysis. This should drastically limit @@ -2873,11 +2787,11 @@

OPTIONS previous analysis has just run on the same code. (Conversely: --no-replay-analysis-schedule)

-

See also +

See also infer-analyze(1).
--replay-ondemand-should-error

-

Activates: [debug] Whether +

Activates: [debug] Whether triggering the analysis of a procedure via ondemand should log an error when replaying an analysis schedule with --replay-analysis-schedule. Enable when replaying the @@ -2885,47 +2799,47 @@

OPTIONS dependencies that were recorded are insufficient. (Conversely: --no-replay-ondemand-should-error)

-

See also +

See also infer-analyze(1).
--no-report

-

Deactivates: Run the reporting +

Deactivates: Run the reporting phase once the analysis has completed (Conversely: --report)

-

See also infer-analyze(1) -and infer-run(1).
+

See also +infer-analyze(1) and infer-run(1).
--report-allow-list-path-regex
+path_regex

-

Report issues only on files +

Report issues only on files whose relative path matches the specified OCaml regex (and which do not match --report-block-list-path-regex)

-

See also infer-report(1) +

See also infer-report(1) and infer-run(1).
--report-block-list-files-containing
+string

-

Do not report any issues on +

Do not report any issues on files containing the specified string

-

See also infer-report(1) +

See also infer-report(1) and infer-run(1).
--report-block-list-path-regex
+path_regex

-

Do not report any issues on +

Do not report any issues on files whose relative path matches the specified OCaml regex, even if they match the allow list specified by --report-allow-list-path-regex

-

See also infer-report(1) +

See also infer-report(1) and infer-run(1).
--report-block-list-spec
json

-

Do not report the issues in +

Do not report the issues in this list.

-

Example format:
+

Example format:
"report-block-list-spec": [
{ "bug_type": "CXX_REF_CAPTURED_IN_BLOCK",
@@ -2944,71 +2858,71 @@

OPTIONS
--report-console-limit
int

-

Maximum number of issues to +

Maximum number of issues to display on standard output. Unset with --report-console-limit-reset to show all.

-

See also infer-report(1). -
+

See also +infer-report(1).
--report-current
path

-

report of the latest +

report of the latest revision

-

See also +

See also infer-reportdiff(1).
--report-force-relative-path

-

Activates: Force converting an +

Activates: Force converting an absolute path to a relative path to the root directory (Conversely: --no-report-force-relative-path)

-

See also infer-analyze(1) -and infer-run(1).
+

See also +infer-analyze(1) and infer-run(1).
--report-formatter
{ none | phabricator }

-

Which formatter to use when +

Which formatter to use when emitting the report

-

See also infer-report(1). -
+

See also +infer-report(1).
--report-previous
path

-

Report of the base revision to +

Report of the base revision to use for comparison

-

See also +

See also infer-reportdiff(1).
--report-suppress-errors
+error_name

-

do not report a type of +

do not report a type of errors

-

See also infer-report(1) +

See also infer-report(1) and infer-run(1).
--results-dir
,-o dir

-

Write results and internal +

Write results and internal files in the specified directory

-

See also +

See also infer-analyze(1), infer-capture(1), infer-explore(1),
infer-report
(1), and infer-run(1).
--sarif

-

Activates: Output issues in +

Activates: Output issues in SARIF (Static Analysis Results Interchange Format) in infer-out/report.sarif (Conversely: --no-sarif)

-

See also infer-run(1). +

See also infer-run(1).
--scheduler
{ file | restart | callgraph }

-

Specify the scheduler used for +

Specify the scheduler used for the analysis phase:

-

- file: schedules one job per +

- file: schedules one job per file
- callgraph: schedules one job per procedure, following the
@@ -3022,7 +2936,7 @@

OPTIONS See also infer-analyze(1).
--scope-leakage

-

Activates: scope-leakage +

Activates: scope-leakage checker: The Java/Kotlin checker takes into account a set of "scope" annotations and a must-not-hold relation over the scopes. The checker raises an alarm if there exists @@ -3030,307 +2944,307 @@

OPTIONS respective scopes SA and SB, such that must-not-hold(SA, SB). (Conversely: --no-scope-leakage)

-

See also +

See also infer-analyze(1).
--scope-leakage-only

-

Activates: Enable +

Activates: Enable scope-leakage and disable all other checkers (Conversely: --no-scope-leakage-only)

-

See also +

See also infer-analyze(1).
--select
(N|all)

-

Select option number N +

Select option number N or all of them. If omitted, prompt for input.

-

See also infer-debug(1) +

See also infer-debug(1) and infer-explore(1).
--no-self-in-block

-

Deactivates: +

Deactivates: self-in-block checker: An Objective-C-specific analysis to detect when a block captures ‘self‘. (Conversely: --self-in-block)

-

See also +

See also infer-analyze(1).
--self-in-block-only

-

Activates: Enable +

Activates: Enable self-in-block and disable all other checkers (Conversely: --no-self-in-block-only)

-

See also +

See also infer-analyze(1).
--shrink-analysis-db

-

Activates: After analysis, +

Activates: After analysis, delete analysis summaries (but not report summaries) and vacuum analysis database. (Conversely: --no-shrink-analysis-db)

-

See also +

See also infer-analyze(1).
--sil-validation

-

Activates: +

Activates: sil-validation checker: This checker validates that all SIL instructions in all procedure bodies conform to a (front-end specific) subset of SIL. (Conversely: --no-sil-validation)

-

See also +

See also infer-analyze(1).
--sil-validation-only

-

Activates: Enable +

Activates: Enable sil-validation and disable all other checkers (Conversely: --no-sil-validation-only)

-

See also +

See also infer-analyze(1).
--no-siof

-

Deactivates: siof +

Deactivates: siof checker: Catches Static Initialization Order Fiascos in C++, that can lead to subtle, compiler-version-dependent errors. (Conversely: --siof)

-

See also +

See also infer-analyze(1).
--siof-check-iostreams

-

Activates: Do not assume that +

Activates: Do not assume that iostreams (cout, cerr, ...) are always initialized. The default is to assume they are always initialized to avoid false positives. However, if your program compiles against a recent libstdc++ then it is safe to turn this option on. (Conversely: --no-siof-check-iostreams)

-

See also +

See also infer-analyze(1).
--siof-only

-

Activates: Enable siof +

Activates: Enable siof and disable all other checkers (Conversely: --no-siof-only)

-

See also +

See also infer-analyze(1).
--siof-safe-methods
+string

-

Methods that are SIOF-safe; +

Methods that are SIOF-safe; "foo::bar" will match "foo::bar()", "foo<int>::bar()", etc. (can be specified multiple times)

-

See also +

See also infer-analyze(1).
--skip-analysis-in-path
+regex

-

Ignore files whose path matches +

Ignore files whose path matches a given regex (can be specified multiple times, but you must make sure each regex is properly bracketed)

-

See also infer-capture(1) -and infer-run(1).
+

See also +infer-capture(1) and infer-run(1).
--skip-analysis-in-path-skips-compilation

-

Activates: Whether paths in +

Activates: Whether paths in --skip-analysis-in-path should be compiled or not (Conversely: --no-skip-analysis-in-path-skips-compilation)

-

See also infer-report(1). -
+

See also +infer-report(1).
--no-skip-duplicated-types

-

Deactivates: Skip +

Deactivates: Skip fixed-then-introduced duplicated types while computing differential reports (Conversely: --skip-duplicated-types)

-

See also +

See also infer-reportdiff(1).
--skip-non-capture-clang-commands

-

Activates: Skip clang commands +

Activates: Skip clang commands that Infer doesn't use to capture data (Conversely: --no-skip-non-capture-clang-commands)

-

See also +

See also infer-capture(1).
--skip-translation-headers
+path_regex

-

Ignore declarations in headers +

Ignore declarations in headers whose path matches the given OCaml regex from the start of the string during capture.

-

See also +

See also infer-capture(1).
--source-files

-

Activates: Print source files +

Activates: Print source files discovered by infer (Conversely: --no-source-files)

-

See also infer-debug(1). +

See also infer-debug(1).
--source-files-call-graph

-

Activates: Output a dotty file +

Activates: Output a dotty file in infer-out/captured/file-call-graph.dot. The graph is the file-based syntactic call graph of all captured procedures (with known translation units). (Conversely: --no-source-files-call-graph)

-

See also infer-debug(1). +

See also infer-debug(1).
--source-files-call-graph-partition
int

-

The number of partitions to +

The number of partitions to divide the set of captured source files, using static call graph information. The generated file lists are found under infer-out/captured/workerXX.idx. Not setting this option skips partitioning. This is used for distributed analysis.

-

See also infer-debug(1). +

See also infer-debug(1).
--source-files-cfg

-

Activates: Output a dotty file +

Activates: Output a dotty file in infer-out/captured for each source file in the output of --source-files (Conversely: --no-source-files-cfg)

-

See also infer-debug(1). +

See also infer-debug(1).
--source-files-filter
filter

-

With --source-files, +

With --source-files, only print source files matching the specified filter. The filter is a pattern that should match the file path. Patterns are interpreted as OCaml Str regular expressions.

-

See also infer-debug(1). +

See also infer-debug(1).
--source-files-freshly-captured

-

Activates: Print whether the +

Activates: Print whether the source file has been captured in the most recent capture phase in the output of --source-files. (Conversely: --no-source-files-freshly-captured)

-

See also infer-debug(1). +

See also infer-debug(1).
--source-files-procedure-names

-

Activates: Print the names of +

Activates: Print the names of procedure of each source file in the output of --source-files (Conversely: --no-source-files-procedure-names)

-

See also infer-debug(1). +

See also infer-debug(1).
--source-files-type-environment

-

Activates: Print the type +

Activates: Print the type environment of each source file in the output of --source-files (Conversely: --no-source-files-type-environment)

-

See also infer-debug(1). +

See also infer-debug(1).
--no-source-preview

-

Deactivates: print code +

Deactivates: print code excerpts around trace elements (Conversely: --source-preview)

-

See also +

See also infer-explore(1).
--sqlite-cache-size
int

-

SQLite cache size in pages (if +

SQLite cache size in pages (if positive) or kB (if negative), follows formal of corresponding SQLite PRAGMA.

-

See also +

See also infer-analyze(1), infer-capture(1), and infer-run(1).
--sqlite-lock-timeout
int

-

Timeout for SQLite results +

Timeout for SQLite results database operations, in milliseconds.

-

See also +

See also infer-analyze(1), infer-capture(1), and infer-run(1).
--sqlite-max-blob-size
int

-

Maximum blob/string size for +

Maximum blob/string size for data written in SQLite.

-

See also +

See also infer-analyze(1), infer-capture(1), and infer-run(1).
--sqlite-mmap-size
int

-

Size of memory map for mmaped +

Size of memory map for mmaped SQLite databases, zero value disables memory mapping.

-

See also +

See also infer-analyze(1), infer-capture(1), and infer-run(1).
--sqlite-page-size
int

-

SQLite page size in bytes, must +

SQLite page size in bytes, must be a power of two between 512 and 65536.

-

See also +

See also infer-analyze(1), infer-capture(1), and infer-run(1).
--no-starvation

-

Deactivates: starvation +

Deactivates: starvation checker: Detect various kinds of situations when no progress is being made because of concurrency errors. (Conversely: --starvation)

-

See also +

See also infer-analyze(1).
--starvation-only

-

Activates: Enable +

Activates: Enable starvation and disable all other checkers (Conversely: --no-starvation-only)

-

See also +

See also infer-analyze(1).
--stats-dir-current
path

-

The infer-out/stats from the +

The infer-out/stats from the current run. Together with --stats-dir-previous, make infer reportdiff compute the difference between two stats directories and output the results in infer-out/differential/stats_*.json files.

-

See also +

See also infer-reportdiff(1).
--stats-dir-previous
path

-

The infer-out/stats from a +

The infer-out/stats from a previous run. See --stats-dir-current.

-

See also +

See also infer-reportdiff(1).
--store-analysis-schedule

-

Activates: Store the analysis +

Activates: Store the analysis schedule for later replay, honoring --replay-analysis-schedule-file if present. This can be useful to store a schedule done with one version of infer @@ -3341,98 +3255,98 @@

OPTIONS successfully as fewer datatypes are involved. (Conversely: --no-store-analysis-schedule)

-

See also +

See also infer-analyze(1).
--struct-as-cpp-class

-

Activates: Translate C structs +

Activates: Translate C structs as C++ classes. This can be useful when analyzing C/C++ code to make sure struct global variables shared between C and C++ source files are treated as same variables

-

(Conversely: +

(Conversely: --no-struct-as-cpp-class)
See also infer-capture(1).
--tenv-json
file

-

Path to TEnv json file

+

Path to TEnv json file

-

See also +

See also infer-capture(1).
--threadsafe-aliases
json

-

Specify custom annotations that +

Specify custom annotations that should be considered aliases of @ThreadSafe

-

See also +

See also infer-analyze(1).
--timeout
float

-

Time after which any checker +

Time after which any checker (except biabduction) should give up analysing the current function or method, in seconds

-

See also infer-analyze(1) -and infer-run(1).
+

See also +infer-analyze(1) and infer-run(1).
--top-longest-proc-duration-size
int

-

Number of procedures for which +

Number of procedures for which we track longest analysis duration info.

-

See also +

See also infer-analyze(1).
--topl

-

Activates: topl checker: +

Activates: topl checker: Detect errors based on user-provided state machines describing temporal properties over multiple objects.

-

ACTIVATES: pulse +

ACTIVATES: pulse (Conversely: --no-topl)
See also infer-analyze(1).
--topl-only

-

Activates: Enable topl +

Activates: Enable topl and disable all other checkers (Conversely: --no-topl-only)

-

See also +

See also infer-analyze(1).
--version

-

Print version information and +

Print version information and exit

-

See also infer-run(1). +

See also infer-run(1).
--version-json

-

Print version information in +

Print version information in json format and exit

-

See also infer-run(1). +

See also infer-run(1).
--workspace
path

-

Specifies the root of the +

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 +

See also infer-capture(1).
--write-html

-

Activates: Produce html debug +

Activates: Produce html debug output for the analyses in infer-out/captured. This shows the abstract state of all analyses at each program point in the source code. Each captured source file has its own html page. This HTML file contains the source file, and at each line of

-

the file there are links to the +

the file there are links to the nodes of the control flow graph
of Infer's translation of that line of code into its intermediate
@@ -3444,120 +3358,120 @@

OPTIONS See also infer-analyze(1).
--write-website
path_to_website_dir

-

Use to write website files +

Use to write website files documenting issue types and checkers under path_to_website_dir/. Meant to be used within the Infer directory to generate its website at fbinfer.com at website/.

-

See also infer-help(1). +

See also infer-help(1).
--Xbuck
+string

-

Pass values as command-line +

Pass values as command-line arguments to invocations of ‘buck build‘. Only valid for --buck-clang.

-

See also +

See also infer-capture(1).
--Xbuck-no-inline
+string

-

Pass values as command-line +

Pass values as command-line arguments to invocations of ‘buck build‘, don't inline any args starting with '@'. Only valid for --buck-clang.

-

See also +

See also infer-capture(1).
--Xbuck2
+string

-

Pass values as command-line +

Pass values as command-line arguments to invocations of ‘buck2 build‘. Only valid for --buck-clang.

-

See also +

See also infer-capture(1).
--Xbuck2-no-inline
+string

-

Pass values as command-line +

Pass values as command-line arguments to invocations of ‘buck2 build‘, don't inline any args starting with '@'. Only valid for --buck-clang.

-

See also +

See also infer-capture(1).
--Xclang
+string

-

Pass values as command-line +

Pass values as command-line arguments to invocations of clang

-

See also +

See also infer-capture(1).
--xcode-developer-dir
XCODE_DEVELOPER_DIR

-

Specify the path to Xcode +

Specify the path to Xcode developer directory, to use for Buck clang targets

-

See also +

See also infer-capture(1).
--xcode-isysroot-suffix
string

-

Specify the suffix of Xcode +

Specify the suffix of Xcode isysroot directory, to avoid absolute paths in tests

-

See also +

See also infer-analyze(1).
--xcpretty

-

Activates: Infer will use +

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: --no-xcpretty)

-

See also +

See also infer-capture(1).

- + - - +

--

+

Stop argument processing, use remaining arguments as a build command

-

See also infer-capture(1) -and infer-run(1).

+

See also +infer-capture(1) and infer-run(1).

ENVIRONMENT

-

Extra arguments +

Extra arguments 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 +contain a string of ^-separated options. For instance, +calling ‘INFER_ARGS=--debug^--print-logs infer‘ +is equivalent to calling ‘infer --debug --print-logs‘.

-

INFERCONFIG: +

INFERCONFIG: Tells infer where to find the .inferconfig file. (See the FILES section)

-

If +

If INFER_STRICT_MODE is set to "1", then infer commands will exit with an error code in some cases when otherwise a simple warning would be emitted on stderr, for @@ -3569,7 +3483,7 @@

FILES -

.inferconfig +

.inferconfig can be used to store infer options. Its format is that of a JSON record, where fields are infer long-form options, without their leading "--", and values depend on @@ -3587,7 +3501,7 @@

FILES - cumulative options are JSON arrays of the appropriate type

-

If an +

If an .inferconfig file is specified on the command line with --inferconfig-path then Infer will use that. Otherwise, Infer will look for an .inferconfig file @@ -3596,9 +3510,9 @@

FILES current directory, then its parent, etc., stopping at the first .inferconfig file found.

-

Example:

+

Example:

-

{
+

{
"cxx": false,
"infer-block-list-files-containing": ["@gen","/* no infer */"]
@@ -3610,7 +3524,7 @@

SEE ALSO -

infer-analyze(1), +

infer-analyze(1), infer-capture(1), infer-compile(1), infer-debug(1), infer-explore(1), infer-help(1), infer-report(1), diff --git a/website/static/odoc/next/infer/Absint/AccessPath/Abs/index.html b/website/static/odoc/next/infer/Absint/AccessPath/Abs/index.html index 7b7f4576225..1dfd27e9e0c 100644 --- a/website/static/odoc/next/infer/Absint/AccessPath/Abs/index.html +++ b/website/static/odoc/next/infer/Absint/AccessPath/Abs/index.html @@ -1,2 +1,2 @@ -Abs (infer.Absint.AccessPath.Abs)

Module AccessPath.Abs

type raw = t
type t =
  1. | Abstracted of raw
    (*

    abstraction of heap reachable from an access path, e.g. x.f*

    *)
  2. | Exact of raw
    (*

    precise representation of an access path, e.g. x.f.g

    *)
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
val equal : t -> t -> bool
val to_footprint : int -> t -> t

replace the base var with a footprint variable rooted at formal index formal_index

val get_footprint_index_base : base -> int option

return the formal index associated with the base of this access path if there is one, or None otherwise

val with_base : base -> t -> t

swap base of existing access path for base_var (e.g., `with_base_bvar x y.f.g` produces `x.f.g`

val extract : t -> raw

extract a raw access path from its wrapper

val is_exact : t -> bool

return true if t is an exact representation of an access path, false if it's an abstraction

val pp : Stdlib.Format.formatter -> t -> unit
+Abs (infer.Absint.AccessPath.Abs)

Module AccessPath.Abs

type raw = t
type t =
  1. | Abstracted of raw
    (*

    abstraction of heap reachable from an access path, e.g. x.f*

    *)
  2. | Exact of raw
    (*

    precise representation of an access path, e.g. x.f.g

    *)
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
val equal : t -> t -> bool
val get_footprint_index_base : base -> int option

return the formal index associated with the base of this access path if there is one, or None otherwise

val extract : t -> raw

extract a raw access path from its wrapper

val is_exact : t -> bool

return true if t is an exact representation of an access path, false if it's an abstraction

val pp : Stdlib.Format.formatter -> t -> unit
diff --git a/website/static/odoc/next/infer/Absint/AccessPath/index.html b/website/static/odoc/next/infer/Absint/AccessPath/index.html index 53389c59a2d..ebf15917a2e 100644 --- a/website/static/odoc/next/infer/Absint/AccessPath/index.html +++ b/website/static/odoc/next/infer/Absint/AccessPath/index.html @@ -1,2 +1,2 @@ -AccessPath (infer.Absint.AccessPath)

Module Absint.AccessPath

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

type base = IR.Var.t * IR.Typ.t
val compare_base : base -> base -> int
type access =
  1. | ArrayAccess of IR.Typ.t * t list
    (*

    array element type with list of access paths in index

    *)
  2. | FieldAccess of IR.Fieldname.t
    (*

    field name

    *)
and t = base * access list

root var, and a list of accesses. closest to the root var is first that is, x.f.g is represented as (x, f; g)

val compare_access : access -> access -> int
val compare : t -> t -> int
val equal_access : access -> access -> bool
val equal : t -> t -> bool
val get_typ : t -> IR.Tenv.t -> IR.Typ.t option

get the typ of the last access in the list of accesses if the list is non-empty, or the base if the list is empty. that is, for x.f.g, return typ(g), and for x, return typ(x)

val base_of_pvar : IR.Pvar.t -> IR.Typ.t -> base

create a base from a pvar

val of_pvar : IR.Pvar.t -> IR.Typ.t -> t

create an access path from a pvar

val of_id : IR.Ident.t -> IR.Typ.t -> t

create an access path from an ident

val of_var : IR.Var.t -> IR.Typ.t -> t

create an access path from a var

val append : t -> access list -> t

append new accesses to an existing access path; e.g., `append_access x.f g, h` produces `x.f.g.h`

val replace_prefix : prefix:t -> replace_with:t -> t -> t option
val equal_base : base -> base -> bool
val pp : Stdlib.Format.formatter -> t -> unit
val pp_base : Stdlib.Format.formatter -> base -> unit
val pp_access : Stdlib.Format.formatter -> access -> unit
val pp_access_list : Stdlib.Format.formatter -> access list -> unit
module Abs : sig ... end
+AccessPath (infer.Absint.AccessPath)

Module Absint.AccessPath

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

type base = IR.Var.t * IR.Typ.t
val compare_base : base -> base -> int
type access =
  1. | ArrayAccess of IR.Typ.t * t list
    (*

    array element type with list of access paths in index

    *)
  2. | FieldAccess of IR.Fieldname.t
    (*

    field name

    *)
and t = base * access list

root var, and a list of accesses. closest to the root var is first that is, x.f.g is represented as (x, f; g)

val compare_access : access -> access -> int
val compare : t -> t -> int
val equal_access : access -> access -> bool
val equal : t -> t -> bool
val base_of_pvar : IR.Pvar.t -> IR.Typ.t -> base

create a base from a pvar

val of_pvar : IR.Pvar.t -> IR.Typ.t -> t

create an access path from a pvar

val of_id : IR.Ident.t -> IR.Typ.t -> t

create an access path from an ident

val of_var : IR.Var.t -> IR.Typ.t -> t

create an access path from a var

val append : t -> access list -> t

append new accesses to an existing access path; e.g., `append_access x.f g, h` produces `x.f.g.h`

val replace_prefix : prefix:t -> replace_with:t -> t -> t option
val equal_base : base -> base -> bool
val pp : Stdlib.Format.formatter -> t -> unit
val pp_base : Stdlib.Format.formatter -> base -> unit
val pp_access : Stdlib.Format.formatter -> access -> unit
val pp_access_list : Stdlib.Format.formatter -> access list -> unit
module Abs : sig ... end
diff --git a/website/static/odoc/next/infer/Absint/AndroidFramework/index.html b/website/static/odoc/next/infer/Absint/AndroidFramework/index.html index 3e644d37a7e..01f4d654ced 100644 --- a/website/static/odoc/next/infer/Absint/AndroidFramework/index.html +++ b/website/static/odoc/next/infer/Absint/AndroidFramework/index.html @@ -1,2 +1,2 @@ -AndroidFramework (infer.Absint.AndroidFramework)

Module Absint.AndroidFramework

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

val drawable_prefix : string

prefix for Drawable fields in generated resources

val is_autocloseable : IR.Tenv.t -> IR.Typ.Name.t -> bool
val is_view : IR.Tenv.t -> IR.Typ.Name.t -> bool

return true if typename <: android.view.View

val is_fragment : IR.Tenv.t -> IR.Typ.Name.t -> bool
+AndroidFramework (infer.Absint.AndroidFramework)

Module Absint.AndroidFramework

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

prefix for Drawable fields in generated resources

val is_autocloseable : IR.Tenv.t -> IR.Typ.Name.t -> bool
val is_view : IR.Tenv.t -> IR.Typ.Name.t -> bool

return true if typename <: android.view.View

val is_fragment : IR.Tenv.t -> IR.Typ.Name.t -> bool
diff --git a/website/static/odoc/next/infer/Absint/Annotations/index.html b/website/static/odoc/next/infer/Absint/Annotations/index.html index 2c01d8d442f..f1d5c5315a6 100644 --- a/website/static/odoc/next/infer/Absint/Annotations/index.html +++ b/website/static/odoc/next/infer/Absint/Annotations/index.html @@ -1,5 +1,5 @@ -Annotations (infer.Absint.Annotations)

Module Absint.Annotations

Annotations.

val auto_cleanup : string
val expensive : string
val inject_prop : string
val immutable : string
val lockless : string
val no_allocation : string
val nullable : string
val nonnull : string
val performance_critical : string
val prop : string
val for_non_ui_thread : string
val for_ui_thread : string
val guarded_by : string
val suppress_lint : string
val thread_safe : string
val visibleForTesting : string
val annot_ends_with : IR.Annot.t -> string -> bool

annot_ends_with annot ann_name returns true if the class name of annot, without the package, is equal to ann_name

val ia_ends_with : IR.Annot.Item.t -> string -> bool

Check if there is an annotation in ia which ends with the given name

val ia_has_annotation_with : IR.Annot.Item.t -> (IR.Annot.t -> bool) -> bool
val ia_is_initializer : IR.Annot.Item.t -> bool
val ia_is_nonnull : IR.Annot.Item.t -> bool
val ia_is_jetbrains_notnull : IR.Annot.Item.t -> bool
val ia_is_nullable : IR.Annot.Item.t -> bool
val ia_is_nullsafe_strict : IR.Annot.Item.t -> bool
val ia_find_nullsafe : IR.Annot.Item.t -> IR.Annot.t option
val ia_is_expensive : IR.Annot.Item.t -> bool
val ia_is_functional : IR.Annot.Item.t -> bool
val ia_is_ignore_allocations : IR.Annot.Item.t -> bool
val ia_is_inject : IR.Annot.Item.t -> bool
val ia_is_suppress_lint : IR.Annot.Item.t -> bool
val ia_is_not_thread_safe : IR.Annot.Item.t -> bool
val ia_is_nonblocking : IR.Annot.Item.t -> bool
val ia_is_returns_ownership : IR.Annot.Item.t -> bool
val ia_is_synchronized_collection : IR.Annot.Item.t -> bool
val ia_is_thread_safe : IR.Annot.Item.t -> bool
val ia_is_thread_confined : IR.Annot.Item.t -> bool
val ia_is_thrift_service : IR.Annot.Item.t -> bool
val ia_is_volatile : IR.Annot.Item.t -> bool
val ia_is_worker_thread : IR.Annot.Item.t -> bool
val ia_is_uithread_equivalent : IR.Annot.Item.t -> bool
val pdesc_has_return_annot : IR.Procdesc.t -> (IR.Annot.Item.t -> bool) -> bool

return true if the given predicate evaluates to true on the annotation of pdesc's return value

val pname_has_return_annot : IR.Procname.t -> (IR.Annot.Item.t -> bool) -> bool

return true if the given predicate evaluates to true on the annotation of pname's return value

val attrs_return_annot_ends_with : IR.ProcAttributes.t -> string -> bool

return true if return value in attrs is annotated with a value ending with the given string

val method_has_annotation_with : +Annotations (infer.Absint.Annotations)

Module Absint.Annotations

Annotations.

val auto_cleanup : string
val expensive : string
val inject_prop : string
val immutable : string
val lockless : string
val no_allocation : string
val nullable : string
val nonnull : string
val performance_critical : string
val prop : string
val for_non_ui_thread : string
val for_ui_thread : string
val guarded_by : string
val suppress_lint : string
val thread_safe : string
val visibleForTesting : string
val annot_ends_with : IR.Annot.t -> string -> bool

annot_ends_with annot ann_name returns true if the class name of annot, without the package, is equal to ann_name

val ia_ends_with : IR.Annot.Item.t -> string -> bool

Check if there is an annotation in ia which ends with the given name

val ia_has_annotation_with : IR.Annot.Item.t -> (IR.Annot.t -> bool) -> bool
val ia_is_initializer : IR.Annot.Item.t -> bool
val ia_is_nonnull : IR.Annot.Item.t -> bool
val ia_is_jetbrains_notnull : IR.Annot.Item.t -> bool
val ia_is_nullable : IR.Annot.Item.t -> bool
val ia_is_nullsafe_strict : IR.Annot.Item.t -> bool
val ia_find_nullsafe : IR.Annot.Item.t -> IR.Annot.t option
val ia_is_expensive : IR.Annot.Item.t -> bool
val ia_is_functional : IR.Annot.Item.t -> bool
val ia_is_ignore_allocations : IR.Annot.Item.t -> bool
val ia_is_inject : IR.Annot.Item.t -> bool
val ia_is_suppress_lint : IR.Annot.Item.t -> bool
val ia_is_not_thread_safe : IR.Annot.Item.t -> bool
val ia_is_nonblocking : IR.Annot.Item.t -> bool
val ia_is_returns_ownership : IR.Annot.Item.t -> bool
val ia_is_synchronized_collection : IR.Annot.Item.t -> bool
val ia_is_thread_safe : IR.Annot.Item.t -> bool
val ia_is_thread_confined : IR.Annot.Item.t -> bool
val ia_is_volatile : IR.Annot.Item.t -> bool
val ia_is_worker_thread : IR.Annot.Item.t -> bool
val ia_is_uithread_equivalent : IR.Annot.Item.t -> bool
val pdesc_has_return_annot : IR.Procdesc.t -> (IR.Annot.Item.t -> bool) -> bool

return true if the given predicate evaluates to true on the annotation of pdesc's return value

val pname_has_return_annot : IR.Procname.t -> (IR.Annot.Item.t -> bool) -> bool

return true if the given predicate evaluates to true on the annotation of pname's return value

val attrs_return_annot_ends_with : IR.ProcAttributes.t -> string -> bool

return true if return value in attrs is annotated with a value ending with the given string

val method_has_annotation_with : IR.Annot.Item.t -> IR.Annot.Item.t list -> (IR.Annot.t -> bool) -> diff --git a/website/static/odoc/next/infer/Absint/FormalMap/index.html b/website/static/odoc/next/infer/Absint/FormalMap/index.html index d081a57ccd2..707c7cbe04c 100644 --- a/website/static/odoc/next/infer/Absint/FormalMap/index.html +++ b/website/static/odoc/next/infer/Absint/FormalMap/index.html @@ -1,2 +1,2 @@ -FormalMap (infer.Absint.FormalMap)

Module Absint.FormalMap

module F = Stdlib.Format
type t

a map from a formal to its positional index

val make : IR.ProcAttributes.t -> t

create a formal map for the given procdesc

val empty : t

the empty formal map

val is_formal : AccessPath.base -> t -> bool

return true if the given base var is a formal according to the given formal map

val get_formal_index : AccessPath.base -> t -> int option

return the index for the given base var if it is a formal, or None if it is not

val get_formal_base : int -> t -> AccessPath.base option

return the base var for the given index if it exists, or None if it does not. Note: this is linear in the size of the formal map

val pp : F.formatter -> t -> unit
val cardinal : t -> int
val iter : (AccessPath.base -> int -> unit) -> t -> unit
+FormalMap (infer.Absint.FormalMap)

Module Absint.FormalMap

module F = Stdlib.Format
type t

a map from a formal to its positional index

val make : IR.ProcAttributes.t -> t

create a formal map for the given procdesc

val is_formal : AccessPath.base -> t -> bool

return true if the given base var is a formal according to the given formal map

val get_formal_index : AccessPath.base -> t -> int option

return the index for the given base var if it is a formal, or None if it is not

val get_formal_base : int -> t -> AccessPath.base option

return the base var for the given index if it exists, or None if it does not. Note: this is linear in the size of the formal map

val pp : F.formatter -> t -> unit
val cardinal : t -> int
val iter : (AccessPath.base -> int -> unit) -> t -> unit
diff --git a/website/static/odoc/next/infer/Absint/HilExp/index.html b/website/static/odoc/next/infer/Absint/HilExp/index.html index 2437aeb7dc7..4e3be5bc609 100644 --- a/website/static/odoc/next/infer/Absint/HilExp/index.html +++ b/website/static/odoc/next/infer/Absint/HilExp/index.html @@ -1,11 +1,11 @@ -HilExp (infer.Absint.HilExp)

Module Absint.HilExp

module F = Stdlib.Format
type t =
  1. | AccessExpression of access_expression
    (*

    access path (e.g., x.f.g or xi)

    *)
  2. | UnaryOperator of IR.Unop.t * t * IR.Typ.t option
    (*

    Unary operator with type of the result if known

    *)
  3. | BinaryOperator of IR.Binop.t * t * t
    (*

    Binary operator

    *)
  4. | Exception of t
    (*

    Exception

    *)
  5. | Closure of IR.Procname.t * (AccessPath.base * t) list
    (*

    Name of function + environment

    *)
  6. | Constant of IR.Const.t
    (*

    Constants

    *)
  7. | Cast of IR.Typ.t * t
    (*

    Type cast

    *)
  8. | Sizeof of IR.Typ.t * t option
    (*

    C-style sizeof(), and also used to treate a type as an expression. Refer to Exp module for canonical documentation

    *)
and access_expression = private
  1. | Base of AccessPath.base
  2. | FieldOffset of access_expression * IR.Fieldname.t
    (*

    field access

    *)
  3. | ArrayOffset of access_expression * IR.Typ.t * t option
    (*

    array access

    *)
  4. | AddressOf of access_expression
    (*

    "address of" operator &

    *)
  5. | Dereference of access_expression
    (*

    "dereference" operator *

    *)
val compare : t -> t -> int
val compare_access_expression : access_expression -> access_expression -> int
val equal : t -> t -> bool
val equal_access_expression : access_expression -> access_expression -> bool
module AccessExpression : sig ... end
val pp : F.formatter -> t -> unit
val get_typ : IR.Tenv.t -> t -> IR.Typ.t option

Get the type of the expression. Warning: not fully implemented

val of_sil : +HilExp (infer.Absint.HilExp)

Module Absint.HilExp

module F = Stdlib.Format
type t =
  1. | AccessExpression of access_expression
    (*

    access path (e.g., x.f.g or xi)

    *)
  2. | UnaryOperator of IR.Unop.t * t * IR.Typ.t option
    (*

    Unary operator with type of the result if known

    *)
  3. | BinaryOperator of IR.Binop.t * t * t
    (*

    Binary operator

    *)
  4. | Exception of t
    (*

    Exception

    *)
  5. | Closure of IR.Procname.t * (AccessPath.base * t) list
    (*

    Name of function + environment

    *)
  6. | Constant of IR.Const.t
    (*

    Constants

    *)
  7. | Cast of IR.Typ.t * t
    (*

    Type cast

    *)
  8. | Sizeof of IR.Typ.t * t option
    (*

    C-style sizeof(), and also used to treate a type as an expression. Refer to Exp module for canonical documentation

    *)
and access_expression = private
  1. | Base of AccessPath.base
  2. | FieldOffset of access_expression * IR.Fieldname.t
    (*

    field access

    *)
  3. | ArrayOffset of access_expression * IR.Typ.t * t option
    (*

    array access

    *)
  4. | AddressOf of access_expression
    (*

    "address of" operator &

    *)
  5. | Dereference of access_expression
    (*

    "dereference" operator *

    *)
val compare : t -> t -> int
val compare_access_expression : access_expression -> access_expression -> int
val equal : t -> t -> bool
val equal_access_expression : access_expression -> access_expression -> bool
module AccessExpression : sig ... end
val pp : F.formatter -> t -> unit
val of_sil : include_array_indexes:bool -> f_resolve_id:(IR.Var.t -> AccessExpression.t option) -> add_deref:bool -> IR.Exp.t -> IR.Typ.t -> - t

Convert SIL expression to HIL expression

val get_access_exprs : t -> AccessExpression.t list

Get all the access paths used in the given HIL expression, including duplicates if a path is used more than once.

val is_null_literal : t -> bool
val is_int_zero : t -> bool
val eval : t -> IR.Const.t option
val eval_boolean_exp : AccessExpression.t -> t -> bool option

eval_boolean_exp var exp returns Some bool_value if the given boolean expression exp evaluates to bool_value when var is set to true. Return None if it has free variables that stop us from evaluating it, or is not a boolean expression.

val ignore_cast : t -> t
val access_expr_of_exp : + t

Convert SIL expression to HIL expression

val get_access_exprs : t -> AccessExpression.t list

Get all the access paths used in the given HIL expression, including duplicates if a path is used more than once.

val is_null_literal : t -> bool
val is_int_zero : t -> bool
val eval_boolean_exp : AccessExpression.t -> t -> bool option

eval_boolean_exp var exp returns Some bool_value if the given boolean expression exp evaluates to bool_value when var is set to true. Return None if it has free variables that stop us from evaluating it, or is not a boolean expression.

val access_expr_of_exp : include_array_indexes:bool -> f_resolve_id:(IR.Var.t -> AccessExpression.t option) -> IR.Exp.t -> diff --git a/website/static/odoc/next/infer/Absint/Passthrough/index.html b/website/static/odoc/next/infer/Absint/Passthrough/index.html index 992430691a5..e0be018df65 100644 --- a/website/static/odoc/next/infer/Absint/Passthrough/index.html +++ b/website/static/odoc/next/infer/Absint/Passthrough/index.html @@ -1,2 +1,2 @@ -Passthrough (infer.Absint.Passthrough)

Module Absint.Passthrough

type t
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
val make : CallSite.t -> t
val site : t -> CallSite.t
module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
+Passthrough (infer.Absint.Passthrough)

Module Absint.Passthrough

type t
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
val site : t -> CallSite.t
module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
diff --git a/website/static/odoc/next/infer/Absint/Sink/Make/Set/index.html b/website/static/odoc/next/infer/Absint/Sink/Make/Set/index.html deleted file mode 100644 index 2f76da81d46..00000000000 --- a/website/static/odoc/next/infer/Absint/Sink/Make/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.Absint.Sink.Make.Set)

Module Make.Set

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

Parameter Make.Kind

include TaintTraceElem.Kind
type t
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
include Ppx_compare_lib.Equal.S with type t := t
val equal : t Base__Ppx_compare_lib.equal
val matches : caller:t -> callee:t -> bool

Return true if the caller element kind matches the callee element kind. Used during trace expansion; we will only consider expanding the trace from caller into callee if this evaluates to true. This can normally just be equal, but something fuzzier may be required if t is a type that contains identifiers from the caller/callee

val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
val get : - IR.Procname.t -> - HilExp.t list -> - IR.CallFlags.t -> - IR.Tenv.t -> - (t * IStdlib.IntSet.t) list

return Some kind if the given procname/actuals are a sink, None otherwise

diff --git a/website/static/odoc/next/infer/Absint/Sink/Make/index.html b/website/static/odoc/next/infer/Absint/Sink/Make/index.html deleted file mode 100644 index d533cb9e8c6..00000000000 --- a/website/static/odoc/next/infer/Absint/Sink/Make/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Make (infer.Absint.Sink.Make)

Module Sink.Make

Parameters

module Kind : Kind

Signature

include TaintTraceElem.S with module Kind = Kind
type t
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
include Ppx_compare_lib.Equal.S with type t := t
val equal : t Base__Ppx_compare_lib.equal
module Kind = Kind
val call_site : t -> CallSite.t
val kind : t -> Kind.t
val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> CallSite.t -> t
val with_callsite : t -> CallSite.t -> t
val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
val get : CallSite.t -> HilExp.t list -> IR.CallFlags.t -> IR.Tenv.t -> t list

return Some sink if the given call site/actuals are a sink, None otherwise

val indexes : t -> IStdlib.IntSet.t

return the indexes where taint can flow into the sink

val with_indexes : t -> IStdlib.IntSet.t -> t
diff --git a/website/static/odoc/next/infer/Absint/Sink/index.html b/website/static/odoc/next/infer/Absint/Sink/index.html index 9915f8fedfd..bd1fb5edf6a 100644 --- a/website/static/odoc/next/infer/Absint/Sink/index.html +++ b/website/static/odoc/next/infer/Absint/Sink/index.html @@ -1,2 +1,2 @@ -Sink (infer.Absint.Sink)

Module Absint.Sink

module type Kind = sig ... end
module type S = sig ... end
module Make (Kind : Kind) : S with module Kind = Kind
+Sink (infer.Absint.Sink)

Module Absint.Sink

module type Kind = sig ... end
module type S = sig ... end
diff --git a/website/static/odoc/next/infer/Absint/Source/Make/Set/index.html b/website/static/odoc/next/infer/Absint/Source/Make/Set/index.html deleted file mode 100644 index 803d7c1eb78..00000000000 --- a/website/static/odoc/next/infer/Absint/Source/Make/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.Absint.Source.Make.Set)

Module Make.Set

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

Parameter Make.Kind

include TaintTraceElem.Kind
type t
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
include Ppx_compare_lib.Equal.S with type t := t
val equal : t Base__Ppx_compare_lib.equal
val matches : caller:t -> callee:t -> bool

Return true if the caller element kind matches the callee element kind. Used during trace expansion; we will only consider expanding the trace from caller into callee if this evaluates to true. This can normally just be equal, but something fuzzier may be required if t is a type that contains identifiers from the caller/callee

val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
val get : - caller_pname:IR.Procname.t -> - IR.Procname.t -> - HilExp.t list -> - IR.Tenv.t -> - (t * int option) list

return Some (kind) if the procedure with the given actuals is a taint source, None otherwise

val get_tainted_formals : - IR.Procdesc.t -> - IR.Tenv.t -> - (IR.Mangled.t * IR.Typ.t * t option) list

return each formal of the function paired with either Some(kind) if the formal is a taint source, or None if the formal is not a taint source

diff --git a/website/static/odoc/next/infer/Absint/Source/Make/index.html b/website/static/odoc/next/infer/Absint/Source/Make/index.html deleted file mode 100644 index 49f2fe36540..00000000000 --- a/website/static/odoc/next/infer/Absint/Source/Make/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Make (infer.Absint.Source.Make)

Module Source.Make

Parameters

module Kind : Kind

Signature

include TaintTraceElem.S with module Kind = Kind
type t
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
include Ppx_compare_lib.Equal.S with type t := t
val equal : t Base__Ppx_compare_lib.equal
module Kind = Kind
val call_site : t -> CallSite.t
val kind : t -> Kind.t
val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> CallSite.t -> t
val with_callsite : t -> CallSite.t -> t
val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
type spec = {
  1. source : t;
    (*

    type of the returned source

    *)
  2. index : int option;
    (*

    index of the returned source if Some; return value if None

    *)
}
val get : - caller_pname:IR.Procname.t -> - CallSite.t -> - HilExp.t list -> - IR.Tenv.t -> - spec list

return Some (taint spec) if the call site with the given actuals is a taint source, None otherwise

val get_tainted_formals : - IR.Procdesc.t -> - IR.Tenv.t -> - (IR.Mangled.t * IR.Typ.t * t option) list

return each formal of the function paired with either Some(source) if the formal is a taint source, or None if the formal is not a taint source

diff --git a/website/static/odoc/next/infer/Absint/Source/index.html b/website/static/odoc/next/infer/Absint/Source/index.html index 65de04544af..994ca7f5f40 100644 --- a/website/static/odoc/next/infer/Absint/Source/index.html +++ b/website/static/odoc/next/infer/Absint/Source/index.html @@ -1,4 +1,2 @@ -Source (infer.Absint.Source)

Module Absint.Source

val all_formals_untainted : - IR.Procdesc.t -> - (IR.Mangled.t * IR.Typ.t * 'a option) list

specify that all the formals of the procdesc are not tainted

module type Kind = sig ... end
module type S = sig ... end
module Make (Kind : Kind) : S with module Kind = Kind
module Dummy : S with type t = unit
+Source (infer.Absint.Source)

Module Absint.Source

module type Kind = sig ... end
module type S = sig ... end
module Dummy : S with type t = unit
diff --git a/website/static/odoc/next/infer/BO/index.html b/website/static/odoc/next/infer/BO/index.html index 96deb2f3564..ad8bff315b2 100644 --- a/website/static/odoc/next/infer/BO/index.html +++ b/website/static/odoc/next/infer/BO/index.html @@ -1,2 +1,2 @@ -BO (infer.BO)

Module BO

module AbsLoc : sig ... end
module ArrayBlk : sig ... end
module Boolean : sig ... end
module Bounds : sig ... end
module BufferOverrunAnalysis : sig ... end
module BufferOverrunAnalysisSummary : sig ... end
module BufferOverrunChecker : sig ... end
module BufferOverrunCheckerSummary : sig ... end
module BufferOverrunDomain : sig ... end
module BufferOverrunField : sig ... end
module BufferOverrunModels : sig ... end
module BufferOverrunOndemandEnv : sig ... end
module BufferOverrunProofObligations : sig ... end
module BufferOverrunSemantics : sig ... end
module BufferOverrunTrace : sig ... end
module BufferOverrunTypModels : sig ... end
module BufferOverrunUtils : sig ... end
module FuncPtr : sig ... end
module Ints : sig ... end
module Itv : sig ... end
module Polynomials : sig ... end
module Symb : sig ... end
+BO (infer.BO)

Module BO

module AbsLoc : sig ... end
module ArrayBlk : sig ... end
module BiabductionProp : sig ... end
module Boolean : sig ... end
module Bounds : sig ... end
module BufferOverrunAnalysis : sig ... end
module BufferOverrunAnalysisSummary : sig ... end
module BufferOverrunChecker : sig ... end
module BufferOverrunCheckerSummary : sig ... end
module BufferOverrunDomain : sig ... end
module BufferOverrunField : sig ... end
module BufferOverrunModels : sig ... end
module BufferOverrunOndemandEnv : sig ... end
module BufferOverrunProofObligations : sig ... end
module BufferOverrunSemantics : sig ... end
module BufferOverrunTrace : sig ... end
module BufferOverrunTypModels : sig ... end
module BufferOverrunUtils : sig ... end
module FuncPtr : sig ... end
module Ints : sig ... end
module Itv : sig ... end
module Polynomials : sig ... end
module Symb : sig ... end
diff --git a/website/static/odoc/next/infer/Backend/CallbackOfChecker/index.html b/website/static/odoc/next/infer/Backend/CallbackOfChecker/index.html index 9d5dd2361f1..4989b8d66bb 100644 --- a/website/static/odoc/next/infer/Backend/CallbackOfChecker/index.html +++ b/website/static/odoc/next/infer/Backend/CallbackOfChecker/index.html @@ -1,10 +1,5 @@ -CallbackOfChecker (infer.Backend.CallbackOfChecker)

Module Backend.CallbackOfChecker

Conversions from checkers taking "functional" Absint.InterproceduralAnalysis.t et al. payloads to Callbacks.proc_callback_t and friends.

val mk_interprocedural_field_t : - (Payloads.t, 'payload IStdlib.IStd.Lazy.t option) IStdlib.IStd.Field.t -> - Callbacks.proc_callback_args -> - ?tenv:IR.Tenv.t -> - unit -> - 'payload Absint.InterproceduralAnalysis.t * Summary.Stats.t IStdlib.IStd.ref
val interprocedural : +CallbackOfChecker (infer.Backend.CallbackOfChecker)

Module Backend.CallbackOfChecker

Conversions from checkers taking "functional" Absint.InterproceduralAnalysis.t et al. payloads to Callbacks.proc_callback_t and friends.

val interprocedural : IBase.AnalysisRequest.t -> f_analyze_dep:('payloads_orig -> 'payloads option) -> get_payload:(Payloads.t -> 'payloads_orig) -> diff --git a/website/static/odoc/next/infer/Backend/LineageTaint/TaintConfig/index.html b/website/static/odoc/next/infer/Backend/LineageTaint/TaintConfig/index.html index 4d9668c5b54..f5b4f119c48 100644 --- a/website/static/odoc/next/infer/Backend/LineageTaint/TaintConfig/index.html +++ b/website/static/odoc/next/infer/Backend/LineageTaint/TaintConfig/index.html @@ -1,7 +1,7 @@ TaintConfig (infer.Backend.LineageTaint.TaintConfig)

Module LineageTaint.TaintConfig

type t
val parse : - lineage_source:string option -> - lineage_sink:string option -> + lineage_source:string list -> + lineage_sink:string list -> lineage_sanitizers:string list -> lineage_limit:int option -> t option
diff --git a/website/static/odoc/next/infer/Backend/Payloads/Fields/Direct/index.html b/website/static/odoc/next/infer/Backend/Payloads/Fields/Direct/index.html index a68c55608a5..004daa50204 100644 --- a/website/static/odoc/next/infer/Backend/Payloads/Fields/Direct/index.html +++ b/website/static/odoc/next/infer/Backend/Payloads/Fields/Direct/index.html @@ -66,12 +66,6 @@ t -> Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option -> unit)
-> - quandary: - ((t, Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) - Fieldslib.Field.t -> - t -> - Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option -> - unit) -> racerd: ((t, Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> @@ -187,56 +181,49 @@ t -> Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option -> 'acc__11) -> - quandary: - ('acc__11 -> - (t, Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) - Fieldslib.Field.t -> - t -> - Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option -> - 'acc__12) -> racerd: - ('acc__12 -> + ('acc__11 -> (t, Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> t -> Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option -> - 'acc__13) -> + 'acc__12) -> scope_leakage: - ('acc__13 -> + ('acc__12 -> (t, Checkers.ScopeLeakage.Summary.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> t -> Checkers.ScopeLeakage.Summary.t IStdlib.IStd.Lazy.t option -> - 'acc__14) -> + 'acc__13) -> siof: - ('acc__14 -> + ('acc__13 -> (t, Checkers.SiofDomain.Summary.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> t -> Checkers.SiofDomain.Summary.t IStdlib.IStd.Lazy.t option -> - 'acc__15) -> + 'acc__14) -> lineage: - ('acc__15 -> + ('acc__14 -> (t, Checkers.Lineage.Summary.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> t -> Checkers.Lineage.Summary.t IStdlib.IStd.Lazy.t option -> - 'acc__16) -> + 'acc__15) -> lineage_shape: - ('acc__16 -> + ('acc__15 -> (t, Checkers.LineageShape.Summary.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> t -> Checkers.LineageShape.Summary.t IStdlib.IStd.Lazy.t option -> - 'acc__17) -> + 'acc__16) -> starvation: - ('acc__17 -> + ('acc__16 -> (t, Concurrency.StarvationDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> t -> Concurrency.StarvationDomain.summary IStdlib.IStd.Lazy.t option -> - 'acc__18) -> - 'acc__18
val for_all : + 'acc__17) -> + 'acc__17
val for_all : t -> annot_map: ((t, Checkers.AnnotationReachabilityDomain.t IStdlib.IStd.Lazy.t option) @@ -303,12 +290,6 @@ t -> Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option -> bool) -> - quandary: - ((t, Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) - Fieldslib.Field.t -> - t -> - Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option -> - bool) -> racerd: ((t, Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> @@ -412,12 +393,6 @@ t -> Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option -> bool) -> - quandary: - ((t, Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) - Fieldslib.Field.t -> - t -> - Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option -> - bool) -> racerd: ((t, Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> @@ -521,12 +496,6 @@ t -> Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option -> 'elem__) -> - quandary: - ((t, Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) - Fieldslib.Field.t -> - t -> - Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option -> - 'elem__) -> racerd: ((t, Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> @@ -630,12 +599,6 @@ t -> Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option -> Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option) -> - quandary: - ((t, Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) - Fieldslib.Field.t -> - t -> - Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option -> - Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) -> racerd: ((t, Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> diff --git a/website/static/odoc/next/infer/Backend/Payloads/Fields/index.html b/website/static/odoc/next/infer/Backend/Payloads/Fields/index.html index ee742026144..8e85707768e 100644 --- a/website/static/odoc/next/infer/Backend/Payloads/Fields/index.html +++ b/website/static/odoc/next/infer/Backend/Payloads/Fields/index.html @@ -10,8 +10,7 @@ (t, Checkers.ScopeLeakage.Summary.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t
val racerd : (t, Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option) - Fieldslib.Field.t
val quandary : - (t, Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t
val purity : + Fieldslib.Field.t
val purity : (t, Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t
val pulse : (t, Pulselib.PulseSummary.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t
val litho_required_props : @@ -87,42 +86,37 @@ (t, Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> 'acc__11) -> - quandary: - ('acc__11 -> - (t, Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) - Fieldslib.Field.t -> - 'acc__12) -> racerd: - ('acc__12 -> + ('acc__11 -> (t, Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> - 'acc__13) -> + 'acc__12) -> scope_leakage: - ('acc__13 -> + ('acc__12 -> (t, Checkers.ScopeLeakage.Summary.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> - 'acc__14) -> + 'acc__13) -> siof: - ('acc__14 -> + ('acc__13 -> (t, Checkers.SiofDomain.Summary.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> - 'acc__15) -> + 'acc__14) -> lineage: - ('acc__15 -> + ('acc__14 -> (t, Checkers.Lineage.Summary.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> - 'acc__16) -> + 'acc__15) -> lineage_shape: - ('acc__16 -> + ('acc__15 -> (t, Checkers.LineageShape.Summary.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> - 'acc__17) -> + 'acc__16) -> starvation: - ('acc__17 -> + ('acc__16 -> (t, Concurrency.StarvationDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> - 'acc__18) -> - 'acc__18
val make_creator : + 'acc__17) -> + 'acc__17
val make_creator : annot_map: ((t, Checkers.AnnotationReachabilityDomain.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> @@ -199,57 +193,50 @@ ('input__ -> Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option) * 'acc__11) -> - quandary: - ((t, Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) - Fieldslib.Field.t -> - 'acc__11 -> - ('input__ -> - Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) - * 'acc__12) -> racerd: ((t, Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> - 'acc__12 -> + 'acc__11 -> ('input__ -> Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option) - * 'acc__13) -> + * 'acc__12) -> scope_leakage: ((t, Checkers.ScopeLeakage.Summary.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> - 'acc__13 -> + 'acc__12 -> ('input__ -> Checkers.ScopeLeakage.Summary.t IStdlib.IStd.Lazy.t option) - * 'acc__14) -> + * 'acc__13) -> siof: ((t, Checkers.SiofDomain.Summary.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> - 'acc__14 -> + 'acc__13 -> ('input__ -> Checkers.SiofDomain.Summary.t IStdlib.IStd.Lazy.t option) - * 'acc__15) -> + * 'acc__14) -> lineage: ((t, Checkers.Lineage.Summary.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> - 'acc__15 -> + 'acc__14 -> ('input__ -> Checkers.Lineage.Summary.t IStdlib.IStd.Lazy.t option) - * 'acc__16) -> + * 'acc__15) -> lineage_shape: ((t, Checkers.LineageShape.Summary.t IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> - 'acc__16 -> + 'acc__15 -> ('input__ -> Checkers.LineageShape.Summary.t IStdlib.IStd.Lazy.t option) - * 'acc__17) -> + * 'acc__16) -> starvation: ((t, Concurrency.StarvationDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> - 'acc__17 -> + 'acc__16 -> ('input__ -> Concurrency.StarvationDomain.summary IStdlib.IStd.Lazy.t option) - * 'acc__18) -> + * 'acc__17) -> 'acc__0 -> - ('input__ -> t) * 'acc__18
val create : + ('input__ -> t) * 'acc__17
val create : annot_map:Checkers.AnnotationReachabilityDomain.t IStdlib.IStd.Lazy.t option -> biabduction:Biabduction.BiabductionSummary.t IStdlib.IStd.Lazy.t option -> buffer_overrun_analysis: @@ -264,7 +251,6 @@ litho_required_props:Checkers.LithoDomain.summary IStdlib.IStd.Lazy.t option -> pulse:Pulselib.PulseSummary.t IStdlib.IStd.Lazy.t option -> purity:Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option -> - quandary:Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option -> racerd:Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option -> scope_leakage:Checkers.ScopeLeakage.Summary.t IStdlib.IStd.Lazy.t option -> siof:Checkers.SiofDomain.Summary.t IStdlib.IStd.Lazy.t option -> @@ -315,10 +301,6 @@ ((t, Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option) -> - quandary: - ((t, Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) - Fieldslib.Field.t -> - Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) -> racerd: ((t, Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> @@ -387,10 +369,6 @@ ((t, Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> unit) -> - quandary: - ((t, Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) - Fieldslib.Field.t -> - unit) -> racerd: ((t, Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> @@ -459,10 +437,6 @@ ((t, Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> bool) -> - quandary: - ((t, Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) - Fieldslib.Field.t -> - bool) -> racerd: ((t, Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> @@ -531,10 +505,6 @@ ((t, Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> bool) -> - quandary: - ((t, Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) - Fieldslib.Field.t -> - bool) -> racerd: ((t, Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> @@ -603,10 +573,6 @@ ((t, Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> 'elem__) -> - quandary: - ((t, Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option) - Fieldslib.Field.t -> - 'elem__) -> racerd: ((t, Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option) Fieldslib.Field.t -> diff --git a/website/static/odoc/next/infer/Backend/Payloads/index.html b/website/static/odoc/next/infer/Backend/Payloads/index.html index 2addcafd03c..5227dd767b8 100644 --- a/website/static/odoc/next/infer/Backend/Payloads/index.html +++ b/website/static/odoc/next/infer/Backend/Payloads/index.html @@ -3,13 +3,13 @@ option;
  • buffer_overrun_checker : BO.BufferOverrunCheckerSummary.t IStdlib.IStd.Lazy.t option;
  • config_impact_analysis : Costlib.ConfigImpactAnalysis.Summary.t IStdlib.IStd.Lazy.t - option;
  • cost : Costlib.CostDomain.summary IStdlib.IStd.Lazy.t option;
  • disjunctive_demo : Checkers.DisjunctiveDemo.domain IStdlib.IStd.Lazy.t option;
  • lab_resource_leaks : Labs.ResourceLeakDomain.summary IStdlib.IStd.Lazy.t option;
  • litho_required_props : Checkers.LithoDomain.summary IStdlib.IStd.Lazy.t option;
  • pulse : Pulselib.PulseSummary.t IStdlib.IStd.Lazy.t option;
  • purity : Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option;
  • quandary : Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option;
  • racerd : Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option;
  • scope_leakage : Checkers.ScopeLeakage.Summary.t IStdlib.IStd.Lazy.t option;
  • siof : Checkers.SiofDomain.Summary.t IStdlib.IStd.Lazy.t option;
  • lineage : Checkers.Lineage.Summary.t IStdlib.IStd.Lazy.t option;
  • lineage_shape : Checkers.LineageShape.Summary.t IStdlib.IStd.Lazy.t option;
  • starvation : Concurrency.StarvationDomain.summary IStdlib.IStd.Lazy.t option;
  • }

    Analysis summaries for inter-procedural analyses.

    When retrieving already-computed summaries, each entry is lazily loaded from the analysis database to avoid loading and deserializing payloads unnecessarily, which can be overly expensive and memory-hungry.

    This type has to be in sync with PayloadId.t

    val starvation : + option;
  • cost : Costlib.CostDomain.summary IStdlib.IStd.Lazy.t option;
  • disjunctive_demo : Checkers.DisjunctiveDemo.domain IStdlib.IStd.Lazy.t option;
  • lab_resource_leaks : Labs.ResourceLeakDomain.summary IStdlib.IStd.Lazy.t option;
  • litho_required_props : Checkers.LithoDomain.summary IStdlib.IStd.Lazy.t option;
  • pulse : Pulselib.PulseSummary.t IStdlib.IStd.Lazy.t option;
  • purity : Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option;
  • racerd : Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option;
  • scope_leakage : Checkers.ScopeLeakage.Summary.t IStdlib.IStd.Lazy.t option;
  • siof : Checkers.SiofDomain.Summary.t IStdlib.IStd.Lazy.t option;
  • lineage : Checkers.Lineage.Summary.t IStdlib.IStd.Lazy.t option;
  • lineage_shape : Checkers.LineageShape.Summary.t IStdlib.IStd.Lazy.t option;
  • starvation : Concurrency.StarvationDomain.summary IStdlib.IStd.Lazy.t option;
  • }

    Analysis summaries for inter-procedural analyses.

    When retrieving already-computed summaries, each entry is lazily loaded from the analysis database to avoid loading and deserializing payloads unnecessarily, which can be overly expensive and memory-hungry.

    This type has to be in sync with PayloadId.t

    val starvation : t -> Concurrency.StarvationDomain.summary IStdlib.IStd.Lazy.t option
    val lineage_shape : t -> Checkers.LineageShape.Summary.t IStdlib.IStd.Lazy.t option
    val lineage : t -> Checkers.Lineage.Summary.t IStdlib.IStd.Lazy.t option
    val siof : t -> Checkers.SiofDomain.Summary.t IStdlib.IStd.Lazy.t option
    val scope_leakage : t -> - Checkers.ScopeLeakage.Summary.t IStdlib.IStd.Lazy.t option
    val racerd : t -> Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option
    val quandary : t -> Quandary.QuandarySummary.t IStdlib.IStd.Lazy.t option
    val purity : t -> Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option
    val pulse : t -> Pulselib.PulseSummary.t IStdlib.IStd.Lazy.t option
    val litho_required_props : + Checkers.ScopeLeakage.Summary.t IStdlib.IStd.Lazy.t option
    val racerd : t -> Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option
    val purity : t -> Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option
    val pulse : t -> Pulselib.PulseSummary.t IStdlib.IStd.Lazy.t option
    val litho_required_props : t -> Checkers.LithoDomain.summary IStdlib.IStd.Lazy.t option
    val lab_resource_leaks : t -> diff --git a/website/static/odoc/next/infer/Biabduction/BuiltinDefn/index.html b/website/static/odoc/next/infer/Biabduction/BuiltinDefn/index.html index ca1ef31db92..b814dfb574a 100644 --- a/website/static/odoc/next/infer/Biabduction/BuiltinDefn/index.html +++ b/website/static/odoc/next/infer/Biabduction/BuiltinDefn/index.html @@ -1,2 +1,2 @@ -BuiltinDefn (infer.Biabduction.BuiltinDefn)

    Module Biabduction.BuiltinDefn

    Models for the builtin functions supported

    include IR.BUILTINS.S with type t = Builtin.registered
    val __array_access : t
    val __assert_fail : t
    val __builtin_add_overflow : t
    val __builtin_mul_overflow : t
    val __builtin_sub_overflow : t
    val __builtin_va_arg : t
    val __builtin_va_copy : t
    val __builtin_va_end : t
    val __builtin_va_start : t
    val __builtin_offsetof : t
    val __cast : t

    __cast(val,typ) implements java's typ(val)

    val __cxx_typeid : t
    val __delete : t
    val __delete_array : t
    val __delete_locked_attribute : t
    val __exit : t
    val __objc_bridge_transfer : t
    val __get_array_length : t
    val __get_type_of : t
    val __global_access : t
    val __infer_assume : t
    val __infer_fail : t
    val __infer_skip : t

    used to represent behavior that is not modeled in infer

    val __instanceof : t

    __instanceof(val,typ) implements java's val instanceof typ

    val __java_throw : t

    __java_throw implements java's throw instruction (without arg yet, but this is covered by the usage of the return variable during frontend translation

    val __hack_throw : t
    val __method_set_ignore_attribute : t
    val __new : t
    val __new_array : t
    val __objc_alloc_no_fail : t
    val __objc_dictionary_literal : t
    val __objc_get_ref_count : t
    val __objc_set_ref_count : t
    val __placement_delete : t
    val __placement_new : t
    val __print_value : t
    val __require_allocated_array : t
    val __set_array_length : t
    val __set_file_attribute : t
    val __set_locked_attribute : t
    val __set_mem_attribute : t
    val __set_observer_attribute : t
    val __set_unsubscribed_observer_attribute : t
    val __set_wont_leak_attribute : t
    val __split_get_nth : t
    val __throw : t
    val __unwrap_exception : t
    val abort : t
    val exit : t
    val free : t
    val fscanf : t
    val fwscanf : t
    val malloc : t
    val malloc_no_fail : t
    val nsArray_arrayWithObjects : t
    val nsArray_arrayWithObjectsCount : t
    val objc_insert_key : t
    val objc_insert_value : t
    val objc_autorelease_pool_pop : t
    val objc_autorelease_pool_push : t
    val objc_cpp_throw : t
    val pthread_create : t
    val scanf : t
    val sscanf : t
    val swscanf : t
    val vfscanf : t
    val vfwscanf : t
    val vscanf : t
    val vsscanf : t
    val vswscanf : t
    val vwscanf : t
    val wscanf : t
    val zero_initialization : t
    val init : unit -> unit

    Clients of Builtin module should call this before Builtin module is used. WARNING: builtins are not guaranteed to be registered with the Builtin module until after init has been called.

    +BuiltinDefn (infer.Biabduction.BuiltinDefn)

    Module Biabduction.BuiltinDefn

    Models for the builtin functions supported

    include IR.BUILTINS.S with type t = Builtin.registered
    val __assert_fail : t
    val __builtin_add_overflow : t
    val __builtin_mul_overflow : t
    val __builtin_sub_overflow : t
    val __builtin_va_arg : t
    val __builtin_va_copy : t
    val __builtin_va_end : t
    val __builtin_va_start : t
    val __builtin_offsetof : t
    val __cast : t

    __cast(val,typ) implements java's typ(val)

    val __cxx_typeid : t
    val __delete : t
    val __delete_array : t
    val __delete_locked_attribute : t
    val __exit : t
    val __objc_bridge_transfer : t
    val __get_array_length : t
    val __get_type_of : t
    val __infer_assume : t
    val __infer_fail : t
    val __infer_skip : t

    used to represent behavior that is not modeled in infer

    val __instanceof : t

    __instanceof(val,typ) implements java's val instanceof typ

    val __java_throw : t

    __java_throw implements java's throw instruction (without arg yet, but this is covered by the usage of the return variable during frontend translation

    val __hack_throw : t
    val __method_set_ignore_attribute : t
    val __new : t
    val __new_array : t
    val __objc_alloc_no_fail : t
    val __objc_dictionary_literal : t
    val __objc_get_ref_count : t
    val __objc_set_ref_count : t
    val __placement_delete : t
    val __placement_new : t
    val __print_value : t
    val __require_allocated_array : t
    val __set_array_length : t
    val __set_file_attribute : t
    val __set_locked_attribute : t
    val __set_mem_attribute : t
    val __set_observer_attribute : t
    val __set_unsubscribed_observer_attribute : t
    val __set_wont_leak_attribute : t
    val __split_get_nth : t
    val __throw : t
    val __unwrap_exception : t
    val abort : t
    val exit : t
    val free : t
    val fscanf : t
    val fwscanf : t
    val malloc : t
    val malloc_no_fail : t
    val nsArray_arrayWithObjects : t
    val nsArray_arrayWithObjectsCount : t
    val objc_insert_key : t
    val objc_insert_value : t
    val objc_autorelease_pool_pop : t
    val objc_autorelease_pool_push : t
    val objc_cpp_throw : t
    val pthread_create : t
    val scanf : t
    val sscanf : t
    val swscanf : t
    val vfscanf : t
    val vfwscanf : t
    val vscanf : t
    val vsscanf : t
    val vswscanf : t
    val vwscanf : t
    val wscanf : t
    val zero_initialization : t
    val init : unit -> unit

    Clients of Builtin module should call this before Builtin module is used. WARNING: builtins are not guaranteed to be registered with the Builtin module until after init has been called.

    diff --git a/website/static/odoc/next/infer/Biabduction/Errdesc/index.html b/website/static/odoc/next/infer/Biabduction/Errdesc/index.html index 3c42a249ba0..3872c7f50d5 100644 --- a/website/static/odoc/next/infer/Biabduction/Errdesc/index.html +++ b/website/static/odoc/next/infer/Biabduction/Errdesc/index.html @@ -46,13 +46,7 @@ IR.Exp.t -> IR.Procdesc.Node.t -> IBase.Location.t -> - Absint.Localise.error_desc

    explain a division by zero

    val explain_condition_always_true_false : - IR.Tenv.t -> - IR.IntLit.t -> - IR.Exp.t -> - IR.Procdesc.Node.t -> - IBase.Location.t -> - Absint.Localise.error_desc

    explain a condition which is always true or false

    val explain_leak : + Absint.Localise.error_desc

    explain a division by zero

    val explain_leak : IR.Tenv.t -> Predicates.hpred -> 'a Prop.t -> diff --git a/website/static/odoc/next/infer/Checkers/Lineage/Out/index.html b/website/static/odoc/next/infer/Checkers/Lineage/Out/index.html index 819b8eff0f7..ee32543a750 100644 --- a/website/static/odoc/next/infer/Checkers/Lineage/Out/index.html +++ b/website/static/odoc/next/infer/Checkers/Lineage/Out/index.html @@ -1,2 +1,2 @@ -Out (infer.Checkers.Lineage.Out)

    Module Lineage.Out

    val report_graph : IStdlib.IStd.Out_channel.t -> IR.Procdesc.t -> G.t -> unit
    val report_summary : IR.Procdesc.t -> Summary.t -> unit
    +Out (infer.Checkers.Lineage.Out)

    Module Lineage.Out

    val report_summary : IR.Procdesc.t -> Summary.t -> unit
    diff --git a/website/static/odoc/next/infer/Checkers/Lineage/index.html b/website/static/odoc/next/infer/Checkers/Lineage/index.html index a37fd415c8b..a9e871c0771 100644 --- a/website/static/odoc/next/infer/Checkers/Lineage/index.html +++ b/website/static/odoc/next/infer/Checkers/Lineage/index.html @@ -1,5 +1,5 @@ -Lineage (infer.Checkers.Lineage)

    Module Checkers.Lineage

    module PPNode : sig ... end
    module Local : sig ... end
    module Vertex : sig ... end
    module Edge : sig ... end
    module G : sig ... end
    module Summary : sig ... end
    module Out : sig ... end
    val checker : +Lineage (infer.Checkers.Lineage)

    Module Checkers.Lineage

    module PPNode : sig ... end
    module Local : sig ... end
    module Vertex : sig ... end
    module Edge : sig ... end
    module G : sig ... end
    module Unified : sig ... end
    module Summary : sig ... end
    module Out : sig ... end
    val checker : (Summary.t option * LineageShape.Summary.t option) Absint.InterproceduralAnalysis.t -> LineageShape.Summary.t option -> diff --git a/website/static/odoc/next/infer/Checkers/LineageShape/Summary/index.html b/website/static/odoc/next/infer/Checkers/LineageShape/Summary/index.html index 3b5dc1d2104..9533dcb5c24 100644 --- a/website/static/odoc/next/infer/Checkers/LineageShape/Summary/index.html +++ b/website/static/odoc/next/infer/Checkers/LineageShape/Summary/index.html @@ -26,13 +26,7 @@ int -> FieldPath.t -> f:(FieldPath.t -> 'a) -> - 'a list
    val map_return : t option -> FieldPath.t -> f:(FieldPath.t -> 'a) -> 'a list
    val map_argument_of : - t option -> - IR.Procname.t -> - int -> - FieldPath.t -> - f:(FieldPath.t -> 'a) -> - 'a list
    val map_return_of : + 'a list
    val map_return : t option -> FieldPath.t -> f:(FieldPath.t -> 'a) -> 'a list
    val map_return_of : t option -> IR.Procname.t -> FieldPath.t -> diff --git a/website/static/odoc/next/infer/Datalog/DatalogAnalysis/index.html b/website/static/odoc/next/infer/Datalog/DatalogAnalysis/index.html deleted file mode 100644 index 4db21c7a66a..00000000000 --- a/website/static/odoc/next/infer/Datalog/DatalogAnalysis/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -DatalogAnalysis (infer.Datalog.DatalogAnalysis)

    Module Datalog.DatalogAnalysis

    val checker : Absint.IntraproceduralAnalysis.t -> unit
    diff --git a/website/static/odoc/next/infer/Datalog/Fact/index.html b/website/static/odoc/next/infer/Datalog/Fact/index.html deleted file mode 100644 index 844dba3980d..00000000000 --- a/website/static/odoc/next/infer/Datalog/Fact/index.html +++ /dev/null @@ -1,29 +0,0 @@ - -Fact (infer.Datalog.Fact)

    Module Datalog.Fact

    type t
    val to_string : t -> string
    val iter_fact_types : (string -> unit) -> unit
    val is_generated_per_class : t -> IR.Typ.Name.t option

    If the fact is generated once for each class, return the corresponding class.

    val entrypoint : IR.Procname.t -> t
    val extends : IR.Typ.Name.t -> IR.Typ.Name.t -> t
    val virtual_call : - IR.Procname.t -> - IBase.Location.t -> - IR.Ident.t -> - IR.Procname.t -> - IR.Ident.t -> - t
    val static_call : - IR.Procname.t -> - IBase.Location.t -> - IR.Ident.t -> - IR.Procname.t -> - t
    val actual_arg : - IR.Procname.t -> - IBase.Location.t -> - IR.Ident.t -> - int -> - IR.Ident.t -> - t
    val formal_arg : IR.Procname.t -> int -> IR.Pvar.t -> t
    val actual_return : IR.Procname.t -> IBase.Location.t -> IR.Ident.t -> t
    val formal_return : IR.Procname.t -> IR.Ident.t -> t
    val implem : IR.Typ.Name.t -> IR.Procname.t -> t
    val load_field : - IR.Procname.t -> - IR.Ident.t -> - IR.Ident.t -> - IR.Fieldname.t -> - t
    val store_field : - IR.Procname.t -> - IR.Ident.t -> - IR.Fieldname.t -> - IR.Ident.t -> - t
    val move_load : IR.Procname.t -> IR.Ident.t -> IR.Pvar.t -> t
    val move_store : IR.Procname.t -> IR.Pvar.t -> IR.Ident.t -> t
    diff --git a/website/static/odoc/next/infer/Datalog/Factgen/index.html b/website/static/odoc/next/infer/Datalog/Factgen/index.html deleted file mode 100644 index 29aa5a6bf39..00000000000 --- a/website/static/odoc/next/infer/Datalog/Factgen/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Factgen (infer.Datalog.Factgen)

    Module Datalog.Factgen

    val emit_facts : Absint.IntraproceduralAnalysis.t -> unit

    Generates datalog facts for a given procedure description.

    diff --git a/website/static/odoc/next/infer/Datalog/Reflect/index.html b/website/static/odoc/next/infer/Datalog/Reflect/index.html deleted file mode 100644 index e2404caaa41..00000000000 --- a/website/static/odoc/next/infer/Datalog/Reflect/index.html +++ /dev/null @@ -1,4 +0,0 @@ - -Reflect (infer.Datalog.Reflect)

    Module Datalog.Reflect

    type refl_call = {
    1. refl_ms : string;
    2. caller_cl : string;
    3. caller_ms : string;
    }
    val get_method_refl_calls : - Javalib_pack.JCode.jcode Javalib_pack.Javalib.concrete_method -> - refl_call list

    Returns the list of reflexive calls inside a concrete method. A call is represented by (reflective_method_signature, caller_class, caller_method_signature)

    diff --git a/website/static/odoc/next/infer/Datalog/index.html b/website/static/odoc/next/infer/Datalog/index.html deleted file mode 100644 index b5de8231e86..00000000000 --- a/website/static/odoc/next/infer/Datalog/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Datalog (infer.Datalog)

    Module Datalog

    module DatalogAnalysis : sig ... end
    module Fact : sig ... end
    module Factgen : sig ... end
    module Reflect : sig ... end
    diff --git a/website/static/odoc/next/infer/IBase/Checker/index.html b/website/static/odoc/next/infer/IBase/Checker/index.html index 22b428be467..33e2e548a45 100644 --- a/website/static/odoc/next/infer/IBase/Checker/index.html +++ b/website/static/odoc/next/infer/IBase/Checker/index.html @@ -1,2 +1,2 @@ -Checker (infer.IBase.Checker)

    Module IBase.Checker

    module F = Stdlib.Format
    type t =
    1. | AnnotationReachability
    2. | Biabduction
    3. | BufferOverrunAnalysis
    4. | BufferOverrunChecker
    5. | ConfigImpactAnalysis
    6. | Cost
    7. | Datalog
    8. | DisjunctiveDemo
    9. | FragmentRetainsView
    10. | Impurity
    11. | InefficientKeysetIterator
    12. | Lineage
    13. | LineageShape
    14. | LithoRequiredProps
    15. | Liveness
    16. | LoopHoisting
    17. | ParameterNotNullChecked
    18. | PrintfArgs
    19. | Pulse
    20. | PurityAnalysis
    21. | PurityChecker
    22. | Quandary
    23. | RacerD
    24. | ResourceLeakLabExercise
    25. | SILValidation
    26. | SIOF
    27. | ScopeLeakage
    28. | SelfInBlock
    29. | Starvation
    30. | Topl
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_enumerate_lib.Enumerable.S with type t := t
    val all : t list
    type support =
    1. | NoSupport
      (*

      checker does not run at all for this language

      *)
    2. | ExperimentalSupport
      (*

      checker runs but is not expected to give reasonable results

      *)
    3. | Support
      (*

      checker is expected to give reasonable results

      *)

    per-language support for each checker

    type cli_flags = {
    1. deprecated : string list;
      (*

      More command-line flags, similar to ~deprecated arguments in CommandLineOption.

      *)
    2. show_in_help : bool;
    }
    type kind =
    1. | UserFacing of {
      1. title : string;
        (*

        the title of the documentation web page

        *)
      2. markdown_body : string;
        (*

        main text of the documentation

        *)
      }
      (*

      can report issues to users

      *)
    2. | UserFacingDeprecated of {
      1. title : string;
        (*

        the title of the documentation web page

        *)
      2. markdown_body : string;
        (*

        main text of the documentation

        *)
      3. deprecation_message : string;
      }
      (*

      can report issues to users but should probably be deleted from infer

      *)
    3. | Internal
      (*

      Analysis that only serves other analyses. Do not use to mean experimental! Please still document experimental checkers as they will become non-experimental.

      *)
    4. | Exercise
      (*

      reserved for the "resource leak" lab exercise

      *)
    type config = {
    1. id : string;
      (*

      Unique identifier. Used to generate web URLs for the documentation as well as the flag to enable this option on the command line.

      *)
    2. kind : kind;
    3. support : Language.t -> support;
    4. short_documentation : string;
      (*

      used in man pages and as a short intro on the website

      *)
    5. cli_flags : cli_flags option;
      (*

      If None then the checker cannot be enabled/disabled from the command line.

      *)
    6. enabled_by_default : bool;
    7. activates : t list;
      (*

      list of checkers that get enabled when this checker is enabled

      *)
    }
    val config : t -> config
    val get_id : t -> string

    get_id c is (config c).id

    val from_id : string -> t option
    val pp_manual : F.formatter -> t -> unit

    prints a short explanation of the checker; used for the man pages

    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    val get_dependencies : t -> Set.t
    +Checker (infer.IBase.Checker)

    Module IBase.Checker

    module F = Stdlib.Format
    type t =
    1. | AnnotationReachability
    2. | Biabduction
    3. | BufferOverrunAnalysis
    4. | BufferOverrunChecker
    5. | ConfigImpactAnalysis
    6. | Cost
    7. | DisjunctiveDemo
    8. | FragmentRetainsView
    9. | Impurity
    10. | InefficientKeysetIterator
    11. | Lineage
    12. | LineageShape
    13. | LithoRequiredProps
    14. | Liveness
    15. | LoopHoisting
    16. | ParameterNotNullChecked
    17. | PrintfArgs
    18. | Pulse
    19. | PurityAnalysis
    20. | PurityChecker
    21. | RacerD
    22. | ResourceLeakLabExercise
    23. | SILValidation
    24. | SIOF
    25. | ScopeLeakage
    26. | SelfInBlock
    27. | Starvation
    28. | Topl
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_enumerate_lib.Enumerable.S with type t := t
    val all : t list
    type support =
    1. | NoSupport
      (*

      checker does not run at all for this language

      *)
    2. | ExperimentalSupport
      (*

      checker runs but is not expected to give reasonable results

      *)
    3. | Support
      (*

      checker is expected to give reasonable results

      *)

    per-language support for each checker

    type cli_flags = {
    1. deprecated : string list;
      (*

      More command-line flags, similar to ~deprecated arguments in CommandLineOption.

      *)
    2. show_in_help : bool;
    }
    type kind =
    1. | UserFacing of {
      1. title : string;
        (*

        the title of the documentation web page

        *)
      2. markdown_body : string;
        (*

        main text of the documentation

        *)
      }
      (*

      can report issues to users

      *)
    2. | UserFacingDeprecated of {
      1. title : string;
        (*

        the title of the documentation web page

        *)
      2. markdown_body : string;
        (*

        main text of the documentation

        *)
      3. deprecation_message : string;
      }
      (*

      can report issues to users but should probably be deleted from infer

      *)
    3. | Internal
      (*

      Analysis that only serves other analyses. Do not use to mean experimental! Please still document experimental checkers as they will become non-experimental.

      *)
    4. | Exercise
      (*

      reserved for the "resource leak" lab exercise

      *)
    type config = {
    1. id : string;
      (*

      Unique identifier. Used to generate web URLs for the documentation as well as the flag to enable this option on the command line.

      *)
    2. kind : kind;
    3. support : Language.t -> support;
    4. short_documentation : string;
      (*

      used in man pages and as a short intro on the website

      *)
    5. cli_flags : cli_flags option;
      (*

      If None then the checker cannot be enabled/disabled from the command line.

      *)
    6. enabled_by_default : bool;
    7. activates : t list;
      (*

      list of checkers that get enabled when this checker is enabled

      *)
    }
    val config : t -> config
    val get_id : t -> string

    get_id c is (config c).id

    val from_id : string -> t option
    val pp_manual : F.formatter -> t -> unit

    prints a short explanation of the checker; used for the man pages

    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    val get_dependencies : t -> Set.t
    diff --git a/website/static/odoc/next/infer/IBase/Config/index.html b/website/static/odoc/next/infer/IBase/Config/index.html index d35abacc6b0..7f7fbb399fc 100644 --- a/website/static/odoc/next/infer/IBase/Config/index.html +++ b/website/static/odoc/next/infer/IBase/Config/index.html @@ -8,5 +8,5 @@ | `MLeak_unknown ]
    list
    val biabduction_models_mode : bool
    val biabduction_monitor_prop_size : bool
    val biabduction_nelseg : bool
    val biabduction_only_footprint : bool
    val biabduction_seconds_per_iteration : float option
    val biabduction_symops_per_iteration : int option
    val biabduction_trace_join : bool
    val biabduction_trace_rearrange : bool
    val biabduction_type_size : bool
    val biabduction_unsafe_malloc : bool
    val biabduction_worklist_mode : int
    val biabduction_write_dotty : bool
    val bo_assume_void : bool
    val bo_bottom_as_default : bool
    val bo_context_sensitive_allocsites : bool
    val bo_debug : int
    val bo_exit_frontend_gener_vars : bool
    val bo_field_depth_limit : int option
    val bo_max_cfg_size : int
    val bo_sound_unknown_sets_join : bool
    val bootclasspath : string option
    val buck : bool
    val buck2_build_args : string list
    val buck2_build_args_no_inline : string list
    val buck2_bxl_capture_file_block_list : string list
    val buck2_bxl_target : string option
    val buck2_inferconfig_target : string option
    val buck2_infertoolchain_target : string option
    val buck2_isolation_dir : string option
    val buck2_query_deps : bool
    val buck2_root : string
    val buck_block_list : string list
    val buck_build_args : string list
    val buck_build_args_no_inline : string list
    val buck_cache_mode : bool
    val buck_clang_use_toolchain_config : bool
    val buck_dependency_depth : int option
    val buck_java_heap_size_gb : int option
    val buck_java_suppress_config : bool
    val buck_merge_all_deps : bool
    val buck_mode : BuckMode.t option
    val buck_out : string
    val buck_out_gen : string
    val buck_targets_block_list : string list
    val capture : bool
    val capture_block_list : string * Yojson.Safe.t
    val capture_textual : string list
    val censor_report : ((bool * IStdlib.IStd.Str.regexp) * (bool * IStdlib.IStd.Str.regexp) * string) - list
    val cfg_json : string option
    val changed_files_index : string option
    val check_version : string option
    val clang_ast_file : [ `Biniou of string | `Yojson of string ] option
    val clang_block_listed_flags : string list
    val clang_block_listed_flags_with_arg : string list
    val clang_compound_literal_init_limit : int
    val clang_extra_flags : string list
    val clang_frontend_action_string : string
    val clang_idirafter_to_override_regex : IStdlib.IStd.Str.regexp option
    val clang_ignore_regex : IStdlib.IStd.Str.regexp option
    val clang_isystem_to_override_regex : IStdlib.IStd.Str.regexp option
    val clang_libcxx_include_to_override_regex : string option
    val classpath : string option
    val compaction_if_heap_greater_equal_to_GB : int
    val compaction_minimum_interval_s : int
    val complete_capture_from : string option
    val config_impact_config_field_patterns : IStdlib.IStd.Str.regexp list
    val config_impact_config_function_patterns : IStdlib.IStd.Str.regexp list
    val config_impact_config_param_patterns : IStdlib.IStd.Str.regexp list
    val config_impact_current : string option
    val config_impact_data_file : string option
    val config_impact_issues_tests : string option
    val config_impact_max_callees_to_print : int
    val config_impact_previous : string option
    val config_impact_strict_mode : bool
    val config_impact_strict_mode_paths : IStdlib.IStd.Str.regexp list
    val config_impact_test_paths : IStdlib.IStd.Str.regexp list
    val continue_analysis : bool
    val continue_capture : bool
    val cost_issues_tests : string option
    val cost_log_unknown_calls : bool
    val cost_suppress_func_ptr : bool
    val costs_current : string option
    val costs_previous : string option
    val cxx : bool
    val cxx_scope_guards : Yojson.Safe.t
    val data_flow_queries_on_topl : string list
    val dbwriter : bool
    val debug_exceptions : bool
    val debug_level_analysis : int
    val debug_level_capture : int
    val debug_level_report : int
    val debug_level_test_determinator : int
    val debug_mode : bool
    val deduplicate : bool
    val dependency_mode : bool
    val detach_analysis_dependency : bool
    val developer_mode : bool
    val dict_missing_key_var_block_list : IStdlib.IStd.Str.regexp option
    val differential_filter_files : string option
    val differential_filter_set : [ `Introduced | `Fixed | `Preexisting ] list
    val dotty_cfg_libs : bool
    val dump_duplicate_symbols : bool
    val dump_textual : bool
    val dynamic_dispatch_json_file_path : string option
    val erlang_ast_dir : string option
    val erlang_check_return : bool
    val erlang_list_unfold_depth : int
    val erlang_reliability : bool
    val erlang_skip_compile : bool
    val erlang_with_otp_specs : bool
    val export_changed_functions : bool
    val extract_capture_from : string option
    val fail_on_bug : bool
    val fcp_apple_clang : string option
    val fcp_syntax_only : bool
    val file_renamings : string option
    val files_to_analyze_index : string option
    val filter_paths : bool
    val filtering : bool
    val force_delete_results_dir : bool
    val force_integration : build_system option
    val from_json_config_impact_report : string
    val from_json_costs_report : string
    val from_json_report : string
    val frontend_stats : bool
    val frontend_tests : bool
    val generated_classes : string option
    val genrule_mode : bool
    val global_tenv : bool
    val hack_builtin_models : string
    val hack_models : string list
    val hack_naming_table : string option
    val hackc_binary : string option
    val help_checker : Checker.t list
    val help_issue_type : IssueType.t list
    val hoisting_report_only_expensive : bool
    val html : bool
    val icfg_dotty_outfile : string option
    val implicit_sdk_root : string option
    val impurity_report_immutable_modifications : bool
    val inclusive_cost : bool
    val incremental_analysis : bool
    val infer_binary : string

    absolute canonicalized path to the current executable

    val infer_is_clang : bool
    val infer_is_javac : bool
    val inferconfig_file : string option
    val inline_func_pointer_for_testing : string option
    val invalidate_only : bool
    val is_checker_enabled : Checker.t -> bool
    val issues_tests : string option
    val issues_tests_fields : IssuesTestField.t list
    val java_debug_source_file_info : string option
    val java_jar_compiler : string option
    val java_reflection : bool
    val java_source_parser_experimental : bool
    val java_version : int option
    val javac_classes_out : string
    val job_id : string option
    val jobs : int
    val keep_going : bool
    val kotlin_capture : bool
    val lineage_source : string option
    val lineage_sink : string option
    val lineage_sanitizers : string list
    val lineage_limit : int option
    val lineage_dedup : bool
    val lineage_field_depth : int
    val lineage_field_max_cfg_size : int option
    val lineage_field_width : int
    val lineage_include_builtins : bool
    val lineage_json_report : bool
    val lineage_keep_temporaries : bool
    val lineage_max_cfg_size : int option
    val lineage_prevent_cycles : bool
    val lineage_seed : int
    val lineage_variant_width : int
    val list_categories : bool
    val list_checkers : bool
    val list_issue_types : bool
    val liveness_block_list_var_regex : IStdlib.IStd.Str.regexp option
    val liveness_dangerous_classes : Yojson.Safe.t
    val liveness_ignored_constant : string list
    val load_average : float option
    val lock_model : Yojson.Safe.t
    val log_pulse_disjunct_increase_after_model_call : bool
    val log_pulse_coverage : bool
    val log_missing_deps : bool
    val margin_html : int
    val mark_unchanged_procs : bool
    val mask_sajwa_exceptions : bool
    val max_nesting : int option
    val memtrace_analysis : bool
    val memtrace_sampling_rate : float
    val merge_capture : string list
    val merge_report : string list
    val merge_summaries : string list
    val method_decls_info : string option
    val modeled_expensive : string * Yojson.Safe.t
    val modified_lines : string option
    val never_returning_null : string * Yojson.Safe.t
    val no_censor_report : IStdlib.IStd.Str.regexp list
    val no_translate_libs : bool
    val nullable_annotation : string option
    val only_cheap_debug : bool
    val oom_threshold : int option
    val objc_synthesize_dealloc : bool
    val pmd_xml : bool
    val preanalysis_html : bool
    val print_active_checkers : bool
    val print_builtins : bool
    val print_jbir : bool
    val print_logs : bool
    val print_types : bool
    val print_using_diff : bool
    val procedures : bool
    val procedures_attributes : bool
    val procedures_call_graph : bool
    val procedures_callees : bool
    val procedures_cfg : bool
    val procedures_definedness : bool
    val procedures_filter : string option
    val procedures_name : bool
    val procedures_source_file : bool
    val procedures_summary : bool
    val procedures_summary_json : bool
    val procedures_summary_skip_empty : bool
    val process_clang_ast : bool
    val profiler_samples : string option
    val progress_bar : [ `MultiLine | `Plain | `Quiet ]
    val project_root : string
    val pulse_cut_to_one_path_procedures_pattern : IStdlib.IStd.Str.regexp option
    val pulse_force_continue : bool
    val pulse_havoc_arguments : bool
    val pulse_inline_global_init_func_pointer : bool
    val pulse_intraprocedural_only : bool
    val pulse_log_summary_count : bool
    val pulse_log_unknown_calls : bool
    val pulse_max_cfg_size : int
    val pulse_max_disjuncts : int
    val pulse_max_heap : int option
    val pulse_model_abort : string list
    val pulse_model_alloc_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_cheap_copy_type : IStdlib.IStd.Str.regexp option
    val pulse_model_free_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_malloc_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_realloc_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_release_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_return_first_arg : IStdlib.IStd.Str.regexp option
    val pulse_model_return_nonnull : IStdlib.IStd.Str.regexp option
    val pulse_model_return_this : IStdlib.IStd.Str.regexp option
    val pulse_model_returns_copy_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_skip_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_transfer_ownership : string list
    val pulse_model_transfer_ownership_namespace : (string * string) list
    val pulse_models_for_erlang : string list
    val pulse_monitor_transitive_callees : bool
    val pulse_monitor_transitive_missed_captures : bool
    val pulse_nullsafe_report_npe : bool
    val pulse_nullsafe_report_npe_as_separate_issue_type : bool
    val pulse_prevent_non_disj_top : bool
    val pulse_recency_limit : int
    val pulse_report_flows_from_taint_source : string option
    val pulse_report_flows_to_taint_sink : string option
    val pulse_report_issues_for_tests : bool
    val pulse_report_latent_issues : bool
    val pulse_sanity_checks : bool
    val pulse_skip_procedures : IStdlib.IStd.Str.regexp option
    val pulse_specialization_iteration_limit : int
    val pulse_specialization_limit : int
    val pulse_specialization_partial : bool
    val pulse_taint_check_history : bool
    val pulse_taint_config : pulse_taint_config
    val pulse_taint_short_traces : bool
    val pulse_taint_skip_sources : bool
    val pulse_transitive_access_config : string list
    val pulse_transitive_access_enabled : bool
    val pulse_transitive_access_verbose : bool
    val pulse_unsafe_malloc : bool
    val pulse_widen_threshold : int
    val pure_by_default : bool
    val pyc_file : string list
    val python_builtin_models : string
    val qualified_cpp_name_block_list : string list
    val quandary_endpoints : Yojson.Safe.t
    val quandary_sanitizers : Yojson.Safe.t
    val quandary_show_passthroughs : bool
    val quandary_sinks : Yojson.Safe.t
    val quandary_sources : Yojson.Safe.t
    val quiet : bool
    val racerd_always_report_java : bool
    val racerd_guardedby : bool
    val racerd_ignore_classes : IStdlib.IStd.String.Set.t
    val reactive_mode : bool
    val reactive_capture : bool
    val reanalyze : bool
    val relative_path_backtrack : int
    val replay_analysis_schedule : bool
    val replay_ondemand_should_error : bool
    val report : bool
    val report_block_list_spec : + list
    val cfg_json : string option
    val changed_files_index : string option
    val check_version : string option
    val clang_ast_file : [ `Biniou of string | `Yojson of string ] option
    val clang_block_listed_flags : string list
    val clang_block_listed_flags_with_arg : string list
    val clang_compound_literal_init_limit : int
    val clang_extra_flags : string list
    val clang_frontend_action_string : string
    val clang_idirafter_to_override_regex : IStdlib.IStd.Str.regexp option
    val clang_ignore_regex : IStdlib.IStd.Str.regexp option
    val clang_isystem_to_override_regex : IStdlib.IStd.Str.regexp option
    val clang_libcxx_include_to_override_regex : string option
    val classpath : string option
    val compaction_if_heap_greater_equal_to_GB : int
    val compaction_minimum_interval_s : int
    val complete_capture_from : string option
    val config_impact_config_field_patterns : IStdlib.IStd.Str.regexp list
    val config_impact_config_function_patterns : IStdlib.IStd.Str.regexp list
    val config_impact_config_param_patterns : IStdlib.IStd.Str.regexp list
    val config_impact_current : string option
    val config_impact_data_file : string option
    val config_impact_issues_tests : string option
    val config_impact_max_callees_to_print : int
    val config_impact_previous : string option
    val config_impact_strict_mode : bool
    val config_impact_strict_mode_paths : IStdlib.IStd.Str.regexp list
    val config_impact_test_paths : IStdlib.IStd.Str.regexp list
    val continue_analysis : bool
    val continue_capture : bool
    val cost_issues_tests : string option
    val cost_log_unknown_calls : bool
    val cost_suppress_func_ptr : bool
    val costs_current : string option
    val costs_previous : string option
    val cxx : bool
    val cxx_scope_guards : Yojson.Safe.t
    val data_flow_queries_on_topl : string list
    val dbwriter : bool
    val debug_exceptions : bool
    val debug_level_analysis : int
    val debug_level_capture : int
    val debug_level_report : int
    val debug_level_test_determinator : int
    val debug_mode : bool
    val deduplicate : bool
    val dependency_mode : bool
    val detach_analysis_dependency : bool
    val developer_mode : bool
    val dict_missing_key_var_block_list : IStdlib.IStd.Str.regexp option
    val differential_filter_files : string option
    val differential_filter_set : [ `Introduced | `Fixed | `Preexisting ] list
    val dotty_cfg_libs : bool
    val dump_duplicate_symbols : bool
    val dump_textual : bool
    val dynamic_dispatch_json_file_path : string option
    val erlang_ast_dir : string option
    val erlang_check_return : bool
    val erlang_list_unfold_depth : int
    val erlang_reliability : bool
    val erlang_skip_compile : bool
    val erlang_with_otp_specs : bool
    val export_changed_functions : bool
    val extract_capture_from : string option
    val fail_on_bug : bool
    val fcp_apple_clang : string option
    val fcp_syntax_only : bool
    val file_renamings : string option
    val files_to_analyze_index : string option
    val filter_paths : bool
    val filtering : bool
    val force_delete_results_dir : bool
    val force_integration : build_system option
    val from_json_config_impact_report : string
    val from_json_costs_report : string
    val from_json_report : string
    val frontend_stats : bool
    val frontend_tests : bool
    val generated_classes : string option
    val genrule_mode : bool
    val global_tenv : bool
    val hackc_binary : string option
    val hack_builder_patterns : (string * string list) list
    val hack_builtin_models : string
    val hack_models : string list
    val hack_naming_table : string option
    val hack_verify_capture_only : bool
    val help_checker : Checker.t list
    val help_issue_type : IssueType.t list
    val hoisting_report_only_expensive : bool
    val html : bool
    val icfg_dotty_outfile : string option
    val implicit_sdk_root : string option
    val impurity_report_immutable_modifications : bool
    val inclusive_cost : bool
    val incremental_analysis : bool
    val infer_binary : string

    absolute canonicalized path to the current executable

    val infer_is_clang : bool
    val infer_is_javac : bool
    val inferconfig_file : string option
    val inline_func_pointer_for_testing : string option
    val invalidate_only : bool
    val is_checker_enabled : Checker.t -> bool
    val issues_tests : string option
    val issues_tests_fields : IssuesTestField.t list
    val java_debug_source_file_info : string option
    val java_jar_compiler : string option
    val java_source_parser_experimental : bool
    val java_version : int option
    val javac_classes_out : string
    val job_id : string option
    val jobs : int
    val keep_going : bool
    val kotlin_capture : bool
    val lineage_source : string list
    val lineage_sink : string list
    val lineage_sanitizers : string list
    val lineage_limit : int option
    val lineage_dedup : bool
    val lineage_field_depth : int
    val lineage_field_max_cfg_size : int option
    val lineage_field_width : int
    val lineage_include_builtins : bool
    val lineage_json_report : bool
    val lineage_keep_temporaries : bool
    val lineage_max_cfg_size : int option
    val lineage_prevent_cycles : bool
    val lineage_seed : int
    val lineage_variant_width : int
    val list_categories : bool
    val list_checkers : bool
    val list_issue_types : bool
    val liveness_block_list_var_regex : IStdlib.IStd.Str.regexp option
    val liveness_dangerous_classes : Yojson.Safe.t
    val liveness_ignored_constant : string list
    val load_average : float option
    val lock_model : Yojson.Safe.t
    val log_pulse_disjunct_increase_after_model_call : bool
    val log_pulse_coverage : bool
    val log_missing_deps : bool
    val margin_html : int
    val mark_unchanged_procs : bool
    val mask_sajwa_exceptions : bool
    val max_nesting : int option
    val memtrace_analysis : bool
    val memtrace_sampling_rate : float
    val merge_capture : string list
    val merge_report : string list
    val merge_summaries : string list
    val method_decls_info : string option
    val modeled_expensive : string * Yojson.Safe.t
    val modified_lines : string option
    val never_returning_null : string * Yojson.Safe.t
    val no_censor_report : IStdlib.IStd.Str.regexp list
    val no_translate_libs : bool
    val nullable_annotation : string option
    val only_cheap_debug : bool
    val oom_threshold : int option
    val objc_synthesize_dealloc : bool
    val pmd_xml : bool
    val preanalysis_html : bool
    val print_active_checkers : bool
    val print_builtins : bool
    val print_jbir : bool
    val print_logs : bool
    val print_types : bool
    val print_using_diff : bool
    val procedures : bool
    val procedures_attributes : bool
    val procedures_call_graph : bool
    val procedures_callees : bool
    val procedures_cfg : bool
    val procedures_definedness : bool
    val procedures_filter : string option
    val procedures_name : bool
    val procedures_source_file : bool
    val procedures_summary : bool
    val procedures_summary_json : bool
    val procedures_summary_skip_empty : bool
    val process_clang_ast : bool
    val profiler_samples : string option
    val progress_bar : [ `MultiLine | `Plain | `Quiet ]
    val project_root : string
    val pulse_cut_to_one_path_procedures_pattern : IStdlib.IStd.Str.regexp option
    val pulse_force_continue : bool
    val pulse_havoc_arguments : bool
    val pulse_inline_global_init_func_pointer : bool
    val pulse_intraprocedural_only : bool
    val pulse_log_summary_count : bool
    val pulse_log_unknown_calls : bool
    val pulse_max_cfg_size : int
    val pulse_max_disjuncts : int
    val pulse_max_heap : int option
    val pulse_model_abort : string list
    val pulse_model_alloc_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_cheap_copy_type : IStdlib.IStd.Str.regexp option
    val pulse_model_free_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_malloc_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_realloc_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_release_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_return_first_arg : IStdlib.IStd.Str.regexp option
    val pulse_model_return_nonnull : IStdlib.IStd.Str.regexp option
    val pulse_model_return_this : IStdlib.IStd.Str.regexp option
    val pulse_model_returns_copy_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_skip_pattern : IStdlib.IStd.Str.regexp option
    val pulse_model_transfer_ownership : string list
    val pulse_model_transfer_ownership_namespace : (string * string) list
    val pulse_models_for_erlang : string list
    val pulse_monitor_transitive_callees : bool
    val pulse_monitor_transitive_missed_captures : bool
    val pulse_nullsafe_report_npe : bool
    val pulse_nullsafe_report_npe_as_separate_issue_type : bool
    val pulse_prevent_non_disj_top : bool
    val pulse_recency_limit : int
    val pulse_report_flows_from_taint_source : string option
    val pulse_report_flows_to_taint_sink : string option
    val pulse_report_issues_for_tests : bool
    val pulse_report_latent_issues : bool
    val pulse_sanity_checks : bool
    val pulse_skip_procedures : IStdlib.IStd.Str.regexp option
    val pulse_specialization_iteration_limit : int
    val pulse_specialization_limit : int
    val pulse_specialization_partial : bool
    val pulse_taint_check_history : bool
    val pulse_taint_config : pulse_taint_config
    val pulse_taint_short_traces : bool
    val pulse_taint_skip_sources : bool
    val pulse_transitive_access_config : string list
    val pulse_transitive_access_enabled : bool
    val pulse_transitive_access_verbose : bool
    val pulse_unsafe_malloc : bool
    val pulse_widen_threshold : int
    val pure_by_default : bool
    val pyc_file : string list
    val python_builtin_models : string
    val qualified_cpp_name_block_list : string list
    val quiet : bool
    val racerd_always_report_java : bool
    val racerd_guardedby : bool
    val racerd_ignore_classes : IStdlib.IStd.String.Set.t
    val reactive_mode : bool
    val reactive_capture : bool
    val reanalyze : bool
    val relative_path_backtrack : int
    val replay_analysis_schedule : bool
    val replay_ondemand_should_error : bool
    val report : bool
    val report_block_list_files_containing : string list
    val report_console_limit : int option
    val report_current : string option
    val report_custom_error : bool
    val report_force_relative_path : bool
    val report_formatter : [ `No_formatter | `Phabricator_formatter ]
    val report_path_regex_allow_list : string list
    val report_path_regex_block_list : string list
    val report_previous : string option
    val report_suppress_errors : string list
    val reports_include_ml_loc : bool
    val rest : string list
    val results_dir : string
    val run_as_child : int option
    val sarif : bool
    val scheduler : scheduler
    val scope_leakage_config : Yojson.Safe.t
    val scuba_logging : bool
    val scuba_normals : string IStdlib.IStd.String.Map.t
    val scuba_tags : string list IStdlib.IStd.String.Map.t
    val select : [ `All | `Select of int ] option
    val show_buckets : bool
    val shrink_analysis_db : bool
    val siof_check_iostreams : bool
    val siof_safe_methods : string list
    val skip_analysis_in_path : IStdlib.IStd.Str.regexp option
    val skip_analysis_in_path_skips_compilation : bool
    val skip_duplicated_types : bool
    val skip_non_capture_clang_commands : bool
    val skip_translation_headers : string list
    val source_files : bool
    val source_files_call_graph : bool
    val source_files_call_graph_partition : int option
    val source_files_cfg : bool
    val source_files_filter : string option
    val source_files_freshly_captured : bool
    val source_files_procedure_names : bool
    val source_files_type_environment : bool
    val source_preview : bool
    val sourcepath : string option
    val sources : string list
    val sqlite_cache_size : int
    val sqlite_lock_timeout : int
    val sqlite_max_blob_size : int
    val sqlite_mmap_size : int
    val sqlite_page_size : int
    val sqlite_vfs : string option
    val starvation_c_function_pointer_models : Yojson.Safe.t
    val starvation_c_named_threads_annot : Yojson.Safe.t
    val starvation_skip_analysis : Yojson.Safe.t
    val starvation_strict_mode : bool
    val starvation_whole_program : bool
    val stats_dir_current : string option
    val stats_dir_previous : string option
    val struct_as_cpp_class : bool
    val store_analysis_schedule : bool
    val subtype_multirange : bool
    val suffix_match_changed_files : bool
    val summaries_caches_max_size : int
    val suppress_lint_ignore_types : bool
    val tenv_json : string option
    val test_determinator : bool
    val testing_mode : bool
    val threadsafe_aliases : Yojson.Safe.t
    val timeout : float option
    val top_longest_proc_duration_size : int option
    val topl_max_conjuncts : int
    val topl_max_disjuncts : int
    val topl_properties : ToplAst.t list
    val topl_report_latent_issues : bool
    val trace_absarray : bool
    val trace_error : bool
    val trace_events : bool
    val trace_ondemand : bool
    val trace_topl : bool
    val unix_fork : bool
    val workspace : string option
    val write_html : bool
    val write_html_allow_list_regex : string list
    val write_website : string option
    val xcode_developer_dir : string option
    val xcode_isysroot_suffix : string option
    val xcpretty : bool

    Configuration values derived from command-line options

    val toplevel_results_dir : string

    In some integrations, eg Buck, infer subprocesses started by the build system (started by the toplevel infer process) will have their own results directory; this points to the results directory of the toplevel infer process, which can be useful for, eg, storing debug info. In other cases this is equal to results_dir.

    val java_package_is_external : string -> bool

    Check if a Java package is external to the repository

    val scuba_execution_id : IStdlib.IStd.Int64.t option

    a random number to (hopefully) uniquely identify this run

    val is_originator : bool

    is the current process (forked from) the root of the Infer process tree

    Global variables with initial values specified by command-line options

    val clang_compilation_dbs : [ `Escaped of string | `Raw of string ] list
    diff --git a/website/static/odoc/next/infer/IBase/IssueType/index.html b/website/static/odoc/next/infer/IBase/IssueType/index.html index 042b00ad710..761e9d65751 100644 --- a/website/static/odoc/next/infer/IBase/IssueType/index.html +++ b/website/static/odoc/next/infer/IBase/IssueType/index.html @@ -6,4 +6,4 @@ ?user_documentation:string -> severity -> Checker.t -> - t

    Create a new issue and register it in the list of all issues. NOTE: if the issue with the same string id is already registered, overrides `hum` but DOES NOT override `enabled`. This trick allows to deal with disabling/enabling dynamic issues from the config, when we don't know all params yet. Thus, the human-readable description can be updated when we encounter the definition of the issue type.

    val checker_can_report : Checker.t -> t -> bool

    Whether the issue was registered as coming from the given checker. Important to call this before reporting to keep documentation accurate.

    val set_enabled : t -> bool -> unit
    val abduction_case_not_implemented : t
    val arbitrary_code_execution_under_lock : t
    val array_of_pointsto : t
    val array_out_of_bounds_l1 : t
    val array_out_of_bounds_l2 : t
    val array_out_of_bounds_l3 : t
    val assert_failure : t
    val bad_footprint : t
    val bad_arg : latent:bool -> t
    val bad_generator : latent:bool -> t
    val bad_key : latent:bool -> t
    val bad_map : latent:bool -> t
    val bad_record : latent:bool -> t
    val bad_return : latent:bool -> t
    val biabduction_analysis_stops : t
    val biabduction_retain_cycle : t
    val block_parameter_not_null_checked : t
    val buffer_overrun_l1 : t
    val buffer_overrun_l2 : t
    val buffer_overrun_l3 : t
    val buffer_overrun_l4 : t
    val buffer_overrun_l5 : t
    val buffer_overrun_s2 : t
    val buffer_overrun_u5 : t
    val cannot_star : t
    val captured_strong_self : t
    val checkers_allocates_memory : t

    Warning name when a performance critical method directly or indirectly calls a method allocating memory

    val checkers_annotation_reachability_error : t
    val checkers_calls_expensive_method : t

    Warning name when a performance critical method directly or indirectly calls a method annotatd as expensive

    val checkers_expensive_overrides_unexpensive : t

    Warning name for the subtyping rule: method not annotated as expensive cannot be overridden by a method annotated as expensive

    val checkers_fragment_retain_view : t
    val checkers_printf_args : t
    val class_cast_exception : t
    val complexity_increase : kind:CostKind.t -> is_on_ui_thread:bool -> t
    val condition_always_false : t
    val condition_always_true : t
    val config_impact_analysis : t
    val config_impact_analysis_strict : t
    val pulse_config_usage : t
    val pulse_const_refable : t
    val constant_address_dereference : latent:bool -> t
    val cxx_ref_captured_in_block : t
    val create_intent_from_uri : t
    val cross_site_scripting : t
    val dangling_pointer_dereference : t
    val dangling_pointer_dereference_maybe : t
    val data_flow_to_sink : t
    val datalog_fact : t
    val dead_store : t
    val deadlock : t
    val divide_by_zero : t
    val do_not_report : t

    an issue type that should never be reported

    val empty_vector_access : t
    val exposed_insecure_intent_handling : t
    val expensive_cost_call : kind:CostKind.t -> t
    val failure_exe : t
    val guardedby_violation : t
    val impure_function : t
    val inefficient_keyset_iterator : t
    val inferbo_alloc_is_big : t
    val inferbo_alloc_is_negative : t
    val inferbo_alloc_is_zero : t
    val inferbo_alloc_may_be_big : t
    val inferbo_alloc_may_be_negative : t
    val infinite_cost_call : kind:CostKind.t -> t
    val inherently_dangerous_function : t
    val insecure_intent_handling : t
    val integer_overflow_l1 : t
    val integer_overflow_l2 : t
    val integer_overflow_l5 : t
    val integer_overflow_u5 : t
    val interface_not_thread_safe : t
    val internal_error : t
    val invalid_sil : t
    val invariant_call : t
    val ipc_on_ui_thread : t
    val javascript_injection : t
    val lab_resource_leak : t
    val leak_after_array_abstraction : t
    val leak_in_footprint : t
    val leak_unknown_origin : t
    val lockless_violation : t
    val lock_consistency_violation : t
    val logging_private_data : t
    val expensive_loop_invariant_call : t
    val memory_leak : t
    val missing_fld : t
    val missing_required_prop : t
    val mixed_self_weakself : t
    val modifies_immutable : t
    val multiple_weakself : t
    val mutual_recursion_cycle : t
    val nil_block_call : latent:bool -> t
    val nil_insertion_into_collection : latent:bool -> t
    val nil_messaging_to_non_pod : latent:bool -> t
    val no_match_of_rhs : latent:bool -> t
    val no_matching_case_clause : latent:bool -> t
    val no_matching_else_clause : latent:bool -> t
    val no_matching_function_clause : latent:bool -> t
    val no_true_branch_in_if : latent:bool -> t
    val no_matching_branch_in_try : latent:bool -> t
    val null_argument : latent:bool -> t
    val null_dereference : t
    val nullptr_dereference : latent:bool -> t
    val nullptr_dereference_in_nullsafe_class : latent:bool -> t
    val optional_empty_access : latent:bool -> t
    val precondition_not_found : t
    val precondition_not_met : t
    val premature_nil_termination : t
    val pulse_cannot_instantiate_abstract_class : t
    val pulse_dict_missing_key : t
    val pulse_dynamic_type_mismatch : t
    val pulse_transitive_access : t
    val pulse_memory_leak_c : t
    val pulse_memory_leak_cpp : t
    val pulse_resource_leak : t
    val pulse_unawaited_awaitable : t
    val pulse_uninitialized_const : t
    val pure_function : t
    val quandary_taint_error : t
    val readonly_shared_ptr_param : t
    val regex_op_on_ui_thread : t
    val resource_leak : t
    val retain_cycle : t
    val retain_cycle_no_weak_info : t
    val scope_leakage : t
    val sensitive_data_flow : t
    val skip_function : t
    val shell_injection : t
    val shell_injection_risk : t
    val sql_injection : t
    val sql_injection_risk : t
    val stack_variable_address_escape : t
    val starvation : t
    val static_initialization_order_fiasco : t
    val strict_mode_violation : t
    val strong_self_not_checked : t
    val symexec_memory_error : t
    val taint_error : t
    val thread_safety_violation : t
    val topl_error : latent:bool -> t
    val uninitialized_value_pulse : t
    val unnecessary_copy_pulse : t
    val unnecessary_copy_assignment_pulse : t
    val unnecessary_copy_assignment_const_pulse : t
    val unnecessary_copy_assignment_movable_pulse : t
    val unnecessary_copy_intermediate_pulse : t
    val unnecessary_copy_intermediate_const_pulse : t
    val unnecessary_copy_movable_pulse : t
    val unnecessary_copy_optional_pulse : t
    val unnecessary_copy_optional_const_pulse : t
    val unnecessary_copy_return_pulse : t
    val unreachable_code_after : t
    val use_after_delete : latent:bool -> t
    val use_after_free : latent:bool -> t
    val use_after_lifetime : latent:bool -> t
    val untrusted_buffer_access : t
    val untrusted_deserialization : t
    val untrusted_deserialization_risk : t
    val untrusted_file : t
    val untrusted_file_risk : t
    val untrusted_heap_allocation : t
    val untrusted_intent_creation : t
    val untrusted_url_risk : t
    val untrusted_environment_change_risk : t
    val untrusted_variable_length_array : t
    val user_controlled_sql_risk : t
    val vector_invalidation : latent:bool -> t
    val pulse_reference_stability : t
    val weak_self_in_noescape_block : t
    val wrong_argument_number : t
    val unreachable_cost_call : kind:CostKind.t -> t
    module Map : IStdlib.PrettyPrintable.PPMap with type key = t
    + t

    Create a new issue and register it in the list of all issues. NOTE: if the issue with the same string id is already registered, overrides `hum` but DOES NOT override `enabled`. This trick allows to deal with disabling/enabling dynamic issues from the config, when we don't know all params yet. Thus, the human-readable description can be updated when we encounter the definition of the issue type.

    val checker_can_report : Checker.t -> t -> bool

    Whether the issue was registered as coming from the given checker. Important to call this before reporting to keep documentation accurate.

    val set_enabled : t -> bool -> unit
    val abduction_case_not_implemented : t
    val arbitrary_code_execution_under_lock : t
    val array_of_pointsto : t
    val array_out_of_bounds_l1 : t
    val array_out_of_bounds_l2 : t
    val array_out_of_bounds_l3 : t
    val assert_failure : t
    val bad_footprint : t
    val bad_arg : latent:bool -> t
    val bad_generator : latent:bool -> t
    val bad_key : latent:bool -> t
    val bad_map : latent:bool -> t
    val bad_record : latent:bool -> t
    val bad_return : latent:bool -> t
    val biabduction_analysis_stops : t
    val biabduction_retain_cycle : t
    val block_parameter_not_null_checked : t
    val buffer_overrun_l1 : t
    val buffer_overrun_l2 : t
    val buffer_overrun_l3 : t
    val buffer_overrun_l4 : t
    val buffer_overrun_l5 : t
    val buffer_overrun_s2 : t
    val buffer_overrun_u5 : t
    val cannot_star : t
    val captured_strong_self : t
    val checkers_allocates_memory : t

    Warning name when a performance critical method directly or indirectly calls a method allocating memory

    val checkers_annotation_reachability_error : t
    val checkers_calls_expensive_method : t

    Warning name when a performance critical method directly or indirectly calls a method annotatd as expensive

    val checkers_expensive_overrides_unexpensive : t

    Warning name for the subtyping rule: method not annotated as expensive cannot be overridden by a method annotated as expensive

    val checkers_fragment_retain_view : t
    val checkers_printf_args : t
    val class_cast_exception : t
    val complexity_increase : kind:CostKind.t -> is_on_ui_thread:bool -> t
    val condition_always_false : t
    val condition_always_true : t
    val config_impact_analysis : t
    val config_impact_analysis_strict : t
    val pulse_config_usage : t
    val pulse_const_refable : t
    val constant_address_dereference : latent:bool -> t
    val cxx_ref_captured_in_block : t
    val dangling_pointer_dereference : t
    val dangling_pointer_dereference_maybe : t
    val data_flow_to_sink : t
    val dead_store : t
    val deadlock : t
    val divide_by_zero : t
    val do_not_report : t

    an issue type that should never be reported

    val empty_vector_access : t
    val expensive_cost_call : kind:CostKind.t -> t
    val failure_exe : t
    val guardedby_violation : t
    val impure_function : t
    val inefficient_keyset_iterator : t
    val inferbo_alloc_is_big : t
    val inferbo_alloc_is_negative : t
    val inferbo_alloc_is_zero : t
    val inferbo_alloc_may_be_big : t
    val inferbo_alloc_may_be_negative : t
    val infinite_cost_call : kind:CostKind.t -> t
    val inherently_dangerous_function : t
    val integer_overflow_l1 : t
    val integer_overflow_l2 : t
    val integer_overflow_l5 : t
    val integer_overflow_u5 : t
    val interface_not_thread_safe : t
    val internal_error : t
    val invalid_sil : t
    val invariant_call : t
    val ipc_on_ui_thread : t
    val lab_resource_leak : t
    val leak_after_array_abstraction : t
    val leak_in_footprint : t
    val leak_unknown_origin : t
    val lockless_violation : t
    val lock_consistency_violation : t
    val expensive_loop_invariant_call : t
    val memory_leak : t
    val missing_fld : t
    val missing_required_prop : t
    val mixed_self_weakself : t
    val modifies_immutable : t
    val multiple_weakself : t
    val mutual_recursion_cycle : t
    val nil_block_call : latent:bool -> t
    val nil_insertion_into_collection : latent:bool -> t
    val nil_messaging_to_non_pod : latent:bool -> t
    val no_match_of_rhs : latent:bool -> t
    val no_matching_case_clause : latent:bool -> t
    val no_matching_else_clause : latent:bool -> t
    val no_matching_function_clause : latent:bool -> t
    val no_true_branch_in_if : latent:bool -> t
    val no_matching_branch_in_try : latent:bool -> t
    val null_argument : latent:bool -> t
    val null_dereference : t
    val nullptr_dereference : latent:bool -> t
    val nullptr_dereference_in_nullsafe_class : latent:bool -> t
    val optional_empty_access : latent:bool -> t
    val precondition_not_found : t
    val precondition_not_met : t
    val premature_nil_termination : t
    val pulse_cannot_instantiate_abstract_class : t
    val pulse_dict_missing_key : t
    val pulse_dynamic_type_mismatch : t
    val pulse_transitive_access : t
    val pulse_memory_leak_c : t
    val pulse_memory_leak_cpp : t
    val pulse_resource_leak : t
    val pulse_unawaited_awaitable : t
    val pulse_unfinished_builder : t
    val pulse_uninitialized_const : t
    val pure_function : t
    val readonly_shared_ptr_param : t
    val regex_op_on_ui_thread : t
    val resource_leak : t
    val retain_cycle : t
    val retain_cycle_no_weak_info : t
    val scope_leakage : t
    val self_in_block_passed_to_init : t
    val sensitive_data_flow : t
    val skip_function : t
    val stack_variable_address_escape : t
    val starvation : t
    val static_initialization_order_fiasco : t
    val strict_mode_violation : t
    val strong_self_not_checked : t
    val symexec_memory_error : t
    val taint_error : t
    val thread_safety_violation : t
    val topl_error : latent:bool -> t
    val uninitialized_value_pulse : t
    val unnecessary_copy_pulse : t
    val unnecessary_copy_assignment_pulse : t
    val unnecessary_copy_assignment_const_pulse : t
    val unnecessary_copy_assignment_movable_pulse : t
    val unnecessary_copy_intermediate_pulse : t
    val unnecessary_copy_intermediate_const_pulse : t
    val unnecessary_copy_movable_pulse : t
    val unnecessary_copy_optional_pulse : t
    val unnecessary_copy_optional_const_pulse : t
    val unnecessary_copy_return_pulse : t
    val unreachable_code_after : t
    val use_after_delete : latent:bool -> t
    val use_after_free : latent:bool -> t
    val use_after_lifetime : latent:bool -> t
    val vector_invalidation : latent:bool -> t
    val pulse_reference_stability : t
    val weak_self_in_noescape_block : t
    val wrong_argument_number : t
    val unreachable_cost_call : kind:CostKind.t -> t
    module Map : IStdlib.PrettyPrintable.PPMap with type key = t
    diff --git a/website/static/odoc/next/infer/IBase/PayloadId/Variants/index.html b/website/static/odoc/next/infer/IBase/PayloadId/Variants/index.html index db2959f0ba8..c8d6ecb01cc 100644 --- a/website/static/odoc/next/infer/IBase/PayloadId/Variants/index.html +++ b/website/static/odoc/next/infer/IBase/PayloadId/Variants/index.html @@ -1,5 +1,5 @@ -Variants (infer.IBase.PayloadId.Variants)

    Module PayloadId.Variants

    val annotmap : t Variantslib.Variant.t
    val biabduction : t Variantslib.Variant.t
    val bufferoverrunanalysis : t Variantslib.Variant.t
    val bufferoverrunchecker : t Variantslib.Variant.t
    val configimpactanalysis : t Variantslib.Variant.t
    val cost : t Variantslib.Variant.t
    val disjunctivedemo : t Variantslib.Variant.t
    val labresourceleaks : t Variantslib.Variant.t
    val lithorequiredprops : t Variantslib.Variant.t
    val pulse : t Variantslib.Variant.t
    val purity : t Variantslib.Variant.t
    val quandary : t Variantslib.Variant.t
    val racerd : t Variantslib.Variant.t
    val scopeleakage : t Variantslib.Variant.t
    val siof : t Variantslib.Variant.t
    val lineage : t Variantslib.Variant.t
    val lineageshape : t Variantslib.Variant.t
    val starvation : t Variantslib.Variant.t
    val fold : +Variants (infer.IBase.PayloadId.Variants)

    Module PayloadId.Variants

    val annotmap : t Variantslib.Variant.t
    val biabduction : t Variantslib.Variant.t
    val bufferoverrunanalysis : t Variantslib.Variant.t
    val bufferoverrunchecker : t Variantslib.Variant.t
    val configimpactanalysis : t Variantslib.Variant.t
    val cost : t Variantslib.Variant.t
    val disjunctivedemo : t Variantslib.Variant.t
    val labresourceleaks : t Variantslib.Variant.t
    val lithorequiredprops : t Variantslib.Variant.t
    val pulse : t Variantslib.Variant.t
    val purity : t Variantslib.Variant.t
    val racerd : t Variantslib.Variant.t
    val scopeleakage : t Variantslib.Variant.t
    val siof : t Variantslib.Variant.t
    val lineage : t Variantslib.Variant.t
    val lineageshape : t Variantslib.Variant.t
    val starvation : t Variantslib.Variant.t
    val fold : init:'acc__ -> annotmap:('acc__ -> t Variantslib.Variant.t -> 'acc__) -> biabduction:('acc__ -> t Variantslib.Variant.t -> 'acc__) -> @@ -12,7 +12,6 @@ lithorequiredprops:('acc__ -> t Variantslib.Variant.t -> 'acc__) -> pulse:('acc__ -> t Variantslib.Variant.t -> 'acc__) -> purity:('acc__ -> t Variantslib.Variant.t -> 'acc__) -> - quandary:('acc__ -> t Variantslib.Variant.t -> 'acc__) -> racerd:('acc__ -> t Variantslib.Variant.t -> 'acc__) -> scopeleakage:('acc__ -> t Variantslib.Variant.t -> 'acc__) -> siof:('acc__ -> t Variantslib.Variant.t -> 'acc__) -> @@ -31,7 +30,6 @@ lithorequiredprops:(t Variantslib.Variant.t -> unit) -> pulse:(t Variantslib.Variant.t -> unit) -> purity:(t Variantslib.Variant.t -> unit) -> - quandary:(t Variantslib.Variant.t -> unit) -> racerd:(t Variantslib.Variant.t -> unit) -> scopeleakage:(t Variantslib.Variant.t -> unit) -> siof:(t Variantslib.Variant.t -> unit) -> @@ -51,7 +49,6 @@ lithorequiredprops:(t Variantslib.Variant.t -> 'result__) -> pulse:(t Variantslib.Variant.t -> 'result__) -> purity:(t Variantslib.Variant.t -> 'result__) -> - quandary:(t Variantslib.Variant.t -> 'result__) -> racerd:(t Variantslib.Variant.t -> 'result__) -> scopeleakage:(t Variantslib.Variant.t -> 'result__) -> siof:(t Variantslib.Variant.t -> 'result__) -> @@ -79,18 +76,16 @@ pulse:(t Variantslib.Variant.t -> 'acc__9 -> (unit -> 'result__) * 'acc__10) -> purity: (t Variantslib.Variant.t -> 'acc__10 -> (unit -> 'result__) * 'acc__11) -> - quandary: - (t Variantslib.Variant.t -> 'acc__11 -> (unit -> 'result__) * 'acc__12) -> racerd: - (t Variantslib.Variant.t -> 'acc__12 -> (unit -> 'result__) * 'acc__13) -> + (t Variantslib.Variant.t -> 'acc__11 -> (unit -> 'result__) * 'acc__12) -> scopeleakage: - (t Variantslib.Variant.t -> 'acc__13 -> (unit -> 'result__) * 'acc__14) -> - siof:(t Variantslib.Variant.t -> 'acc__14 -> (unit -> 'result__) * 'acc__15) -> + (t Variantslib.Variant.t -> 'acc__12 -> (unit -> 'result__) * 'acc__13) -> + siof:(t Variantslib.Variant.t -> 'acc__13 -> (unit -> 'result__) * 'acc__14) -> lineage: - (t Variantslib.Variant.t -> 'acc__15 -> (unit -> 'result__) * 'acc__16) -> + (t Variantslib.Variant.t -> 'acc__14 -> (unit -> 'result__) * 'acc__15) -> lineageshape: - (t Variantslib.Variant.t -> 'acc__16 -> (unit -> 'result__) * 'acc__17) -> + (t Variantslib.Variant.t -> 'acc__15 -> (unit -> 'result__) * 'acc__16) -> starvation: - (t Variantslib.Variant.t -> 'acc__17 -> (unit -> 'result__) * 'acc__18) -> + (t Variantslib.Variant.t -> 'acc__16 -> (unit -> 'result__) * 'acc__17) -> 'acc__0 -> - (t -> 'result__) * 'acc__18
    val to_rank : t -> int
    val to_name : t -> string
    val descriptions : (string * int) list
    + (t -> 'result__) * 'acc__17
    val to_rank : t -> int
    val to_name : t -> string
    val descriptions : (string * int) list
    diff --git a/website/static/odoc/next/infer/IBase/PayloadId/index.html b/website/static/odoc/next/infer/IBase/PayloadId/index.html index 75c7b718f25..c28928003a1 100644 --- a/website/static/odoc/next/infer/IBase/PayloadId/index.html +++ b/website/static/odoc/next/infer/IBase/PayloadId/index.html @@ -1,2 +1,2 @@ -PayloadId (infer.IBase.PayloadId)

    Module IBase.PayloadId

    type t =
    1. | AnnotMap
    2. | Biabduction
    3. | BufferOverrunAnalysis
    4. | BufferOverrunChecker
    5. | ConfigImpactAnalysis
    6. | Cost
    7. | DisjunctiveDemo
    8. | LabResourceLeaks
    9. | LithoRequiredProps
    10. | Pulse
    11. | Purity
    12. | Quandary
    13. | RacerD
    14. | ScopeLeakage
    15. | SIOF
    16. | Lineage
    17. | LineageShape
    18. | Starvation
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val pp : Ppx_show_runtime.Format.formatter -> t -> unit
    val show : t -> string
    val annotmap : t
    val biabduction : t
    val bufferoverrunanalysis : t
    val bufferoverrunchecker : t
    val configimpactanalysis : t
    val cost : t
    val disjunctivedemo : t
    val labresourceleaks : t
    val lithorequiredprops : t
    val pulse : t
    val purity : t
    val quandary : t
    val racerd : t
    val scopeleakage : t
    val siof : t
    val lineage : t
    val lineageshape : t
    val starvation : t
    val is_annotmap : t -> bool
    val is_biabduction : t -> bool
    val is_bufferoverrunanalysis : t -> bool
    val is_bufferoverrunchecker : t -> bool
    val is_configimpactanalysis : t -> bool
    val is_cost : t -> bool
    val is_disjunctivedemo : t -> bool
    val is_labresourceleaks : t -> bool
    val is_lithorequiredprops : t -> bool
    val is_pulse : t -> bool
    val is_purity : t -> bool
    val is_quandary : t -> bool
    val is_racerd : t -> bool
    val is_scopeleakage : t -> bool
    val is_siof : t -> bool
    val is_lineage : t -> bool
    val is_lineageshape : t -> bool
    val is_starvation : t -> bool
    val annotmap_val : t -> unit option
    val biabduction_val : t -> unit option
    val bufferoverrunanalysis_val : t -> unit option
    val bufferoverrunchecker_val : t -> unit option
    val configimpactanalysis_val : t -> unit option
    val cost_val : t -> unit option
    val disjunctivedemo_val : t -> unit option
    val labresourceleaks_val : t -> unit option
    val lithorequiredprops_val : t -> unit option
    val pulse_val : t -> unit option
    val purity_val : t -> unit option
    val quandary_val : t -> unit option
    val racerd_val : t -> unit option
    val scopeleakage_val : t -> unit option
    val siof_val : t -> unit option
    val lineage_val : t -> unit option
    val lineageshape_val : t -> unit option
    val starvation_val : t -> unit option
    module Variants : sig ... end
    val database_fields : string list
    val to_checker : t -> Checker.t
    +PayloadId (infer.IBase.PayloadId)

    Module IBase.PayloadId

    type t =
    1. | AnnotMap
    2. | Biabduction
    3. | BufferOverrunAnalysis
    4. | BufferOverrunChecker
    5. | ConfigImpactAnalysis
    6. | Cost
    7. | DisjunctiveDemo
    8. | LabResourceLeaks
    9. | LithoRequiredProps
    10. | Pulse
    11. | Purity
    12. | RacerD
    13. | ScopeLeakage
    14. | SIOF
    15. | Lineage
    16. | LineageShape
    17. | Starvation
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val pp : Ppx_show_runtime.Format.formatter -> t -> unit
    val show : t -> string
    val annotmap : t
    val biabduction : t
    val bufferoverrunanalysis : t
    val bufferoverrunchecker : t
    val configimpactanalysis : t
    val cost : t
    val disjunctivedemo : t
    val labresourceleaks : t
    val lithorequiredprops : t
    val pulse : t
    val purity : t
    val racerd : t
    val scopeleakage : t
    val siof : t
    val lineage : t
    val lineageshape : t
    val starvation : t
    val is_annotmap : t -> bool
    val is_biabduction : t -> bool
    val is_bufferoverrunanalysis : t -> bool
    val is_bufferoverrunchecker : t -> bool
    val is_configimpactanalysis : t -> bool
    val is_cost : t -> bool
    val is_disjunctivedemo : t -> bool
    val is_labresourceleaks : t -> bool
    val is_lithorequiredprops : t -> bool
    val is_pulse : t -> bool
    val is_purity : t -> bool
    val is_racerd : t -> bool
    val is_scopeleakage : t -> bool
    val is_siof : t -> bool
    val is_lineage : t -> bool
    val is_lineageshape : t -> bool
    val is_starvation : t -> bool
    val annotmap_val : t -> unit option
    val biabduction_val : t -> unit option
    val bufferoverrunanalysis_val : t -> unit option
    val bufferoverrunchecker_val : t -> unit option
    val configimpactanalysis_val : t -> unit option
    val cost_val : t -> unit option
    val disjunctivedemo_val : t -> unit option
    val labresourceleaks_val : t -> unit option
    val lithorequiredprops_val : t -> unit option
    val pulse_val : t -> unit option
    val purity_val : t -> unit option
    val racerd_val : t -> unit option
    val scopeleakage_val : t -> unit option
    val siof_val : t -> unit option
    val lineage_val : t -> unit option
    val lineageshape_val : t -> unit option
    val starvation_val : t -> unit option
    module Variants : sig ... end
    val database_fields : string list
    val to_checker : t -> Checker.t
    diff --git a/website/static/odoc/next/infer/IBase/ResultsDirEntryName/index.html b/website/static/odoc/next/infer/IBase/ResultsDirEntryName/index.html index 4d17ebfd21f..885eec619b8 100644 --- a/website/static/odoc/next/infer/IBase/ResultsDirEntryName/index.html +++ b/website/static/odoc/next/infer/IBase/ResultsDirEntryName/index.html @@ -1,4 +1,4 @@ -ResultsDirEntryName (infer.IBase.ResultsDirEntryName)

    Module IBase.ResultsDirEntryName

    Entries in the results directory (infer-out/).

    type id =
    1. | AllocationTraces
      (*

      directory for storing allocation traces

      *)
    2. | AnalysisDependencyGraph
      (*

      the inter-procedures dependencies revealed during an analysis phase; used for the replay analysis

      *)
    3. | AnalysisDependencyGraphDot
      (*

      the above in dotty format, for debug

      *)
    4. | AnalysisDependencyInvalidationGraphDot
      (*

      the inter-procedures dependencies revealed during an analysis phase used for invalidating procedure summaries that need re-analyzing, in dotty format for debug

      *)
    5. | AnalysisDB
      (*

      the analysis database

      *)
    6. | AnalysisDBShm
      (*

      SQLite-generated index file for the results database's write-ahead log

      *)
    7. | AnalysisDBWal
      (*

      the results database's write-ahead log generated by SQLite

      *)
    8. | CallGraphCyclesDot
      (*

      cycles in the call graph used for analysis scheduling in dotty format

      *)
    9. | CaptureDB
      (*

      the capture database

      *)
    10. | CaptureDBShm
      (*

      SQLite-generated index file for the capture database's write-ahead log

      *)
    11. | CaptureDBWal
      (*

      the capture database's write-ahead log generated by SQLite

      *)
    12. | CaptureDependencies
      (*

      list of infer-out/ directories that contain capture artefacts

      *)
    13. | ChangedFunctions
      (*

      results of the clang test determinator

      *)
    14. | ChangedFunctionsTempResults
      (*

      a directory for temporary ChangedFunctions files

      *)
    15. | DatalogFacts
      (*

      directory for datalog facts

      *)
    16. | DBWriterSocket
      (*

      socket to the DBWriter process for serializing writes to SQLite

      *)
    17. | Debug
      (*

      directory containing debug data

      *)
    18. | Differential
      (*

      contains the results of infer reportdiff

      *)
    19. | DuplicateFunctions
      (*

      list of duplicated functions

      *)
    20. | GlobalTypeEnvironment
      (*

      internal IR.Tenv.t object corresponding to the whole project

      *)
    21. | Logs
      (*

      log file

      *)
    22. | MissingSourceFiles
      (*

      Source files missing during analysis

      *)
    23. | MissingProcedures
      (*

      Procedures missing during analysis

      *)
    24. | PerfEvents
      (*

      file containing events for performance profiling

      *)
    25. | ProcnamesLocks
      (*

      directory of per-IR.Procname.t file locks, used by the analysis scheduler in certain modes

      *)
    26. | ReactiveCaptureMissingTypes
      (*

      file containing missed types (reactive capture mode)

      *)
    27. | ReportConfigImpactJson
      (*

      reports of the config impact analysis

      *)
    28. | ReportCostsJson
      (*

      reports of the costs analysis

      *)
    29. | ReportHtml
      (*

      directory of the HTML report

      *)
    30. | ReportJson
      (*

      the main product of the analysis: report.json

      *)
    31. | ReportSarif
      (*

      a sarif version of report.json: report.sarif

      *)
    32. | ReportText
      (*

      a human-readable textual version of report.json

      *)
    33. | ReportXML
      (*

      a PMD-style XML version of report.json

      *)
    34. | RetainCycles
      (*

      directory of retain cycles dotty files

      *)
    35. | RunState
      (*

      internal data about the last infer run

      *)
    36. | Stats
      (*

      internal statistics about the infer run

      *)
    37. | SyntacticDependencyGraphDot
      (*

      the inter-procedures dependencies obtained by syntactically inspecting the source of each procedure and recording the (static) calls it makes during an analysis phase; used by the callgraph analysis scheduler and presented here in dotty format for debug purposes

      *)
    38. | Temporary
      (*

      directory containing temp files

      *)
    39. | TestDeterminatorReport
      (*

      the report produced by the test determinator capture mode

      *)
    40. | TestDeterminatorTempResults
      (*

      a directory for temporary TestDeterminatorReport files

      *)
    val get_path : results_dir:string -> id -> string

    the absolute path for the given entry

    val to_keep_before_incremental_capture_and_analysis : +ResultsDirEntryName (infer.IBase.ResultsDirEntryName)

    Module IBase.ResultsDirEntryName

    Entries in the results directory (infer-out/).

    type id =
    1. | AllocationTraces
      (*

      directory for storing allocation traces

      *)
    2. | AnalysisDependencyGraph
      (*

      the inter-procedures dependencies revealed during an analysis phase; used for the replay analysis

      *)
    3. | AnalysisDependencyGraphDot
      (*

      the above in dotty format, for debug

      *)
    4. | AnalysisDependencyInvalidationGraphDot
      (*

      the inter-procedures dependencies revealed during an analysis phase used for invalidating procedure summaries that need re-analyzing, in dotty format for debug

      *)
    5. | AnalysisDB
      (*

      the analysis database

      *)
    6. | AnalysisDBShm
      (*

      SQLite-generated index file for the results database's write-ahead log

      *)
    7. | AnalysisDBWal
      (*

      the results database's write-ahead log generated by SQLite

      *)
    8. | CallGraphCyclesDot
      (*

      cycles in the call graph used for analysis scheduling in dotty format

      *)
    9. | CaptureDB
      (*

      the capture database

      *)
    10. | CaptureDBShm
      (*

      SQLite-generated index file for the capture database's write-ahead log

      *)
    11. | CaptureDBWal
      (*

      the capture database's write-ahead log generated by SQLite

      *)
    12. | CaptureDependencies
      (*

      list of infer-out/ directories that contain capture artefacts

      *)
    13. | ChangedFunctions
      (*

      results of the clang test determinator

      *)
    14. | ChangedFunctionsTempResults
      (*

      a directory for temporary ChangedFunctions files

      *)
    15. | DBWriterSocket
      (*

      socket to the DBWriter process for serializing writes to SQLite

      *)
    16. | Debug
      (*

      directory containing debug data

      *)
    17. | Differential
      (*

      contains the results of infer reportdiff

      *)
    18. | DuplicateFunctions
      (*

      list of duplicated functions

      *)
    19. | GlobalTypeEnvironment
      (*

      internal IR.Tenv.t object corresponding to the whole project

      *)
    20. | Logs
      (*

      log file

      *)
    21. | MissingSourceFiles
      (*

      Source files missing during analysis

      *)
    22. | MissingProcedures
      (*

      Procedures missing during analysis

      *)
    23. | PerfEvents
      (*

      file containing events for performance profiling

      *)
    24. | ProcnamesLocks
      (*

      directory of per-IR.Procname.t file locks, used by the analysis scheduler in certain modes

      *)
    25. | ReactiveCaptureMissingTypes
      (*

      file containing missed types (reactive capture mode)

      *)
    26. | ReportConfigImpactJson
      (*

      reports of the config impact analysis

      *)
    27. | ReportCostsJson
      (*

      reports of the costs analysis

      *)
    28. | ReportHtml
      (*

      directory of the HTML report

      *)
    29. | ReportJson
      (*

      the main product of the analysis: report.json

      *)
    30. | ReportSarif
      (*

      a sarif version of report.json: report.sarif

      *)
    31. | ReportText
      (*

      a human-readable textual version of report.json

      *)
    32. | ReportXML
      (*

      a PMD-style XML version of report.json

      *)
    33. | RetainCycles
      (*

      directory of retain cycles dotty files

      *)
    34. | RunState
      (*

      internal data about the last infer run

      *)
    35. | Stats
      (*

      internal statistics about the infer run

      *)
    36. | SyntacticDependencyGraphDot
      (*

      the inter-procedures dependencies obtained by syntactically inspecting the source of each procedure and recording the (static) calls it makes during an analysis phase; used by the callgraph analysis scheduler and presented here in dotty format for debug purposes

      *)
    37. | Temporary
      (*

      directory containing temp files

      *)
    38. | TestDeterminatorReport
      (*

      the report produced by the test determinator capture mode

      *)
    39. | TestDeterminatorTempResults
      (*

      a directory for temporary TestDeterminatorReport files

      *)
    val get_path : results_dir:string -> id -> string

    the absolute path for the given entry

    val to_keep_before_incremental_capture_and_analysis : results_dir:string -> string list

    utility for ResultsDir.scrub_for_incremental, you probably want to use that instead

    val to_keep_before_caching_capture : results_dir:string -> string list

    utility for ResultsDir.scrub_for_caching, you probably want to use that instead

    val to_keep_before_new_capture : results_dir:string -> string list

    utility for ResultsDir.remove_results_dir, you probably want to use that instead

    val db_writer_socket_name : string

    see comment in DBWriter as to why we need the relative path of the socket

    val infer_deps_file_name : string

    sad that we have to have this here but some code path is looking for all files with that name in buck-out/

    diff --git a/website/static/odoc/next/infer/IBase/index.html b/website/static/odoc/next/infer/IBase/index.html index d17ec31be4b..1bd3be9e85f 100644 --- a/website/static/odoc/next/infer/IBase/index.html +++ b/website/static/odoc/next/infer/IBase/index.html @@ -1,2 +1,2 @@ -IBase (infer.IBase)

    Module IBase

    module AnalysisRequest : sig ... end
    module BuckMode : sig ... end
    module Checker : sig ... end
    module ClangProc : sig ... end
    module CommandDoc : sig ... end
    module CommandLineOption : sig ... end

    Definition and parsing of command line arguments

    module Config : sig ... end

    Configuration values: either constant, determined at compile time, or set at startup time by system calls, environment variables, or command line options

    module CostIssues : sig ... end
    module CostIssuesTestField : sig ... end
    module CostKind : sig ... end
    module DB : sig ... end

    Database of analysis results

    module DBWriter : sig ... end
    module Database : sig ... end
    module Die : sig ... end
    module Epilogues : sig ... end
    module Exception : sig ... end

    The restart scheduler and biabduction use exceptions for control flow (restarts/timeouts respectively). Functions here abstract away the semantics of when an exception can be ignored.

    module ExecutionDuration : sig ... end
    module FileDiff : sig ... end
    module ForkUtils : sig ... end
    module IssueType : sig ... end
    module IssuesTestField : sig ... end
    module Language : sig ... end
    module LineReader : sig ... end

    Module to read specific lines from files. The data from any file will stay in memory until the handle is collected by the gc

    module Location : sig ... end
    module LogEntry : sig ... end

    Log entry data model, global log entry store and functions to manipulate it. Direct access to the store is not exposed.

    module Logging : sig ... end

    log messages at different levels of verbosity

    module MarkupFormatter : sig ... end
    module MissingDependencyException : sig ... end
    module PayloadId : sig ... end
    module PerfEvent : sig ... end
    module Process : sig ... end
    module ProcessPool : sig ... end
    module ProcessPoolState : sig ... end
    module RestartSchedulerException : sig ... end
    module ResultsDir : sig ... end
    module ResultsDirEntryName : sig ... end

    Entries in the results directory (infer-out/).

    module Scuba : sig ... end

    Low-level Scuba logging functionality. Provides functionality to log anything to any scuba table. (Note that Scuba is a schema-free storage, so it won't require any changes). Don't use this module directly for logging to tables with known structure. Use high-level functions that are aware of the table structure.

    module ScubaLogging : sig ... end

    Functionality for logging into "infer_events" Scuba table. The table is organized in form of key-value pairs. Two most important fields are "event" and "value". Other fields in the table correspond to things common for this particular run of Infer.

    module Serialization : sig ... end

    Serialization of data stuctures

    module SourceFile : sig ... end
    module SqliteUtils : sig ... end
    module Stats : sig ... end

    collect statistics about backend/analysis operations

    module TaskBar : sig ... end
    module Timeable : sig ... end
    module Timer : sig ... end

    Time long-running operations listed in Timeable under a timeout

    module Timings : sig ... end
    module ToplAst : sig ... end
    module ToplLexer : sig ... end
    module ToplParser : sig ... end
    module Utils : sig ... end
    module Version : sig ... end
    +IBase (infer.IBase)

    Module IBase

    module AnalysisRequest : sig ... end
    module BuckMode : sig ... end
    module Checker : sig ... end
    module ClangProc : sig ... end
    module CommandDoc : sig ... end
    module CommandLineOption : sig ... end

    Definition and parsing of command line arguments

    module Config : sig ... end

    Configuration values: either constant, determined at compile time, or set at startup time by system calls, environment variables, or command line options

    module CostIssues : sig ... end
    module CostIssuesTestField : sig ... end
    module CostKind : sig ... end
    module DB : sig ... end

    Database of analysis results

    module DBWriter : sig ... end
    module Database : sig ... end
    module Die : sig ... end
    module EarlyScubaLogging : sig ... end
    module Epilogues : sig ... end
    module Exception : sig ... end

    The restart scheduler and biabduction use exceptions for control flow (restarts/timeouts respectively). Functions here abstract away the semantics of when an exception can be ignored.

    module ExecutionDuration : sig ... end
    module FileDiff : sig ... end
    module ForkUtils : sig ... end
    module IssueType : sig ... end
    module IssuesTestField : sig ... end
    module Language : sig ... end
    module LineReader : sig ... end

    Module to read specific lines from files. The data from any file will stay in memory until the handle is collected by the gc

    module Location : sig ... end
    module LogEntry : sig ... end

    Log entry data model, global log entry store and functions to manipulate it. Direct access to the store is not exposed.

    module Logging : sig ... end

    log messages at different levels of verbosity

    module MarkupFormatter : sig ... end
    module MissingDependencyException : sig ... end
    module PayloadId : sig ... end
    module PerfEvent : sig ... end
    module Process : sig ... end
    module ProcessPool : sig ... end
    module ProcessPoolState : sig ... end
    module RestartSchedulerException : sig ... end
    module ResultsDir : sig ... end
    module ResultsDirEntryName : sig ... end

    Entries in the results directory (infer-out/).

    module Scuba : sig ... end

    Low-level Scuba logging functionality. Provides functionality to log anything to any scuba table. (Note that Scuba is a schema-free storage, so it won't require any changes). Don't use this module directly for logging to tables with known structure. Use high-level functions that are aware of the table structure.

    module ScubaLogging : sig ... end

    Functionality for logging into "infer_events" Scuba table. The table is organized in form of key-value pairs. Two most important fields are "event" and "value". Other fields in the table correspond to things common for this particular run of Infer.

    module Serialization : sig ... end

    Serialization of data stuctures

    module SourceFile : sig ... end
    module SqliteUtils : sig ... end
    module Stats : sig ... end

    collect statistics about backend/analysis operations

    module TaskBar : sig ... end
    module Timeable : sig ... end
    module Timer : sig ... end

    Time long-running operations listed in Timeable under a timeout

    module Timings : sig ... end
    module ToplAst : sig ... end
    module ToplLexer : sig ... end
    module ToplParser : sig ... end
    module Utils : sig ... end
    module Version : sig ... end
    diff --git a/website/static/odoc/next/infer/IR/BUILTINS/module-type-S/index.html b/website/static/odoc/next/infer/IR/BUILTINS/module-type-S/index.html index d4f95c3c634..1a0366fad54 100644 --- a/website/static/odoc/next/infer/IR/BUILTINS/module-type-S/index.html +++ b/website/static/odoc/next/infer/IR/BUILTINS/module-type-S/index.html @@ -1,2 +1,2 @@ -S (infer.IR.BUILTINS.S)

    Module type BUILTINS.S

    List of all builtins that are interpreted specially by the backend

    type t
    val __array_access : t
    val __assert_fail : t
    val __builtin_add_overflow : t
    val __builtin_mul_overflow : t
    val __builtin_sub_overflow : t
    val __builtin_va_arg : t
    val __builtin_va_copy : t
    val __builtin_va_end : t
    val __builtin_va_start : t
    val __builtin_offsetof : t
    val __cast : t

    __cast(val,typ) implements java's typ(val)

    val __cxx_typeid : t
    val __delete : t
    val __delete_array : t
    val __delete_locked_attribute : t
    val __exit : t
    val __objc_bridge_transfer : t
    val __get_array_length : t
    val __get_type_of : t
    val __global_access : t
    val __infer_assume : t
    val __infer_fail : t
    val __infer_skip : t

    used to represent behavior that is not modeled in infer

    val __instanceof : t

    __instanceof(val,typ) implements java's val instanceof typ

    val __java_throw : t

    __java_throw implements java's throw instruction (without arg yet, but this is covered by the usage of the return variable during frontend translation

    val __hack_throw : t
    val __method_set_ignore_attribute : t
    val __new : t
    val __new_array : t
    val __objc_alloc_no_fail : t
    val __objc_dictionary_literal : t
    val __objc_get_ref_count : t
    val __objc_set_ref_count : t
    val __placement_delete : t
    val __placement_new : t
    val __print_value : t
    val __require_allocated_array : t
    val __set_array_length : t
    val __set_file_attribute : t
    val __set_locked_attribute : t
    val __set_mem_attribute : t
    val __set_observer_attribute : t
    val __set_unsubscribed_observer_attribute : t
    val __set_wont_leak_attribute : t
    val __split_get_nth : t
    val __throw : t
    val __unwrap_exception : t
    val abort : t
    val exit : t
    val free : t
    val fscanf : t
    val fwscanf : t
    val malloc : t
    val malloc_no_fail : t
    val nsArray_arrayWithObjects : t
    val nsArray_arrayWithObjectsCount : t
    val objc_insert_key : t
    val objc_insert_value : t
    val objc_autorelease_pool_pop : t
    val objc_autorelease_pool_push : t
    val objc_cpp_throw : t
    val pthread_create : t
    val scanf : t
    val sscanf : t
    val swscanf : t
    val vfscanf : t
    val vfwscanf : t
    val vscanf : t
    val vsscanf : t
    val vswscanf : t
    val vwscanf : t
    val wscanf : t
    val zero_initialization : t
    +S (infer.IR.BUILTINS.S)

    Module type BUILTINS.S

    List of all builtins that are interpreted specially by the backend

    type t
    val __assert_fail : t
    val __builtin_add_overflow : t
    val __builtin_mul_overflow : t
    val __builtin_sub_overflow : t
    val __builtin_va_arg : t
    val __builtin_va_copy : t
    val __builtin_va_end : t
    val __builtin_va_start : t
    val __builtin_offsetof : t
    val __cast : t

    __cast(val,typ) implements java's typ(val)

    val __cxx_typeid : t
    val __delete : t
    val __delete_array : t
    val __delete_locked_attribute : t
    val __exit : t
    val __objc_bridge_transfer : t
    val __get_array_length : t
    val __get_type_of : t
    val __infer_assume : t
    val __infer_fail : t
    val __infer_skip : t

    used to represent behavior that is not modeled in infer

    val __instanceof : t

    __instanceof(val,typ) implements java's val instanceof typ

    val __java_throw : t

    __java_throw implements java's throw instruction (without arg yet, but this is covered by the usage of the return variable during frontend translation

    val __hack_throw : t
    val __method_set_ignore_attribute : t
    val __new : t
    val __new_array : t
    val __objc_alloc_no_fail : t
    val __objc_dictionary_literal : t
    val __objc_get_ref_count : t
    val __objc_set_ref_count : t
    val __placement_delete : t
    val __placement_new : t
    val __print_value : t
    val __require_allocated_array : t
    val __set_array_length : t
    val __set_file_attribute : t
    val __set_locked_attribute : t
    val __set_mem_attribute : t
    val __set_observer_attribute : t
    val __set_unsubscribed_observer_attribute : t
    val __set_wont_leak_attribute : t
    val __split_get_nth : t
    val __throw : t
    val __unwrap_exception : t
    val abort : t
    val exit : t
    val free : t
    val fscanf : t
    val fwscanf : t
    val malloc : t
    val malloc_no_fail : t
    val nsArray_arrayWithObjects : t
    val nsArray_arrayWithObjectsCount : t
    val objc_insert_key : t
    val objc_insert_value : t
    val objc_autorelease_pool_pop : t
    val objc_autorelease_pool_push : t
    val objc_cpp_throw : t
    val pthread_create : t
    val scanf : t
    val sscanf : t
    val swscanf : t
    val vfscanf : t
    val vfwscanf : t
    val vscanf : t
    val vsscanf : t
    val vswscanf : t
    val vwscanf : t
    val wscanf : t
    val zero_initialization : t
    diff --git a/website/static/odoc/next/infer/IR/BuiltinDecl/index.html b/website/static/odoc/next/infer/IR/BuiltinDecl/index.html index 947c18050e5..4f8741a8792 100644 --- a/website/static/odoc/next/infer/IR/BuiltinDecl/index.html +++ b/website/static/odoc/next/infer/IR/BuiltinDecl/index.html @@ -1,2 +1,2 @@ -BuiltinDecl (infer.IR.BuiltinDecl)

    Module IR.BuiltinDecl

    Procnames for the builtin functions supported

    include BUILTINS.S with type t = Procname.t
    type t = Procname.t
    val __array_access : t
    val __assert_fail : t
    val __builtin_add_overflow : t
    val __builtin_mul_overflow : t
    val __builtin_sub_overflow : t
    val __builtin_va_arg : t
    val __builtin_va_copy : t
    val __builtin_va_end : t
    val __builtin_va_start : t
    val __builtin_offsetof : t
    val __cast : t

    __cast(val,typ) implements java's typ(val)

    val __cxx_typeid : t
    val __delete : t
    val __delete_array : t
    val __delete_locked_attribute : t
    val __exit : t
    val __objc_bridge_transfer : t
    val __get_array_length : t
    val __get_type_of : t
    val __global_access : t
    val __infer_assume : t
    val __infer_fail : t
    val __infer_skip : t

    used to represent behavior that is not modeled in infer

    val __instanceof : t

    __instanceof(val,typ) implements java's val instanceof typ

    val __java_throw : t

    __java_throw implements java's throw instruction (without arg yet, but this is covered by the usage of the return variable during frontend translation

    val __hack_throw : t
    val __method_set_ignore_attribute : t
    val __new : t
    val __new_array : t
    val __objc_alloc_no_fail : t
    val __objc_dictionary_literal : t
    val __objc_get_ref_count : t
    val __objc_set_ref_count : t
    val __placement_delete : t
    val __placement_new : t
    val __print_value : t
    val __require_allocated_array : t
    val __set_array_length : t
    val __set_file_attribute : t
    val __set_locked_attribute : t
    val __set_mem_attribute : t
    val __set_observer_attribute : t
    val __set_unsubscribed_observer_attribute : t
    val __set_wont_leak_attribute : t
    val __split_get_nth : t
    val __throw : t
    val __unwrap_exception : t
    val abort : t
    val exit : t
    val free : t
    val fscanf : t
    val fwscanf : t
    val malloc : t
    val malloc_no_fail : t
    val nsArray_arrayWithObjects : t
    val nsArray_arrayWithObjectsCount : t
    val objc_insert_key : t
    val objc_insert_value : t
    val objc_autorelease_pool_pop : t
    val objc_autorelease_pool_push : t
    val objc_cpp_throw : t
    val pthread_create : t
    val scanf : t
    val sscanf : t
    val swscanf : t
    val vfscanf : t
    val vfwscanf : t
    val vscanf : t
    val vsscanf : t
    val vswscanf : t
    val vwscanf : t
    val wscanf : t
    val zero_initialization : t
    val is_declared : Procname.t -> bool
    val __erlang_equal : Procname.t
    val __erlang_exactly_equal : Procname.t
    val __erlang_not_equal : Procname.t
    val __erlang_exactly_not_equal : Procname.t
    val __erlang_lesser : Procname.t
    val __erlang_lesser_or_equal : Procname.t
    val __erlang_greater : Procname.t
    val __erlang_greater_or_equal : Procname.t
    val __erlang_error_badgenerator : Procname.t
    val __erlang_error_badkey : Procname.t
    val __erlang_error_badmatch : Procname.t
    val __erlang_error_badmap : Procname.t
    val __erlang_error_badrecord : Procname.t
    val __erlang_error_badreturn : Procname.t

    Not a runtime error in Erlang. It means that the actual type disagrees with the spec.

    val __erlang_error_case_clause : Procname.t
    val __erlang_error_else_clause : Procname.t
    val __erlang_error_function_clause : Procname.t
    val __erlang_error_if_clause : Procname.t
    val __erlang_error_try_clause : Procname.t
    val __erlang_make_atom : Procname.t
    val __erlang_make_integer : Procname.t
    val __erlang_make_cons : Procname.t
    val __erlang_make_nil : Procname.t
    val __erlang_make_tuple : Procname.t
    val __erlang_make_map : Procname.t
    val __erlang_make_str_const : Procname.t
    val __erlang_make_bitstring : Procname.t
    val __erlang_map_to_list : Procname.t

    This is an internal function we use for map generators, not to be confused with maps:to_list/1 from OTP library.

    val __erlang_receive : Procname.t
    val __erlang_str_equal : Procname.t
    val __infer_initializer_list : Procname.t
    val __infer_skip_function : Procname.t
    val __infer_skip_gcc_asm_stmt : Procname.t
    val __infer_structured_binding : Procname.t
    val __infer_generic_selection_expr : Procname.t
    val __atomic_fetch_max : Procname.t
    val __atomic_fetch_min : Procname.t
    val __atomic_fetch_nand : Procname.t
    val __atomic_max_fetch : Procname.t
    val __atomic_min_fetch : Procname.t
    val __atomic_nand_fetch : Procname.t
    val __c11_atomic_fetch_max : Procname.t
    val __c11_atomic_fetch_min : Procname.t
    val __call_objc_block : Procname.t
    val __call_c_function_ptr : Procname.t
    val __opencl_atomic_fetch_max : Procname.t
    val __opencl_atomic_fetch_min : Procname.t
    val __builtin_cxx_co_return : Procname.t
    val __builtin_cxx_co_await : Procname.t
    val __get_lazy_class : t

    returns the a LazyClass representation of its arguement (a type name). A LazyClass represents a class that we know the name of but don't necessarily know if the class has been defined somewhere.

    val __lazy_class_initialize : t

    returns the singleton object associated with a given type, and performs lazily its initialization (only generated by the Hack frontend currently)

    val dispatch_sync : Procname.t
    val match_builtin : t -> 'a -> string -> bool
    +BuiltinDecl (infer.IR.BuiltinDecl)

    Module IR.BuiltinDecl

    Procnames for the builtin functions supported

    include BUILTINS.S with type t = Procname.t
    type t = Procname.t
    val __assert_fail : t
    val __builtin_add_overflow : t
    val __builtin_mul_overflow : t
    val __builtin_sub_overflow : t
    val __builtin_va_arg : t
    val __builtin_va_copy : t
    val __builtin_va_end : t
    val __builtin_va_start : t
    val __builtin_offsetof : t
    val __cast : t

    __cast(val,typ) implements java's typ(val)

    val __cxx_typeid : t
    val __delete : t
    val __delete_array : t
    val __delete_locked_attribute : t
    val __exit : t
    val __objc_bridge_transfer : t
    val __get_array_length : t
    val __get_type_of : t
    val __infer_assume : t
    val __infer_fail : t
    val __infer_skip : t

    used to represent behavior that is not modeled in infer

    val __instanceof : t

    __instanceof(val,typ) implements java's val instanceof typ

    val __java_throw : t

    __java_throw implements java's throw instruction (without arg yet, but this is covered by the usage of the return variable during frontend translation

    val __hack_throw : t
    val __method_set_ignore_attribute : t
    val __new : t
    val __new_array : t
    val __objc_alloc_no_fail : t
    val __objc_dictionary_literal : t
    val __objc_get_ref_count : t
    val __objc_set_ref_count : t
    val __placement_delete : t
    val __placement_new : t
    val __print_value : t
    val __require_allocated_array : t
    val __set_array_length : t
    val __set_file_attribute : t
    val __set_locked_attribute : t
    val __set_mem_attribute : t
    val __set_observer_attribute : t
    val __set_unsubscribed_observer_attribute : t
    val __set_wont_leak_attribute : t
    val __split_get_nth : t
    val __throw : t
    val __unwrap_exception : t
    val abort : t
    val exit : t
    val free : t
    val fscanf : t
    val fwscanf : t
    val malloc : t
    val malloc_no_fail : t
    val nsArray_arrayWithObjects : t
    val nsArray_arrayWithObjectsCount : t
    val objc_insert_key : t
    val objc_insert_value : t
    val objc_autorelease_pool_pop : t
    val objc_autorelease_pool_push : t
    val objc_cpp_throw : t
    val pthread_create : t
    val scanf : t
    val sscanf : t
    val swscanf : t
    val vfscanf : t
    val vfwscanf : t
    val vscanf : t
    val vsscanf : t
    val vswscanf : t
    val vwscanf : t
    val wscanf : t
    val zero_initialization : t
    val is_declared : Procname.t -> bool
    val __erlang_equal : Procname.t
    val __erlang_exactly_equal : Procname.t
    val __erlang_not_equal : Procname.t
    val __erlang_exactly_not_equal : Procname.t
    val __erlang_lesser : Procname.t
    val __erlang_lesser_or_equal : Procname.t
    val __erlang_greater : Procname.t
    val __erlang_greater_or_equal : Procname.t
    val __erlang_error_badgenerator : Procname.t
    val __erlang_error_badkey : Procname.t
    val __erlang_error_badmatch : Procname.t
    val __erlang_error_badmap : Procname.t
    val __erlang_error_badrecord : Procname.t
    val __erlang_error_badreturn : Procname.t

    Not a runtime error in Erlang. It means that the actual type disagrees with the spec.

    val __erlang_error_case_clause : Procname.t
    val __erlang_error_else_clause : Procname.t
    val __erlang_error_function_clause : Procname.t
    val __erlang_error_if_clause : Procname.t
    val __erlang_error_try_clause : Procname.t
    val __erlang_make_atom : Procname.t
    val __erlang_make_integer : Procname.t
    val __erlang_make_cons : Procname.t
    val __erlang_make_nil : Procname.t
    val __erlang_make_tuple : Procname.t
    val __erlang_make_map : Procname.t
    val __erlang_make_str_const : Procname.t
    val __erlang_make_bitstring : Procname.t
    val __erlang_map_to_list : Procname.t

    This is an internal function we use for map generators, not to be confused with maps:to_list/1 from OTP library.

    val __erlang_receive : Procname.t
    val __erlang_str_equal : Procname.t
    val __infer_initializer_list : Procname.t
    val __infer_skip_function : Procname.t
    val __infer_skip_gcc_asm_stmt : Procname.t
    val __infer_structured_binding : Procname.t
    val __infer_generic_selection_expr : Procname.t
    val __atomic_fetch_max : Procname.t
    val __atomic_fetch_min : Procname.t
    val __atomic_fetch_nand : Procname.t
    val __atomic_max_fetch : Procname.t
    val __atomic_min_fetch : Procname.t
    val __atomic_nand_fetch : Procname.t
    val __c11_atomic_fetch_max : Procname.t
    val __c11_atomic_fetch_min : Procname.t
    val __call_objc_block : Procname.t
    val __call_c_function_ptr : Procname.t
    val __opencl_atomic_fetch_max : Procname.t
    val __opencl_atomic_fetch_min : Procname.t
    val __builtin_cxx_co_return : Procname.t
    val __builtin_cxx_co_await : Procname.t
    val __get_lazy_class : t

    returns the a LazyClass representation of its arguement (a type name). A LazyClass represents a class that we know the name of but don't necessarily know if the class has been defined somewhere.

    val __lazy_class_initialize : t

    returns the singleton object associated with a given type, and performs lazily its initialization (only generated by the Hack frontend currently)

    val dispatch_sync : Procname.t
    val match_builtin : t -> 'a -> string -> bool
    diff --git a/website/static/odoc/next/infer/IR/Ident/index.html b/website/static/odoc/next/infer/IR/Ident/index.html index 7978ef2b996..dfe8580ed5a 100644 --- a/website/static/odoc/next/infer/IR/Ident/index.html +++ b/website/static/odoc/next/infer/IR/Ident/index.html @@ -2,7 +2,7 @@ Ident (infer.IR.Ident)

    Module IR.Ident

    Identifiers: program variables and logical variables

    type t

    Program and logical variables.

    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
    include Sexplib0.Sexpable.S with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val hash_normalize : t -> t
    val hash_normalize_opt : t option -> t option
    val hash_normalize_list : t list -> t list
    val equal : t -> t -> bool

    Equality for identifiers.

    type name

    Names used to replace strings.

    val compare_name : name -> name -> int
    val hash_fold_name : Ppx_hash_lib.Std.Hash.state -> name -> - Ppx_hash_lib.Std.Hash.state
    val hash_name : name -> Ppx_hash_lib.Std.Hash.hash_value
    val hash_normalize_name : name -> name
    val hash_normalize_name_opt : name option -> name option
    val hash_normalize_name_list : name list -> name list
    val equal_name : name -> name -> bool

    Equality for names.

    type kind

    Kind of identifiers.

    val compare_kind : kind -> kind -> int
    val equal_kind : kind -> kind -> bool

    Equality for kind.

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

    Set for identifiers.

    module Map : IStdlib.IStd.Caml.Map.S with type key = t

    Map with ident as key.

    module HashQueue : IStdlib.IStd.Hash_queue.S with type key = t
    module NameGenerator : sig ... end
    val idlist_to_idset : t list -> Set.t

    Convert an identifier list to an identifier set

    val kprimed : kind
    val knormal : kind
    val kfootprint : kind
    val knone : kind
    val name_spec : name

    Name used for spec variables

    val name_return : Mangled.t

    Name used for the return variable

    val string_to_name : string -> name

    Convert a string to a name.

    val name_to_string : name -> string

    Convert a name to a string.

    val get_name : t -> name

    Name of the identifier.

    val create_with_stamp : kind -> name -> int -> t
    val create : kind -> int -> t

    Create an identifier with default name for the given kind

    val create_normal : name -> int -> t

    Generate a normal identifier with the given name and stamp.

    val create_none : unit -> t

    Create a "null" identifier for situations where the IR requires an id that will never be read

    val create_footprint : name -> int -> t

    Generate a footprint identifier with the given name and stamp.

    val update_name_generator : t list -> unit

    Update the name generator so that the given id's are not generated again

    val create_fresh : kind -> t

    Create a fresh identifier with default name for the given kind.

    val create_path : string -> t

    Generate a normal identifier whose name encodes a path given as a string.

    val is_primed : t -> bool

    Check whether an identifier is primed or not.

    val is_normal : t -> bool

    Check whether an identifier is normal or not.

    val is_footprint : t -> bool

    Check whether an identifier is footprint or not.

    val is_path : t -> bool

    Check whether an identifier represents a path or not.

    val is_none : t -> bool

    Check whether an identifier is the special "none" identifier

    val get_stamp : t -> int

    Get the stamp of the identifier

    val set_stamp : t -> int -> t

    Set the stamp of the identifier

    Pretty Printing

    val pp_name : Stdlib.Format.formatter -> name -> unit

    Pretty print a name.

    val pp : Stdlib.Format.formatter -> t -> unit

    Pretty print an identifier.

    val to_string : t -> string

    Convert an identifier to a string.

    val hashqueue_of_sequence : + Ppx_hash_lib.Std.Hash.state
    val hash_name : name -> Ppx_hash_lib.Std.Hash.hash_value
    val hash_normalize_name : name -> name
    val hash_normalize_name_opt : name option -> name option
    val hash_normalize_name_list : name list -> name list
    val equal_name : name -> name -> bool

    Equality for names.

    type kind

    Kind of identifiers.

    val compare_kind : kind -> kind -> int
    val equal_kind : kind -> kind -> bool

    Equality for kind.

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

    Set for identifiers.

    module Map : IStdlib.IStd.Caml.Map.S with type key = t

    Map with ident as key.

    module HashQueue : IStdlib.IStd.Hash_queue.S with type key = t
    module NameGenerator : sig ... end
    val idlist_to_idset : t list -> Set.t

    Convert an identifier list to an identifier set

    val kprimed : kind
    val knormal : kind
    val kfootprint : kind
    val knone : kind
    val name_spec : name

    Name used for spec variables

    val name_return : Mangled.t

    Name used for the return variable

    val string_to_name : string -> name

    Convert a string to a name.

    val name_to_string : name -> string

    Convert a name to a string.

    val get_name : t -> name

    Name of the identifier.

    val create_with_stamp : kind -> name -> int -> t
    val create : kind -> int -> t

    Create an identifier with default name for the given kind

    val create_normal : name -> int -> t

    Generate a normal identifier with the given name and stamp.

    val create_none : unit -> t

    Create a "null" identifier for situations where the IR requires an id that will never be read

    val update_name_generator : t list -> unit

    Update the name generator so that the given id's are not generated again

    val create_fresh : kind -> t

    Create a fresh identifier with default name for the given kind.

    val create_path : string -> t

    Generate a normal identifier whose name encodes a path given as a string.

    val is_primed : t -> bool

    Check whether an identifier is primed or not.

    val is_normal : t -> bool

    Check whether an identifier is normal or not.

    val is_footprint : t -> bool

    Check whether an identifier is footprint or not.

    val is_path : t -> bool

    Check whether an identifier represents a path or not.

    val is_none : t -> bool

    Check whether an identifier is the special "none" identifier

    val get_stamp : t -> int

    Get the stamp of the identifier

    val set_stamp : t -> int -> t

    Set the stamp of the identifier

    Pretty Printing

    val pp_name : Stdlib.Format.formatter -> name -> unit

    Pretty print a name.

    val pp : Stdlib.Format.formatter -> t -> unit

    Pretty print an identifier.

    val to_string : t -> string

    Convert an identifier to a string.

    val hashqueue_of_sequence : ?init:unit HashQueue.t -> t IStdlib.IStd.Sequence.t -> unit HashQueue.t
    val set_of_sequence : ?init:Set.t -> t IStdlib.IStd.Sequence.t -> Set.t
    val counts_of_sequence : t IStdlib.IStd.Sequence.t -> t -> int
    diff --git a/website/static/odoc/next/infer/IR/Procname/Java/index.html b/website/static/odoc/next/infer/IR/Procname/Java/index.html index b858523a937..2b670d3e821 100644 --- a/website/static/odoc/next/infer/IR/Procname/Java/index.html +++ b/website/static/odoc/next/infer/IR/Procname/Java/index.html @@ -1,2 +1,2 @@ -Java (infer.IR.Procname.Java)

    Module Procname.Java

    Type of java procedure names.

    type kind =
    1. | Non_Static
      (*

      in Java, procedures called with invokevirtual, invokespecial, and invokeinterface

      *)
    2. | Static
      (*

      in Java, procedures called with invokestatic

      *)
    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val constructor_method_name : string
    val class_initializer_method_name : string
    val get_class_name : t -> string

    Return the fully qualified class name of a java procedure name (package + class name)

    val get_class_type_name : t -> Typ.Name.t

    Return the class name as a typename of a java procedure name.

    val get_package : t -> string option

    Return the package name of a java procedure name.

    val get_method : t -> string

    Return the method name of a java procedure name.

    val get_parameters : t -> Typ.t list

    Return the parameters of a java procedure name.

    val get_return_typ : t -> Typ.t

    Return the return type of pname_java. return Tvoid if there's no return type

    val is_constructor : t -> bool

    Whether the method is constructor

    val is_access_method : t -> bool

    Check if the procedure name is an acess method (e.g. access$100 used to access private members from a nested class.

    val is_autogen_method : t -> bool

    Check if the procedure name is of an auto-generated/synthetic method.

    val is_close : t -> bool

    Check if the method name is "close".

    val is_static : t -> bool

    Check if the java procedure is static.

    val is_vararg : t -> bool

    Check if the proc name has the type of a java vararg. Note: currently only checks that the last argument has type Object.

    val is_generated : t -> bool

    Check if the proc name comes from generated code

    val is_class_initializer : t -> bool

    Check if this is a class initializer.

    val get_class_initializer : Typ.Name.t -> t

    Given a java class, generate the procname of its static initializer.

    val is_external : t -> bool

    Check if the method belongs to one of the specified external packages

    +Java (infer.IR.Procname.Java)

    Module Procname.Java

    Type of java procedure names.

    type kind =
    1. | Non_Static
      (*

      in Java, procedures called with invokevirtual, invokespecial, and invokeinterface

      *)
    2. | Static
      (*

      in Java, procedures called with invokestatic

      *)
    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val constructor_method_name : string
    val class_initializer_method_name : string
    val get_class_name : t -> string

    Return the fully qualified class name of a java procedure name (package + class name)

    val get_class_type_name : t -> Typ.Name.t

    Return the class name as a typename of a java procedure name.

    val get_package : t -> string option

    Return the package name of a java procedure name.

    val get_method : t -> string

    Return the method name of a java procedure name.

    val get_parameters : t -> Typ.t list

    Return the parameters of a java procedure name.

    val get_return_typ : t -> Typ.t

    Return the return type of pname_java. return Tvoid if there's no return type

    val is_constructor : t -> bool

    Whether the method is constructor

    val is_access_method : t -> bool

    Check if the procedure name is an acess method (e.g. access$100 used to access private members from a nested class.

    val is_autogen_method : t -> bool

    Check if the procedure name is of an auto-generated/synthetic method.

    val is_close : t -> bool

    Check if the method name is "close".

    val is_static : t -> bool

    Check if the java procedure is static.

    val is_generated : t -> bool

    Check if the proc name comes from generated code

    val is_class_initializer : t -> bool

    Check if this is a class initializer.

    val get_class_initializer : Typ.Name.t -> t

    Given a java class, generate the procname of its static initializer.

    val is_external : t -> bool

    Check if the method belongs to one of the specified external packages

    diff --git a/website/static/odoc/next/infer/IR/Procname/ObjC_Cpp/index.html b/website/static/odoc/next/infer/IR/Procname/ObjC_Cpp/index.html index bf2de8bb9ab..114b6493ce6 100644 --- a/website/static/odoc/next/infer/IR/Procname/ObjC_Cpp/index.html +++ b/website/static/odoc/next/infer/IR/Procname/ObjC_Cpp/index.html @@ -5,4 +5,4 @@ kind -> Typ.template_spec_info -> Parameter.clang_parameter list -> - t

    Create an objc procedure name from a class_name and method_name.

    val get_class_name : t -> string
    val get_class_type_name : t -> Typ.Name.t
    val get_class_qualifiers : t -> QualifiedCppName.t
    val objc_method_kind_of_bool : bool -> kind

    Create ObjC method type from a bool is_instance.

    val is_objc_constructor : string -> bool

    Check if this is a constructor method in Objective-C.

    val is_destructor : t -> bool

    Check if this is a dealloc method.

    val is_inner_destructor : t -> bool

    Check if this is a frontend-generated "inner" destructor (see D5834555/D7189239)

    + t

    Create an objc procedure name from a class_name and method_name.

    val get_class_type_name : t -> Typ.Name.t
    val get_class_qualifiers : t -> QualifiedCppName.t
    val objc_method_kind_of_bool : bool -> kind

    Create ObjC method type from a bool is_instance.

    val is_objc_constructor : string -> bool

    Check if this is a constructor method in Objective-C.

    val is_destructor : t -> bool

    Check if this is a dealloc method.

    val is_inner_destructor : t -> bool

    Check if this is a frontend-generated "inner" destructor (see D5834555/D7189239)

    diff --git a/website/static/odoc/next/infer/IR/Procname/index.html b/website/static/odoc/next/infer/IR/Procname/index.html index 9668e63765d..f01146f7740 100644 --- a/website/static/odoc/next/infer/IR/Procname/index.html +++ b/website/static/odoc/next/infer/IR/Procname/index.html @@ -22,4 +22,4 @@ class_name:PythonClassName.t option -> function_name:string -> arity:int option -> - t

    Create a Python procedure name.

    val empty_block : t

    Empty block name.

    val get_language : t -> IBase.Language.t

    Return the language of the procedure.

    val get_method : t -> string

    Return the method/function of a procname.

    val is_objc_block : t -> bool

    Return whether the procname is a block procname.

    val is_cpp_lambda : t -> bool

    Return whether the procname is a cpp lambda procname.

    val is_objc_dealloc : t -> bool

    Return whether the dealloc method of an Objective-C class.

    val is_objc_init : t -> bool

    Return whether the init method of an Objective-C class.

    val is_c_method : t -> bool

    Return true this is an Objective-C/C++ method name.

    val is_clang : t -> bool

    Return true this is an Objective-C/C++ method name or a C function.

    val is_constructor : t -> bool

    Check if this is a constructor.

    val is_csharp : t -> bool

    Check if this is a CSharp procedure name.

    val is_hack : t -> bool

    Check if this is a Hack procedure name.

    val is_java : t -> bool

    Check if this is a Java procedure name.

    val is_python : t -> bool

    Check if this is a Python procedure name.

    val as_java_exn : explanation:string -> t -> Java.t

    Converts to a Java.t. Throws if is_java is false

    val objc_cpp_replace_method_name : t -> string -> t
    val is_infer_undefined : t -> bool

    Check if this is a special Infer undefined procedure.

    val is_static : t -> bool option

    Check if a procedure is a static class method or not. If the procedure is not a class method or is unknown to be static, it returns None. For now, this checking does not work on C++ methods.

    val get_global_name_of_initializer : t -> string option

    Return the name of the global for which this procedure is the initializer if this is an initializer, None otherwise.

    val pp_without_templates : Stdlib.Format.formatter -> t -> unit

    Pretty print a c++ proc name for the user to see.

    val pp : Stdlib.Format.formatter -> t -> unit

    Pretty print a proc name for the user to see.

    val pp_verbose : Stdlib.Format.formatter -> t -> unit

    Pretty print a proc name for the user to see with verbosity parameter.

    val to_string : ?verbosity:detail_level -> t -> string

    Convert a proc name into a string for the user to see.

    val to_string_verbose : t -> string

    Convert a proc name into a string for the user to see with verbosity parameter.

    val describe : Stdlib.Format.formatter -> t -> unit

    to use in user messages

    val replace_class : t -> ?arity_incr:int -> Typ.Name.t -> t

    Replace the class name component of a procedure name. In case of Java, replace package and class name.

    val is_method_in_objc_protocol : t -> bool
    val pp_simplified_string : ?withclass:bool -> F.formatter -> t -> unit

    Pretty print a proc name as an easy string for the user to see in an IDE.

    val to_simplified_string : ?withclass:bool -> t -> string

    Convert a proc name into an easy string for the user to see in an IDE.

    val from_string_c_fun : string -> t

    Convert a string to a c function name.

    val replace_java_inner_class_prefix_regex : string -> string

    Replace "$[0-9]+" index into "$_" in Java proc name.

    val hashable_name : t -> string

    Convert the procedure name in a format suitable for computing the bug hash.

    val pp_unique_id : F.formatter -> t -> unit

    Print a proc name as a unique identifier.

    val to_unique_id : t -> string

    Convert a proc name into a unique identifier.

    val to_short_unique_name : t -> string

    Convert a proc name into a unique identfier guaranteed to be short (less than 50 characters)

    val to_filename : t -> string

    Convert a proc name to a filename.

    val get_qualifiers : t -> QualifiedCppName.t

    get qualifiers of C/objc/C++ method/function

    val decr_hack_arity : t -> t option

    return a Hack procname with decremented arity. Return None if input has no arity or 0 arity

    val get_hack_arity : t -> int option

    get the arity of a Hack procname

    val get_hack_static_init : is_trait:bool -> HackClassName.t -> t

    get the sinit procname in Hack

    val pp_name_only : F.formatter -> t -> unit

    Print name of procedure with at most one-level path. For example,

    • In C++: "<ClassName>::<ProcName>"
    • In Java, ObjC, C#: "<ClassName>.<ProcName>"
    • In C: "<ProcName>"
    • In Erlang: "<ModuleName>:<ProcName>"
    val pp_fullname_only : F.formatter -> t -> unit

    Like pp_name_only, but include package name for Java.

    val is_c : t -> bool
    val is_lambda_name : string -> bool
    val is_lambda : t -> bool
    val is_lambda_or_block : t -> bool
    val patterns_match : IStdlib.IStd.Str.regexp list -> t -> bool

    Test whether a proc name matches to one of the regular expressions.

    val is_erlang_unsupported : t -> bool
    val is_erlang : t -> bool
    val erlang_call_unqualified : arity:int -> t

    A special infer-erlang procname that represents a syntactic erlang (unqualified) function call. arity is the arity of the erlang function. First parameter of this procedure is expecteed to be the erlang function name, and the remaining parameters are the erlang parameters (given one-by-one and not as an erlang list).

    val erlang_call_qualified : arity:int -> t

    Same as erlang_call_unqualified but is expected to have an erlang module name as the first parameter, and the function name as second. arity is (still) the erlang arity of the function.

    val is_erlang_call_unqualified : t -> bool
    val is_erlang_call_qualified : t -> bool
    val is_hack_builtins : t -> bool
    val is_hack_sinit : t -> bool
    val has_hack_classname : t -> bool
    val is_hack_async_name : t -> bool
    val is_hack_construct : t -> bool
    + t

    Create a Python procedure name.

    val empty_block : t

    Empty block name.

    val get_language : t -> IBase.Language.t

    Return the language of the procedure.

    val get_method : t -> string

    Return the method/function of a procname.

    val is_objc_block : t -> bool

    Return whether the procname is a block procname.

    val is_cpp_lambda : t -> bool

    Return whether the procname is a cpp lambda procname.

    val is_objc_dealloc : t -> bool

    Return whether the dealloc method of an Objective-C class.

    val is_objc_init : t -> bool

    Return whether the init method of an Objective-C class.

    val is_c_method : t -> bool

    Return true this is an Objective-C/C++ method name.

    val is_clang : t -> bool

    Return true this is an Objective-C/C++ method name or a C function.

    val is_constructor : t -> bool

    Check if this is a constructor.

    val is_csharp : t -> bool

    Check if this is a CSharp procedure name.

    val is_hack : t -> bool

    Check if this is a Hack procedure name.

    val is_java : t -> bool

    Check if this is a Java procedure name.

    val is_python : t -> bool

    Check if this is a Python procedure name.

    val objc_cpp_replace_method_name : t -> string -> t
    val is_infer_undefined : t -> bool

    Check if this is a special Infer undefined procedure.

    val is_static : t -> bool option

    Check if a procedure is a static class method or not. If the procedure is not a class method or is unknown to be static, it returns None. For now, this checking does not work on C++ methods.

    val get_global_name_of_initializer : t -> string option

    Return the name of the global for which this procedure is the initializer if this is an initializer, None otherwise.

    val pp_without_templates : Stdlib.Format.formatter -> t -> unit

    Pretty print a c++ proc name for the user to see.

    val pp : Stdlib.Format.formatter -> t -> unit

    Pretty print a proc name for the user to see.

    val pp_verbose : Stdlib.Format.formatter -> t -> unit

    Pretty print a proc name for the user to see with verbosity parameter.

    val to_string : ?verbosity:detail_level -> t -> string

    Convert a proc name into a string for the user to see.

    val to_string_verbose : t -> string

    Convert a proc name into a string for the user to see with verbosity parameter.

    val describe : Stdlib.Format.formatter -> t -> unit

    to use in user messages

    val replace_class : t -> ?arity_incr:int -> Typ.Name.t -> t

    Replace the class name component of a procedure name. In case of Java, replace package and class name.

    val is_method_in_objc_protocol : t -> bool
    val pp_simplified_string : ?withclass:bool -> F.formatter -> t -> unit

    Pretty print a proc name as an easy string for the user to see in an IDE.

    val to_simplified_string : ?withclass:bool -> t -> string

    Convert a proc name into an easy string for the user to see in an IDE.

    val from_string_c_fun : string -> t

    Convert a string to a c function name.

    val replace_java_inner_class_prefix_regex : string -> string

    Replace "$[0-9]+" index into "$_" in Java proc name.

    val hashable_name : t -> string

    Convert the procedure name in a format suitable for computing the bug hash.

    val pp_unique_id : F.formatter -> t -> unit

    Print a proc name as a unique identifier.

    val to_unique_id : t -> string

    Convert a proc name into a unique identifier.

    val to_short_unique_name : t -> string

    Convert a proc name into a unique identfier guaranteed to be short (less than 50 characters)

    val to_filename : t -> string

    Convert a proc name to a filename.

    val get_qualifiers : t -> QualifiedCppName.t

    get qualifiers of C/objc/C++ method/function

    val decr_hack_arity : t -> t option

    return a Hack procname with decremented arity. Return None if input has no arity or 0 arity

    val get_hack_arity : t -> int option

    get the arity of a Hack procname

    val get_hack_static_init : is_trait:bool -> HackClassName.t -> t

    get the sinit procname in Hack

    val pp_name_only : F.formatter -> t -> unit

    Print name of procedure with at most one-level path. For example,

    • In C++: "<ClassName>::<ProcName>"
    • In Java, ObjC, C#: "<ClassName>.<ProcName>"
    • In C: "<ProcName>"
    • In Erlang: "<ModuleName>:<ProcName>"
    val pp_fullname_only : F.formatter -> t -> unit

    Like pp_name_only, but include package name for Java.

    val is_c : t -> bool
    val is_lambda_name : string -> bool
    val is_lambda : t -> bool
    val is_lambda_or_block : t -> bool
    val patterns_match : IStdlib.IStd.Str.regexp list -> t -> bool

    Test whether a proc name matches to one of the regular expressions.

    val is_erlang_unsupported : t -> bool
    val is_erlang : t -> bool
    val erlang_call_unqualified : arity:int -> t

    A special infer-erlang procname that represents a syntactic erlang (unqualified) function call. arity is the arity of the erlang function. First parameter of this procedure is expecteed to be the erlang function name, and the remaining parameters are the erlang parameters (given one-by-one and not as an erlang list).

    val erlang_call_qualified : arity:int -> t

    Same as erlang_call_unqualified but is expected to have an erlang module name as the first parameter, and the function name as second. arity is (still) the erlang arity of the function.

    val is_erlang_call_unqualified : t -> bool
    val is_erlang_call_qualified : t -> bool
    val is_hack_builtins : t -> bool
    val is_hack_sinit : t -> bool
    val has_hack_classname : t -> bool
    val is_hack_async_name : t -> bool
    val is_hack_construct : t -> bool
    diff --git a/website/static/odoc/next/infer/IR/QualifiedCppName/index.html b/website/static/odoc/next/infer/IR/QualifiedCppName/index.html index a989f60815a..09ca16019de 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)

    Module IR.QualifiedCppName

    exception ParseError of string
    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
    include Sexplib0.Sexpable.S with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val hash_normalize : t -> t
    val hash_normalize_opt : t option -> t option
    val hash_normalize_list : t list -> t list
    val empty : t

    empty qualified name

    val of_qual_string : string -> t

    attempts to parse the argument into a list::of::possibly::templated<T>::qualifiers

    val to_qual_string : t -> string

    returns qualified name as a string with "::" as a separator between qualifiers

    val append_qualifier : t -> qual:string -> t

    append qualifier to the end (innermost scope) of the qualified name

    val extract_last : t -> (string * t) option

    returns last (innermost scope) qualifier and qualified name without last qualifier

    val strip_template_args : t -> t

    returns qualified name without template arguments. For example:

    • input: std::shared_ptr<int>::shared_ptr<long>
    • output: std::shared_ptr::shared_ptr
    val compare_name : t -> t -> int

    similar to compare, but compares only names, except template arguments

    val append_template_args_to_last : t -> args:string -> t

    append template arguments to the last qualifier. Fails if qualified name is empty or it already has template args

    val to_list : t -> string list

    returns list of qualifiers

    val to_rev_list : t -> string list

    returns reversed list of qualifiers, ie innermost scope is the first element

    val of_list : string list -> t

    given list of qualifiers in normal order produce qualified name "std", "move"

    val of_rev_list : string list -> t

    given reversed list of qualifiers, produce qualified name (ie. "move", "std" for std::move )

    val from_field_qualified_name : t -> t
    val pp : Stdlib.Format.formatter -> t -> unit
    module Match : sig ... end

    Module to match qualified C++ procnames "fuzzily", that is up to namescapes and templating. In particular, this deals with the following issues:

    +QualifiedCppName (infer.IR.QualifiedCppName)

    Module IR.QualifiedCppName

    exception ParseError of string
    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
    include Sexplib0.Sexpable.S with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val hash_normalize : t -> t
    val hash_normalize_opt : t option -> t option
    val hash_normalize_list : t list -> t list
    val empty : t

    empty qualified name

    val of_qual_string : string -> t

    attempts to parse the argument into a list::of::possibly::templated<T>::qualifiers

    val to_qual_string : t -> string

    returns qualified name as a string with "::" as a separator between qualifiers

    val append_qualifier : t -> qual:string -> t

    append qualifier to the end (innermost scope) of the qualified name

    val extract_last : t -> (string * t) option

    returns last (innermost scope) qualifier and qualified name without last qualifier

    val compare_name : t -> t -> int

    similar to compare, but compares only names, except template arguments

    val append_template_args_to_last : t -> args:string -> t

    append template arguments to the last qualifier. Fails if qualified name is empty or it already has template args

    val to_list : t -> string list

    returns list of qualifiers

    val to_rev_list : t -> string list

    returns reversed list of qualifiers, ie innermost scope is the first element

    val of_list : string list -> t

    given list of qualifiers in normal order produce qualified name "std", "move"

    val of_rev_list : string list -> t

    given reversed list of qualifiers, produce qualified name (ie. "move", "std" for std::move )

    val from_field_qualified_name : t -> t
    val pp : Stdlib.Format.formatter -> t -> unit
    module Match : sig ... end

    Module to match qualified C++ procnames "fuzzily", that is up to namescapes and templating. In particular, this deals with the following issues:

    diff --git a/website/static/odoc/next/infer/IR/Tenv/index.html b/website/static/odoc/next/infer/IR/Tenv/index.html index 1df274fabf4..3d21a1c3131 100644 --- a/website/static/odoc/next/infer/IR/Tenv/index.html +++ b/website/static/odoc/next/infer/IR/Tenv/index.html @@ -1,5 +1,5 @@ -Tenv (infer.IR.Tenv)

    Module IR.Tenv

    Module for Type Environments.

    type t

    Type for type environment.

    val create : unit -> t

    Create a new type environment.

    val load : IBase.SourceFile.t -> t option

    Load a type environment for a source file

    • alert tenv Analysis code should use [Exe_env.get_source_tenv] instead.
    val store_debug_file_for_source : IBase.SourceFile.t -> t -> unit
    val read : IBase.DB.filename -> t option

    Read and return a type environment from the given file

    val write : t -> IBase.DB.filename -> unit

    Write the type environment into the given file

    val load_global : unit -> t option

    Load the global type environment (Java)

    val store_global : normalize:bool -> t -> unit

    Save a global type environment (Java/Hack)

    val lookup : t -> Typ.Name.t -> Struct.t option

    Look up a name in the given type environment.

    val mk_struct : +Tenv (infer.IR.Tenv)

    Module IR.Tenv

    Module for Type Environments.

    type t

    Type for type environment.

    val create : unit -> t

    Create a new type environment.

    val length : t -> int
    val load : IBase.SourceFile.t -> t option

    Load a type environment for a source file

    • alert tenv Analysis code should use [Exe_env.get_source_tenv] instead.
    val store_debug_file_for_source : IBase.SourceFile.t -> t -> unit
    val read : IBase.DB.filename -> t option

    Read and return a type environment from the given file

    val write : t -> IBase.DB.filename -> unit

    Write the type environment into the given file

    val read_global : unit -> t option

    Load (without caching) the global type environment

    val force_load_global : unit -> t option

    Load and cache the global type environment

    val load_global : unit -> t option

    Load and cache the global type environment if not already loaded

    val store_global : normalize:bool -> t -> unit

    Save and cache the global type environment

    val lookup : t -> Typ.Name.t -> Struct.t option

    Look up a name in the given type environment.

    val mk_struct : t -> ?default:Struct.t -> ?fields:Struct.field list -> diff --git a/website/static/odoc/next/infer/IR/Var/index.html b/website/static/odoc/next/infer/IR/Var/index.html index 29095c15633..fd9a786e57f 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)

    Module IR.Var

    Single abstraction for all the kinds of variables in SIL

    type t = private
    1. | LogicalVar of Ident.t
    2. | ProgramVar of Pvar.t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
    include Sexplib0.Sexpable.S with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val hash_normalize : t -> t
    val hash_normalize_opt : t option -> t option
    val hash_normalize_list : t list -> t list
    val compare_modulo_this : t -> t -> int
    val of_id : Ident.t -> t
    val of_pvar : Pvar.t -> t
    val of_formal_index : int -> t

    Create a variable representing the ith formal of the current procedure

    val get_all_vars_in_exp : Exp.t -> t IStdlib.IStd.Sequence.t

    Get all free and program vars

    val to_exp : t -> Exp.t
    val get_ident : t -> Ident.t option
    val get_pvar : t -> Pvar.t option
    val is_pvar : t -> bool
    val is_global : t -> bool
    val is_return : t -> bool
    val is_footprint : t -> bool
    val is_none : t -> bool
    val is_this : t -> bool
    val is_artificial : t -> bool
    val appears_in_source_code : t -> bool

    return true if this variable appears in source code (i.e., is not a LogicalVar or a frontend-generated ProgramVar)

    val is_cpp_temporary : t -> bool
    val is_cpp_unnamed_param : t -> bool
    val get_footprint_index : t -> int option
    val pp : Stdlib.Format.formatter -> t -> unit
    module Map : IStdlib.PrettyPrintable.PPMap with type key = t
    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    +Var (infer.IR.Var)

    Module IR.Var

    Single abstraction for all the kinds of variables in SIL

    type t = private
    1. | LogicalVar of Ident.t
    2. | ProgramVar of Pvar.t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
    include Sexplib0.Sexpable.S with type t := t
    val t_of_sexp : Sexplib0__.Sexp.t -> t
    val sexp_of_t : t -> Sexplib0__.Sexp.t
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val hash_normalize : t -> t
    val hash_normalize_opt : t option -> t option
    val hash_normalize_list : t list -> t list
    val compare_modulo_this : t -> t -> int
    val of_id : Ident.t -> t
    val of_pvar : Pvar.t -> t

    Create a variable representing the ith formal of the current procedure

    val get_all_vars_in_exp : Exp.t -> t IStdlib.IStd.Sequence.t

    Get all free and program vars

    val to_exp : t -> Exp.t
    val get_ident : t -> Ident.t option
    val get_pvar : t -> Pvar.t option
    val is_pvar : t -> bool
    val is_global : t -> bool
    val is_return : t -> bool
    val is_none : t -> bool
    val is_this : t -> bool
    val is_artificial : t -> bool
    val appears_in_source_code : t -> bool

    return true if this variable appears in source code (i.e., is not a LogicalVar or a frontend-generated ProgramVar)

    val is_cpp_temporary : t -> bool
    val is_cpp_unnamed_param : t -> bool
    val get_footprint_index : t -> int option
    val pp : Stdlib.Format.formatter -> t -> unit
    module Map : IStdlib.PrettyPrintable.PPMap with type key = t
    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    diff --git a/website/static/odoc/next/infer/Integration/DatalogFacts/index.html b/website/static/odoc/next/infer/Integration/DatalogFacts/index.html deleted file mode 100644 index 24a447477f6..00000000000 --- a/website/static/odoc/next/infer/Integration/DatalogFacts/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -DatalogFacts (infer.Integration.DatalogFacts)

    Module Integration.DatalogFacts

    val create_from_json : datalog_dir:string -> report_json:string -> unit

    Produce .facts files in a subdirectory. Facts can be used as input for Soufflé.

    diff --git a/website/static/odoc/next/infer/Integration/Driver/index.html b/website/static/odoc/next/infer/Integration/Driver/index.html index a6107232d24..2eb4f7b3dd0 100644 --- a/website/static/odoc/next/infer/Integration/Driver/index.html +++ b/website/static/odoc/next/infer/Integration/Driver/index.html @@ -1,5 +1,2 @@ -Driver (infer.Integration.Driver)

    Module Integration.Driver

    entry points for top-level functionalities such as capture under various build systems, analysis, and reporting

    type mode =
    1. | Analyze
    2. | Ant of {
      1. prog : string;
      2. args : string list;
      }
    3. | BuckClangFlavor of {
      1. build_cmd : string list;
      }
    4. | BuckCompilationDB of {
      1. deps : IBase.BuckMode.clang_compilation_db_deps;
      2. prog : string;
      3. args : string list;
      }
    5. | BuckErlang of {
      1. prog : string;
      2. args : string list;
      }
    6. | BuckGenrule of {
      1. prog : string;
      }
    7. | BuckJavaFlavor of {
      1. build_cmd : string list;
      }
    8. | BxlClang of {
      1. build_cmd : string list;
      }
    9. | BxlJava of {
      1. build_cmd : string list;
      }
    10. | Clang of {
      1. compiler : Clang.compiler;
      2. prog : string;
      3. args : string list;
      }
    11. | ClangCompilationDB of {
      1. db_files : [ `Escaped of string | `Raw of string ] list;
      }
    12. | Gradle of {
      1. prog : string;
      2. args : string list;
      }
    13. | Javac of {
      1. compiler : Javac.compiler;
      2. prog : string;
      3. args : string list;
      }
    14. | Kotlinc of {
      1. prog : string;
      2. args : string list;
      }
    15. | JsonSIL of {
      1. cfg_json : string;
      2. tenv_json : string;
      }
    16. | Maven of {
      1. prog : string;
      2. args : string list;
      }
    17. | NdkBuild of {
      1. build_cmd : string list;
      }
    18. | Python of {
      1. prog : string;
      2. args : string list;
      }
    19. | PythonBytecode of {
      1. files : string list;
      }
    20. | Rebar3 of {
      1. args : string list;
      }
    21. | Erlc of {
      1. args : string list;
      }
    22. | Hackc of {
      1. prog : string;
      2. args : string list;
      }
    23. | Textual of {
      1. textualfiles : string list;
      }
    24. | XcodeBuild of {
      1. prog : string;
      2. args : string list;
      }
    25. | XcodeXcpretty of {
      1. prog : string;
      2. args : string list;
      }

    based on the build_system and options passed to infer, we run in different driver modes

    val is_analyze_mode : mode -> bool
    val is_compatible_with_textual_generation : mode -> bool
    val mode_from_command_line : mode IStdlib.IStd.Lazy.t

    driver mode computed from the command-line arguments and settings in Config

    val run_prologue : mode -> unit

    prepare the environment for running the given mode

    val capture : changed_files:IBase.SourceFile.Set.t option -> mode -> unit

    run the capture for the given mode

    val analyze_and_report : - changed_files:IBase.SourceFile.Set.t option -> - mode -> - unit

    run the analysis for the given mode

    val report : unit -> unit
    val run_epilogue : unit -> unit

    cleanup infer-out/ for Buck, generate stats, and generally post-process the results of a run

    +Driver (infer.Integration.Driver)

    Module Integration.Driver

    entry points for top-level functionalities such as capture under various build systems, analysis, and reporting

    type mode =
    1. | Analyze
    2. | Ant of {
      1. prog : string;
      2. args : string list;
      }
    3. | BuckClangFlavor of {
      1. build_cmd : string list;
      }
    4. | BuckCompilationDB of {
      1. deps : IBase.BuckMode.clang_compilation_db_deps;
      2. prog : string;
      3. args : string list;
      }
    5. | BuckErlang of {
      1. prog : string;
      2. args : string list;
      }
    6. | BuckGenrule of {
      1. prog : string;
      }
    7. | BuckJavaFlavor of {
      1. build_cmd : string list;
      }
    8. | BxlClang of {
      1. build_cmd : string list;
      }
    9. | BxlJava of {
      1. build_cmd : string list;
      }
    10. | Clang of {
      1. compiler : Clang.compiler;
      2. prog : string;
      3. args : string list;
      }
    11. | ClangCompilationDB of {
      1. db_files : [ `Escaped of string | `Raw of string ] list;
      }
    12. | Erlc of {
      1. args : string list;
      }
    13. | Gradle of {
      1. prog : string;
      2. args : string list;
      }
    14. | Hackc of {
      1. prog : string;
      2. args : string list;
      }
    15. | Javac of {
      1. compiler : Javac.compiler;
      2. prog : string;
      3. args : string list;
      }
    16. | JsonSIL of {
      1. cfg_json : string;
      2. tenv_json : string;
      }
    17. | Kotlinc of {
      1. prog : string;
      2. args : string list;
      }
    18. | Maven of {
      1. prog : string;
      2. args : string list;
      }
    19. | NdkBuild of {
      1. build_cmd : string list;
      }
    20. | Python of {
      1. prog : string;
      2. args : string list;
      }
    21. | PythonBytecode of {
      1. files : string list;
      }
    22. | Rebar3 of {
      1. args : string list;
      }
    23. | Textual of {
      1. textualfiles : string list;
      }
    24. | XcodeBuild of {
      1. prog : string;
      2. args : string list;
      }
    25. | XcodeXcpretty of {
      1. prog : string;
      2. args : string list;
      }

    based on the build_system and options passed to infer, we run in different driver modes

    val is_analyze_mode : mode -> bool
    val mode_from_command_line : mode IStdlib.IStd.Lazy.t

    driver mode computed from the command-line arguments and settings in Config

    val report : unit -> unit
    val run : mode -> unit
    diff --git a/website/static/odoc/next/infer/Integration/index.html b/website/static/odoc/next/infer/Integration/index.html index 72c54af753b..64615a97244 100644 --- a/website/static/odoc/next/infer/Integration/index.html +++ b/website/static/odoc/next/infer/Integration/index.html @@ -1,2 +1,2 @@ -Integration (infer.Integration)

    Module Integration

    module Ant : sig ... end
    module Buck : sig ... end
    module BuckBuildReport : sig ... end
    module BuckFlavors : sig ... end
    module BuckJavaFlavor : sig ... end
    module BxlCapture : sig ... end
    module CaptureCompilationDatabase : sig ... end
    module CaptureManipulation : sig ... end
    module CaptureSILJson : sig ... end

    Capture module for the json analysis in the capture phase

    module Clang : sig ... end
    module CompilationDatabase : sig ... end
    module ConfigImpactIssuesTest : sig ... end
    module ConfigImpactPostProcess : sig ... end
    module CostIssuesTest : sig ... end
    module DatalogFacts : sig ... end
    module Differential : sig ... end
    module DifferentialFilters : sig ... end
    module Driver : sig ... end

    entry points for top-level functionalities such as capture under various build systems, analysis, and reporting

    module Erlang : sig ... end
    module Gradle : sig ... end
    module Hack : sig ... end
    module Help : sig ... end
    module InferCommandImplementation : sig ... end

    implementations of infer commands

    module IssuesTest : sig ... end
    module Javac : sig ... end
    module JsonReports : sig ... end
    module Kotlinc : sig ... end
    module Maven : sig ... end
    module MergeCapture : sig ... end
    module NdkBuild : sig ... end
    module Python : sig ... end
    module ReportDataFlows : sig ... end
    module ReportDiff : sig ... end
    module ReportLineage : sig ... end
    module SarifReport : sig ... end
    module StatsDiff : sig ... end
    module TextReport : sig ... end
    module TraceBugs : sig ... end
    module XMLReport : sig ... end
    module XcodeBuild : sig ... end
    +Integration (infer.Integration)

    Module Integration

    module Ant : sig ... end
    module Buck : sig ... end
    module BuckBuildReport : sig ... end
    module BuckFlavors : sig ... end
    module BuckJavaFlavor : sig ... end
    module BxlCapture : sig ... end
    module CaptureCompilationDatabase : sig ... end
    module CaptureManipulation : sig ... end
    module CaptureSILJson : sig ... end

    Capture module for the json analysis in the capture phase

    module Clang : sig ... end
    module CompilationDatabase : sig ... end
    module ConfigImpactIssuesTest : sig ... end
    module ConfigImpactPostProcess : sig ... end
    module CostIssuesTest : sig ... end
    module Differential : sig ... end
    module DifferentialFilters : sig ... end
    module Driver : sig ... end

    entry points for top-level functionalities such as capture under various build systems, analysis, and reporting

    module Erlang : sig ... end
    module Gradle : sig ... end
    module Hack : sig ... end
    module Help : sig ... end
    module InferCommandImplementation : sig ... end

    implementations of infer commands

    module IssuesTest : sig ... end
    module Javac : sig ... end
    module JsonReports : sig ... end
    module Kotlinc : sig ... end
    module Maven : sig ... end
    module MergeCapture : sig ... end
    module NdkBuild : sig ... end
    module Python : sig ... end
    module ReportDataFlows : sig ... end
    module ReportDiff : sig ... end
    module ReportLineage : sig ... end
    module SarifReport : sig ... end
    module StatsDiff : sig ... end
    module TextReport : sig ... end
    module TraceBugs : sig ... end
    module XMLReport : sig ... end
    module XcodeBuild : sig ... end
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/AddressAttributes/index.html b/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/AddressAttributes/index.html index 0ff9cc210f9..f6e3d2df77e 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/AddressAttributes/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/AddressAttributes/index.html @@ -63,7 +63,17 @@ t
    val java_resource_release : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> - t
    val hack_async_await : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
    val is_java_resource_released : + t
    val hack_async_await : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
    val remove_hack_builder : + Pulselib.PulseBasicInterface.AbstractValue.t -> + t -> + t
    val is_java_resource_released : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> bool
    val csharp_resource_release : diff --git a/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/CanonValue/Attributes/index.html b/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/CanonValue/Attributes/index.html index 4a665c3300d..56b952621d4 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/CanonValue/Attributes/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/CanonValue/Attributes/index.html @@ -7,7 +7,14 @@ t -> IBase.Location.t -> t -> - t
    val always_reachable : t -> t -> t
    val java_resource_release : t -> t -> t
    val hack_async_await : t -> t -> t
    val csharp_resource_release : t -> t -> t
    val in_reported_retain_cycle : t -> t -> t
    val fold : + t
    val always_reachable : t -> t -> t
    val java_resource_release : t -> t -> t
    val hack_async_await : t -> t -> t
    val remove_hack_builder : t -> t -> t
    val set_hack_builder : + t -> + Pulselib.PulseBasicInterface.Attribute.Builder.t -> + t -> + t
    val get_hack_builder : + t -> + t -> + Pulselib.PulseBasicInterface.Attribute.Builder.t option
    val csharp_resource_release : t -> t -> t
    val in_reported_retain_cycle : t -> t -> t
    val fold : (t -> Pulselib.PulseBasicInterface.Attributes.t -> 'a -> 'a) -> t -> 'a -> diff --git a/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/Summary/index.html b/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/Summary/index.html index cbfd117f52b..c957456f9dc 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/Summary/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAbductiveDomain/Summary/index.html @@ -16,6 +16,12 @@ * IBase.Location.t | `HackUnawaitedAwaitable of summary * t * Pulselib.PulseBasicInterface.Trace.t * IBase.Location.t + | `HackUnfinishedBuilder of + summary + * t + * Pulselib.PulseBasicInterface.Trace.t + * IBase.Location.t + * IR.HackClassName.t | `CSharpResourceLeak of summary * t diff --git a/website/static/odoc/next/infer/Pulselib/PulseAccessResult/index.html b/website/static/odoc/next/infer/Pulselib/PulseAccessResult/index.html index f82351ecca5..901215a7bca 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAccessResult/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAccessResult/index.html @@ -39,6 +39,12 @@ * AbductiveDomain.t * Pulselib.PulseBasicInterface.Trace.t * IBase.Location.t + | `HackUnfinishedBuilder of + AbductiveDomain.Summary.t + * AbductiveDomain.t + * Pulselib.PulseBasicInterface.Trace.t + * IBase.Location.t + * IR.HackClassName.t | `CSharpResourceLeak of AbductiveDomain.Summary.t * AbductiveDomain.t diff --git a/website/static/odoc/next/infer/Pulselib/PulseAttribute/Attributes/index.html b/website/static/odoc/next/infer/Pulselib/PulseAttribute/Attributes/index.html index c01760cc381..7c43b1312af 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAttribute/Attributes/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAttribute/Attributes/index.html @@ -9,7 +9,7 @@ t -> (IR.Procname.t * IBase.Location.t * Trace.t) option
    val get_copied_into : t -> CopiedInto.t option
    val get_copied_return : t -> - (AbstractValue.t * bool * CopyOrigin.t * IBase.Location.t) option
    val remove_copied_return : t -> t
    val get_source_origin_of_copy : t -> (PulseAbstractValue.t * bool) option
    val get_allocation : t -> (allocator * Trace.t) option
    val remove_allocation : t -> t
    val get_unknown_effect : t -> (CallEvent.t * ValueHistory.t) option
    val remove_dict_contain_const_keys : t -> t
    val is_dict_contain_const_keys : t -> bool
    val get_dict_read_const_keys : t -> ConstKeys.t option
    val get_static_type : t -> IR.Typ.Name.t option
    val is_java_resource_released : t -> bool
    val is_csharp_resource_released : t -> bool
    val is_end_of_collection : t -> bool
    val get_invalid : t -> (Invalidation.t * Trace.t) option
    val get_tainted : t -> TaintedSet.t
    val remove_tainted : t -> t
    val remove_must_not_be_tainted : ?kinds:TaintConfig.Kind.Set.t -> t -> t
    val get_propagate_taint_from : + (AbstractValue.t * bool * CopyOrigin.t * IBase.Location.t) option
    val remove_copied_return : t -> t
    val get_source_origin_of_copy : t -> (PulseAbstractValue.t * bool) option
    val get_allocation : t -> (allocator * Trace.t) option
    val remove_allocation : t -> t
    val get_unknown_effect : t -> (CallEvent.t * ValueHistory.t) option
    val remove_dict_contain_const_keys : t -> t
    val is_dict_contain_const_keys : t -> bool
    val get_dict_read_const_keys : t -> ConstKeys.t option
    val get_static_type : t -> IR.Typ.Name.t option
    val is_java_resource_released : t -> bool
    val get_hack_builder : t -> Builder.t option
    val remove_hack_builder : t -> t
    val is_hack_builder_discardable : t -> bool
    val is_csharp_resource_released : t -> bool
    val is_end_of_collection : t -> bool
    val get_invalid : t -> (Invalidation.t * Trace.t) option
    val get_tainted : t -> TaintedSet.t
    val remove_tainted : t -> t
    val remove_must_not_be_tainted : ?kinds:TaintConfig.Kind.Set.t -> t -> t
    val get_propagate_taint_from : t -> (taint_propagation_reason * taint_in list) option
    val remove_propagate_taint_from : t -> t
    val get_returned_from_unknown : t -> AbstractValue.t list option
    val get_taint_sanitized : t -> TaintSanitizedSet.t
    val remove_taint_sanitized : t -> t
    val get_must_be_valid : t -> diff --git a/website/static/odoc/next/infer/Pulselib/PulseAttribute/index.html b/website/static/odoc/next/infer/Pulselib/PulseAttribute/index.html index ffbeb39f03d..44d3d117b9c 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseAttribute/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseAttribute/index.html @@ -1,10 +1,10 @@ -PulseAttribute (infer.Pulselib.PulseAttribute)

    Module Pulselib.PulseAttribute

    module F = Stdlib.Format
    module AbstractValue = PulseAbstractValue
    module CallEvent = PulseCallEvent
    module ConfigName = OpenSource.FbPulseConfigName
    module DecompilerExpr = PulseDecompilerExpr
    module Invalidation = PulseInvalidation
    module TaintItem = PulseTaintItem
    module TaintConfig = PulseTaintConfig
    module Timestamp = PulseTimestamp
    module Trace = PulseTrace
    module ValueHistory = PulseValueHistory
    type allocator =
    1. | CMalloc
    2. | CustomMalloc of IR.Procname.t
    3. | CRealloc
    4. | CustomRealloc of IR.Procname.t
    5. | CppNew
    6. | CppNewArray
    7. | JavaResource of IR.JavaClassName.t
    8. | CSharpResource of IR.CSharpClassName.t
    9. | ObjCAlloc
    10. | HackAsync
    val equal_allocator : allocator -> allocator -> bool
    val pp_allocator : F.formatter -> allocator -> unit
    type taint_in = {
    1. v : AbstractValue.t;
    2. history : ValueHistory.t;
    }

    Describes the source of taint in taint propagation.

    NOTE: history is ignored in equality and comparison.

    val compare_taint_in : taint_in -> taint_in -> int
    val equal_taint_in : taint_in -> taint_in -> bool
    module Tainted : sig ... end
    module TaintSink : sig ... end
    module TaintSinkMap : +PulseAttribute (infer.Pulselib.PulseAttribute)

    Module Pulselib.PulseAttribute

    module F = Stdlib.Format
    module AbstractValue = PulseAbstractValue
    module CallEvent = PulseCallEvent
    module ConfigName = OpenSource.FbPulseConfigName
    module DecompilerExpr = PulseDecompilerExpr
    module Invalidation = PulseInvalidation
    module TaintItem = PulseTaintItem
    module TaintConfig = PulseTaintConfig
    module Timestamp = PulseTimestamp
    module Trace = PulseTrace
    module ValueHistory = PulseValueHistory
    type allocator =
    1. | CMalloc
    2. | CustomMalloc of IR.Procname.t
    3. | CRealloc
    4. | CustomRealloc of IR.Procname.t
    5. | CppNew
    6. | CppNewArray
    7. | JavaResource of IR.JavaClassName.t
    8. | CSharpResource of IR.CSharpClassName.t
    9. | ObjCAlloc
    10. | HackAsync
    11. | HackBuilderResource of IR.HackClassName.t
    val equal_allocator : allocator -> allocator -> bool
    val pp_allocator : F.formatter -> allocator -> unit
    type taint_in = {
    1. v : AbstractValue.t;
    2. history : ValueHistory.t;
    }

    Describes the source of taint in taint propagation.

    NOTE: history is ignored in equality and comparison.

    val compare_taint_in : taint_in -> taint_in -> int
    val equal_taint_in : taint_in -> taint_in -> bool
    module Tainted : sig ... end
    module TaintSink : sig ... end
    module TaintSanitized : sig ... end
    type taint_propagation_reason =
    1. | InternalModel
    2. | UnknownCall
    3. | UserConfig
    val pp_taint_propagation_reason : F.formatter -> taint_propagation_reason -> - unit
    module CopyOrigin : sig ... end
    module CopiedInto : sig ... end
    module ConfigUsage : sig ... end
    module UninitializedTyp : sig ... end
    module ConstKeys : sig ... end
    type t =
    1. | AddressOfCppTemporary of IR.Var.t * ValueHistory.t
    2. | AddressOfStackVariable of IR.Var.t * IBase.Location.t * ValueHistory.t
    3. | Allocated of allocator * Trace.t
    4. | AlwaysReachable
    5. | Closure of IR.Procname.t
    6. | ConfigUsage of ConfigUsage.t
    7. | CopiedInto of CopiedInto.t
      (*

      records the copied var/field for each source address

      *)
    8. | CopiedReturn of {
      1. source : AbstractValue.t;
      2. is_const_ref : bool;
      3. from : CopyOrigin.t;
      4. copied_location : IBase.Location.t;
      }
      (*

      records the copied value for the return address

      *)
    9. | DictContainConstKeys
      (*

      the dictionary contains only constant keys (note: only string constant is supported for now)

      *)
    10. | DictReadConstKeys of ConstKeys.t
      (*

      constant string keys that are read from the dictionary

      *)
    11. | EndOfCollection
    12. | InReportedRetainCycle
    13. | Initialized
    14. | Invalid of Invalidation.t * Trace.t
    15. | LastLookup of AbstractValue.t
    16. | MustBeInitialized of Timestamp.t * Trace.t
    17. | MustBeValid of Timestamp.t * Trace.t * Invalidation.must_be_valid_reason option
    18. | MustNotBeTainted of TaintSink.t TaintSinkMap.t
    19. | JavaResourceReleased
    20. | CSharpResourceReleased
    21. | HackAsyncAwaited
    22. | PropagateTaintFrom of taint_propagation_reason * taint_in list
    23. | ReturnedFromUnknown of AbstractValue.t list
    24. | SourceOriginOfCopy of {
      1. source : PulseAbstractValue.t;
      2. is_const_ref : bool;
      }
      (*

      records the source value for a given copy to lookup the appropriate heap in non-disj domain

      *)
    25. | StaticType of IR.Typ.Name.t
      (*

      type gotten or inferred from types in SIL instructions (only for Hack frontend)

      *)
    26. | StdMoved
    27. | StdVectorReserve
    28. | Tainted of TaintedSet.t
    29. | TaintSanitized of TaintSanitizedSet.t
    30. | Uninitialized of UninitializedTyp.t
    31. | UnknownEffect of CallEvent.t * ValueHistory.t
      (*

      generated by calls to unknown functions to remember that a pointer has been passed to an unknown function and so everything reachable from it has potentially been affected in unknown ways

      *)
    32. | UnreachableAt of IBase.Location.t
      (*

      temporary marker to remember where a variable became unreachable; helps with accurately reporting leaks

      *)
    33. | UsedAsBranchCond of IR.Procname.t * IBase.Location.t * Trace.t
    34. | WrittenTo of Timestamp.t * Trace.t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val pp : F.formatter -> t -> unit
    val filter_unreachable : + unit
    module CopyOrigin : sig ... end
    module CopiedInto : sig ... end
    module ConfigUsage : sig ... end
    module Builder : sig ... end
    module UninitializedTyp : sig ... end
    module ConstKeys : sig ... end
    type t =
    1. | AddressOfCppTemporary of IR.Var.t * ValueHistory.t
    2. | AddressOfStackVariable of IR.Var.t * IBase.Location.t * ValueHistory.t
    3. | Allocated of allocator * Trace.t
    4. | AlwaysReachable
    5. | Closure of IR.Procname.t
    6. | ConfigUsage of ConfigUsage.t
    7. | CopiedInto of CopiedInto.t
      (*

      records the copied var/field for each source address

      *)
    8. | CopiedReturn of {
      1. source : AbstractValue.t;
      2. is_const_ref : bool;
      3. from : CopyOrigin.t;
      4. copied_location : IBase.Location.t;
      }
      (*

      records the copied value for the return address

      *)
    9. | DictContainConstKeys
      (*

      the dictionary contains only constant keys (note: only string constant is supported for now)

      *)
    10. | DictReadConstKeys of ConstKeys.t
      (*

      constant string keys that are read from the dictionary

      *)
    11. | EndOfCollection
    12. | HackBuilder of Builder.t
    13. | InReportedRetainCycle
    14. | Initialized
    15. | Invalid of Invalidation.t * Trace.t
    16. | LastLookup of AbstractValue.t
    17. | MustBeInitialized of Timestamp.t * Trace.t
    18. | MustBeValid of Timestamp.t * Trace.t * Invalidation.must_be_valid_reason option
    19. | MustNotBeTainted of TaintSink.t TaintSinkMap.t
    20. | JavaResourceReleased
    21. | CSharpResourceReleased
    22. | HackAsyncAwaited
    23. | PropagateTaintFrom of taint_propagation_reason * taint_in list
    24. | ReturnedFromUnknown of AbstractValue.t list
    25. | SourceOriginOfCopy of {
      1. source : PulseAbstractValue.t;
      2. is_const_ref : bool;
      }
      (*

      records the source value for a given copy to lookup the appropriate heap in non-disj domain

      *)
    26. | StaticType of IR.Typ.Name.t
      (*

      type gotten or inferred from types in SIL instructions (only for Hack frontend)

      *)
    27. | StdMoved
    28. | StdVectorReserve
    29. | Tainted of TaintedSet.t
    30. | TaintSanitized of TaintSanitizedSet.t
    31. | Uninitialized of UninitializedTyp.t
    32. | UnknownEffect of CallEvent.t * ValueHistory.t
      (*

      generated by calls to unknown functions to remember that a pointer has been passed to an unknown function and so everything reachable from it has potentially been affected in unknown ways

      *)
    33. | UnreachableAt of IBase.Location.t
      (*

      temporary marker to remember where a variable became unreachable; helps with accurately reporting leaks

      *)
    34. | UsedAsBranchCond of IR.Procname.t * IBase.Location.t * Trace.t
    35. | WrittenTo of Timestamp.t * Trace.t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val pp : F.formatter -> t -> unit
    val filter_unreachable : AbstractValue.Set.t AbstractValue.Map.t -> (AbstractValue.t -> bool) -> t -> diff --git a/website/static/odoc/next/infer/Pulselib/PulseBaseAddressAttributes/index.html b/website/static/odoc/next/infer/Pulselib/PulseBaseAddressAttributes/index.html index 6dd058064ab..50b58ac008c 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseBaseAddressAttributes/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseBaseAddressAttributes/index.html @@ -26,7 +26,17 @@ t
    val always_reachable : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
    val java_resource_release : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> - t
    val hack_async_await : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
    val csharp_resource_release : + t
    val hack_async_await : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
    val remove_hack_builder : + Pulselib.PulseBasicInterface.AbstractValue.t -> + t -> + t
    val csharp_resource_release : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
    val in_reported_retain_cycle : diff --git a/website/static/odoc/next/infer/Pulselib/PulseBaseAddressAttributes/module-type-S/index.html b/website/static/odoc/next/infer/Pulselib/PulseBaseAddressAttributes/module-type-S/index.html index 0721202856e..929e32fcbdc 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseBaseAddressAttributes/module-type-S/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseBaseAddressAttributes/module-type-S/index.html @@ -10,7 +10,14 @@ key -> IBase.Location.t -> t -> - t
    val always_reachable : key -> t -> t
    val java_resource_release : key -> t -> t
    val hack_async_await : key -> t -> t
    val csharp_resource_release : key -> t -> t
    val in_reported_retain_cycle : key -> t -> t
    val fold : + t
    val always_reachable : key -> t -> t
    val java_resource_release : key -> t -> t
    val hack_async_await : key -> t -> t
    val remove_hack_builder : key -> t -> t
    val set_hack_builder : + key -> + Pulselib.PulseBasicInterface.Attribute.Builder.t -> + t -> + t
    val get_hack_builder : + key -> + t -> + Pulselib.PulseBasicInterface.Attribute.Builder.t option
    val csharp_resource_release : key -> t -> t
    val in_reported_retain_cycle : key -> t -> t
    val fold : (key -> Pulselib.PulseBasicInterface.Attributes.t -> 'a -> 'a) -> t -> 'a -> diff --git a/website/static/odoc/next/infer/Pulselib/PulseCanonValue/Make/Attributes/index.html b/website/static/odoc/next/infer/Pulselib/PulseCanonValue/Make/Attributes/index.html index ade2ca4e298..d2feb531e4b 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseCanonValue/Make/Attributes/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseCanonValue/Make/Attributes/index.html @@ -7,7 +7,14 @@ t -> IBase.Location.t -> t -> - t
    val always_reachable : t -> t -> t
    val java_resource_release : t -> t -> t
    val hack_async_await : t -> t -> t
    val csharp_resource_release : t -> t -> t
    val in_reported_retain_cycle : t -> t -> t
    val fold : + t
    val always_reachable : t -> t -> t
    val java_resource_release : t -> t -> t
    val hack_async_await : t -> t -> t
    val remove_hack_builder : t -> t -> t
    val set_hack_builder : + t -> + Pulselib.PulseBasicInterface.Attribute.Builder.t -> + t -> + t
    val get_hack_builder : + t -> + t -> + Pulselib.PulseBasicInterface.Attribute.Builder.t option
    val csharp_resource_release : t -> t -> t
    val in_reported_retain_cycle : t -> t -> t
    val fold : (t -> Pulselib.PulseBasicInterface.Attributes.t -> 'a -> 'a) -> t -> 'a -> diff --git a/website/static/odoc/next/infer/Pulselib/PulseCanonValue/module-type-S/Attributes/index.html b/website/static/odoc/next/infer/Pulselib/PulseCanonValue/module-type-S/Attributes/index.html index ea7650924b2..cb406593a89 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseCanonValue/module-type-S/Attributes/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseCanonValue/module-type-S/Attributes/index.html @@ -7,7 +7,14 @@ t -> IBase.Location.t -> t -> - t
    val always_reachable : t -> t -> t
    val java_resource_release : t -> t -> t
    val hack_async_await : t -> t -> t
    val csharp_resource_release : t -> t -> t
    val in_reported_retain_cycle : t -> t -> t
    val fold : + t
    val always_reachable : t -> t -> t
    val java_resource_release : t -> t -> t
    val hack_async_await : t -> t -> t
    val remove_hack_builder : t -> t -> t
    val set_hack_builder : + t -> + Pulselib.PulseBasicInterface.Attribute.Builder.t -> + t -> + t
    val get_hack_builder : + t -> + t -> + Pulselib.PulseBasicInterface.Attribute.Builder.t option
    val csharp_resource_release : t -> t -> t
    val in_reported_retain_cycle : t -> t -> t
    val fold : (t -> Pulselib.PulseBasicInterface.Attributes.t -> 'a -> 'a) -> t -> 'a -> diff --git a/website/static/odoc/next/infer/Pulselib/PulseDiagnostic/index.html b/website/static/odoc/next/infer/Pulselib/PulseDiagnostic/index.html index 4e896cc90a3..f3de5db6cf6 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseDiagnostic/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseDiagnostic/index.html @@ -7,4 +7,4 @@ access_to_invalid_address -> bool
    val yojson_of_access_to_invalid_address : access_to_invalid_address -> - Ppx_yojson_conv_lib.Yojson.Safe.t
    module ErlangError : sig ... end
    module ReadUninitialized : sig ... end
    type flow_kind =
    1. | TaintedFlow
    2. | FlowToSink
    3. | FlowFromSource
    val equal_flow_kind : flow_kind -> flow_kind -> bool
    type retain_cycle_data = {
    1. expr : DecompilerExpr.t;
    2. location : IBase.Location.t option;
    3. trace : Trace.t option;
    }
    val equal_retain_cycle_data : retain_cycle_data -> retain_cycle_data -> bool
    type t =
    1. | AccessToInvalidAddress of access_to_invalid_address
    2. | ConfigUsage of {
      1. pname : IR.Procname.t;
      2. config : ConfigName.t;
      3. branch_location : IBase.Location.t;
      4. location : IBase.Location.t;
      5. trace : Trace.t;
      }
    3. | ConstRefableParameter of {
      1. param : IR.Var.t;
      2. typ : IR.Typ.t;
      3. location : IBase.Location.t;
      }
    4. | CSharpResourceLeak of {
      1. class_name : IR.CSharpClassName.t;
      2. allocation_trace : Trace.t;
      3. location : IBase.Location.t;
      }
    5. | DynamicTypeMismatch of {
      1. location : IBase.Location.t;
      }
    6. | ErlangError of ErlangError.t
    7. | TransitiveAccess of {
      1. tag : string;
      2. description : string;
      3. call_trace : Trace.t;
      4. transitive_callees : TransitiveInfo.Callees.t;
      5. transitive_missed_captures : IR.Typ.Name.Set.t;
      }
    8. | JavaResourceLeak of {
      1. class_name : IR.JavaClassName.t;
      2. allocation_trace : Trace.t;
      3. location : IBase.Location.t;
      }
    9. | HackCannotInstantiateAbstractClass of {
      1. type_name : IR.Typ.Name.t;
      2. trace : Trace.t;
      }
    10. | HackUnawaitedAwaitable of {
      1. allocation_trace : Trace.t;
      2. location : IBase.Location.t;
      }
    11. | MemoryLeak of {
      1. allocator : Attribute.allocator;
      2. allocation_trace : Trace.t;
      3. location : IBase.Location.t;
      }
    12. | MutualRecursionCycle of {
      1. cycle : PulseMutualRecursion.t;
      2. location : IBase.Location.t;
      }
    13. | ReadonlySharedPtrParameter of {
      1. param : IR.Var.t;
      2. typ : IR.Typ.t;
      3. location : IBase.Location.t;
      4. used_locations : IBase.Location.t list;
      }
    14. | ReadUninitialized of ReadUninitialized.t
    15. | RetainCycle of {
      1. values : retain_cycle_data list;
      2. location : IBase.Location.t;
      3. unknown_access_type : bool;
      }
    16. | StackVariableAddressEscape of {
      1. variable : IR.Var.t;
      2. history : ValueHistory.t;
      3. location : IBase.Location.t;
      }
    17. | TaintFlow of {
      1. expr : DecompilerExpr.t;
      2. source : TaintItem.t * ValueHistory.t;
      3. sink : TaintItem.t * Trace.t;
      4. location : IBase.Location.t;
      5. flow_kind : flow_kind;
      6. policy_description : string;
      7. policy_id : int;
      8. policy_privacy_effect : string option;
      }
    18. | UnnecessaryCopy of {
      1. copied_into : PulseAttribute.CopiedInto.t;
      2. source_typ : IR.Typ.t option;
      3. source_opt : DecompilerExpr.source_expr option;
      4. location : IBase.Location.t;
      5. copied_location : (IR.Procname.t * IBase.Location.t) option;
      6. location_instantiated : IBase.Location.t option;
      7. from : PulseAttribute.CopyOrigin.t;
      }

    an error to report to the user

    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val pp : F.formatter -> t -> unit
    val aborts_execution : t -> bool

    whether the presence of an error should abort the execution

    val get_message_and_suggestion : t -> string * string option
    val get_location : t -> IBase.Location.t
    val get_location_instantiated : t -> IBase.Location.t option
    val get_copy_type : t -> IR.Typ.t option
    val get_issue_type : latent:bool -> t -> IBase.IssueType.t
    val get_trace : t -> Absint.Errlog.loc_trace
    + Ppx_yojson_conv_lib.Yojson.Safe.t
    module ErlangError : sig ... end
    module ReadUninitialized : sig ... end
    type flow_kind =
    1. | TaintedFlow
    2. | FlowToSink
    3. | FlowFromSource
    val equal_flow_kind : flow_kind -> flow_kind -> bool
    type retain_cycle_data = {
    1. expr : DecompilerExpr.t;
    2. location : IBase.Location.t option;
    3. trace : Trace.t option;
    }
    val equal_retain_cycle_data : retain_cycle_data -> retain_cycle_data -> bool
    type t =
    1. | AccessToInvalidAddress of access_to_invalid_address
    2. | ConfigUsage of {
      1. pname : IR.Procname.t;
      2. config : ConfigName.t;
      3. branch_location : IBase.Location.t;
      4. location : IBase.Location.t;
      5. trace : Trace.t;
      }
    3. | ConstRefableParameter of {
      1. param : IR.Var.t;
      2. typ : IR.Typ.t;
      3. location : IBase.Location.t;
      }
    4. | CSharpResourceLeak of {
      1. class_name : IR.CSharpClassName.t;
      2. allocation_trace : Trace.t;
      3. location : IBase.Location.t;
      }
    5. | DynamicTypeMismatch of {
      1. location : IBase.Location.t;
      }
    6. | ErlangError of ErlangError.t
    7. | TransitiveAccess of {
      1. tag : string;
      2. description : string;
      3. call_trace : Trace.t;
      4. transitive_callees : TransitiveInfo.Callees.t;
      5. transitive_missed_captures : IR.Typ.Name.Set.t;
      }
    8. | JavaResourceLeak of {
      1. class_name : IR.JavaClassName.t;
      2. allocation_trace : Trace.t;
      3. location : IBase.Location.t;
      }
    9. | HackCannotInstantiateAbstractClass of {
      1. type_name : IR.Typ.Name.t;
      2. trace : Trace.t;
      }
    10. | HackUnawaitedAwaitable of {
      1. allocation_trace : Trace.t;
      2. location : IBase.Location.t;
      }
    11. | HackUnfinishedBuilder of {
      1. builder_type : IR.HackClassName.t;
      2. allocation_trace : Trace.t;
      3. location : IBase.Location.t;
      }
    12. | MemoryLeak of {
      1. allocator : Attribute.allocator;
      2. allocation_trace : Trace.t;
      3. location : IBase.Location.t;
      }
    13. | MutualRecursionCycle of {
      1. cycle : PulseMutualRecursion.t;
      2. location : IBase.Location.t;
      }
    14. | ReadonlySharedPtrParameter of {
      1. param : IR.Var.t;
      2. typ : IR.Typ.t;
      3. location : IBase.Location.t;
      4. used_locations : IBase.Location.t list;
      }
    15. | ReadUninitialized of ReadUninitialized.t
    16. | RetainCycle of {
      1. values : retain_cycle_data list;
      2. location : IBase.Location.t;
      3. unknown_access_type : bool;
      }
    17. | StackVariableAddressEscape of {
      1. variable : IR.Var.t;
      2. history : ValueHistory.t;
      3. location : IBase.Location.t;
      }
    18. | TaintFlow of {
      1. expr : DecompilerExpr.t;
      2. source : TaintItem.t * ValueHistory.t;
      3. sink : TaintItem.t * Trace.t;
      4. location : IBase.Location.t;
      5. flow_kind : flow_kind;
      6. policy_description : string;
      7. policy_id : int;
      8. policy_privacy_effect : string option;
      }
    19. | UnnecessaryCopy of {
      1. copied_into : PulseAttribute.CopiedInto.t;
      2. source_typ : IR.Typ.t option;
      3. source_opt : DecompilerExpr.source_expr option;
      4. location : IBase.Location.t;
      5. copied_location : (IR.Procname.t * IBase.Location.t) option;
      6. location_instantiated : IBase.Location.t option;
      7. from : PulseAttribute.CopyOrigin.t;
      }

    an error to report to the user

    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val pp : F.formatter -> t -> unit
    val aborts_execution : t -> bool

    whether the presence of an error should abort the execution

    val get_message_and_suggestion : t -> string * string option
    val get_location : t -> IBase.Location.t
    val get_location_instantiated : t -> IBase.Location.t option
    val get_copy_type : t -> IR.Typ.t option
    val get_issue_type : latent:bool -> t -> IBase.IssueType.t
    val get_trace : t -> Absint.Errlog.loc_trace
    diff --git a/website/static/odoc/next/infer/Pulselib/PulseFormula/index.html b/website/static/odoc/next/infer/Pulselib/PulseFormula/index.html index 7503a73071c..0ea032ac443 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseFormula/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseFormula/index.html @@ -42,7 +42,7 @@ operand -> operand -> t -> - (t * new_eqs) SatUnsat.t

    Operations

    val normalize : ?location:IBase.Location.t -> t -> (t * new_eqs) SatUnsat.t

    think a bit harder about the formula

    val simplify : + (t * new_eqs) SatUnsat.t

    Operations

    val simplify : precondition_vocabulary:Var.Set.t -> keep:Var.Set.t -> t -> diff --git a/website/static/odoc/next/infer/Pulselib/PulseModelsDSL/Syntax/index.html b/website/static/odoc/next/infer/Pulselib/PulseModelsDSL/Syntax/index.html index 005bd68d046..b1cfc39e089 100644 --- a/website/static/odoc/next/infer/Pulselib/PulseModelsDSL/Syntax/index.html +++ b/website/static/odoc/next/infer/Pulselib/PulseModelsDSL/Syntax/index.html @@ -44,7 +44,7 @@ aval model_monad
    val get_dynamic_type : ask_specialization:bool -> aval -> - Pulselib.PulseBasicInterface.Formula.dynamic_type_data option model_monad
    val new_ : IR.Exp.t -> aval model_monad
    val constructor : IR.Typ.Name.t -> (string * aval) list -> aval model_monad

    constructor_dsl typ_name fields builds a fresh object of type typ_name and initializes its fields using list fields

    val get_const_string : aval -> string option model_monad
    val mk_fresh : model_desc:string -> ?more:string -> unit -> aval model_monad
    val write_field : ref:aval -> obj:aval -> IR.Fieldname.t -> unit model_monad
    val new_ : IR.Exp.t -> aval model_monad
    val constructor : IR.Typ.Name.t -> (string * aval) list -> aval model_monad

    constructor_dsl typ_name fields builds a fresh object of type typ_name and initializes its fields using list fields

    val remove_hack_builder_attributes : aval -> unit model_monad
    val get_const_string : aval -> string option model_monad
    val mk_fresh : model_desc:string -> ?more:string -> unit -> aval model_monad
    val write_field : ref:aval -> obj:aval -> IR.Fieldname.t -> unit model_monad
    val write_deref_field : ref:aval -> obj:aval -> IR.Fieldname.t -> diff --git a/website/static/odoc/next/infer/Quandary/ClangTaintAnalysis/index.html b/website/static/odoc/next/infer/Quandary/ClangTaintAnalysis/index.html deleted file mode 100644 index 334b0d87cb9..00000000000 --- a/website/static/odoc/next/infer/Quandary/ClangTaintAnalysis/index.html +++ /dev/null @@ -1,4 +0,0 @@ - -ClangTaintAnalysis (infer.Quandary.ClangTaintAnalysis)

    Module Quandary.ClangTaintAnalysis

    diff --git a/website/static/odoc/next/infer/Quandary/ClangTrace/Sanitizer/index.html b/website/static/odoc/next/infer/Quandary/ClangTrace/Sanitizer/index.html deleted file mode 100644 index ef1bba65c1c..00000000000 --- a/website/static/odoc/next/infer/Quandary/ClangTrace/Sanitizer/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sanitizer (infer.Quandary.ClangTrace.Sanitizer)

    Module ClangTrace.Sanitizer

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val get : IR.Procname.t -> IR.Tenv.t -> t option

    Get the sanitizer that should be applied to the return value of given procedure, if any

    val pp : Absint.Sanitizer.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/ClangTrace/Sink/Kind/index.html b/website/static/odoc/next/infer/Quandary/ClangTrace/Sink/Kind/index.html deleted file mode 100644 index 44baca45d79..00000000000 --- a/website/static/odoc/next/infer/Quandary/ClangTrace/Sink/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (infer.Quandary.ClangTrace.Sink.Kind)

    Module Sink.Kind

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val matches : caller:t -> callee:t -> bool

    Return true if the caller element kind matches the callee element kind. Used during trace expansion; we will only consider expanding the trace from caller into callee if this evaluates to true. This can normally just be equal, but something fuzzier may be required if t is a type that contains identifiers from the caller/callee

    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/ClangTrace/Sink/Set/index.html b/website/static/odoc/next/infer/Quandary/ClangTrace/Sink/Set/index.html deleted file mode 100644 index f2ef4e406e1..00000000000 --- a/website/static/odoc/next/infer/Quandary/ClangTrace/Sink/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.Quandary.ClangTrace.Sink.Set)

    Module Sink.Set

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

    Module ClangTrace.Sink

    include Absint.TaintTraceElem.S
    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val call_site : t -> Absint.CallSite.t
    val kind : t -> Kind.t
    val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> Absint.CallSite.t -> t
    val with_callsite : t -> Absint.CallSite.t -> t
    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    val get : - Absint.CallSite.t -> - Absint.HilExp.t list -> - IR.CallFlags.t -> - IR.Tenv.t -> - t list

    return Some sink if the given call site/actuals are a sink, None otherwise

    val indexes : t -> IStdlib.IntSet.t

    return the indexes where taint can flow into the sink

    val with_indexes : t -> IStdlib.IntSet.t -> t
    diff --git a/website/static/odoc/next/infer/Quandary/ClangTrace/Source/Kind/index.html b/website/static/odoc/next/infer/Quandary/ClangTrace/Source/Kind/index.html deleted file mode 100644 index c9b9b73053b..00000000000 --- a/website/static/odoc/next/infer/Quandary/ClangTrace/Source/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (infer.Quandary.ClangTrace.Source.Kind)

    Module Source.Kind

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val matches : caller:t -> callee:t -> bool

    Return true if the caller element kind matches the callee element kind. Used during trace expansion; we will only consider expanding the trace from caller into callee if this evaluates to true. This can normally just be equal, but something fuzzier may be required if t is a type that contains identifiers from the caller/callee

    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/ClangTrace/Source/Set/index.html b/website/static/odoc/next/infer/Quandary/ClangTrace/Source/Set/index.html deleted file mode 100644 index f02e9c852d8..00000000000 --- a/website/static/odoc/next/infer/Quandary/ClangTrace/Source/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.Quandary.ClangTrace.Source.Set)

    Module Source.Set

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

    Module ClangTrace.Source

    include Absint.TaintTraceElem.S
    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val call_site : t -> Absint.CallSite.t
    val kind : t -> Kind.t
    val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> Absint.CallSite.t -> t
    val with_callsite : t -> Absint.CallSite.t -> t
    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    type spec = {
    1. source : t;
      (*

      type of the returned source

      *)
    2. index : int option;
      (*

      index of the returned source if Some; return value if None

      *)
    }
    val get : - caller_pname:IR.Procname.t -> - Absint.CallSite.t -> - Absint.HilExp.t list -> - IR.Tenv.t -> - spec list

    return Some (taint spec) if the call site with the given actuals is a taint source, None otherwise

    val get_tainted_formals : - IR.Procdesc.t -> - IR.Tenv.t -> - (IR.Mangled.t * IR.Typ.t * t option) list

    return each formal of the function paired with either Some(source) if the formal is a taint source, or None if the formal is not a taint source

    diff --git a/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Footprint/AccessMap/index.html b/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Footprint/AccessMap/index.html deleted file mode 100644 index 6d16097fe4c..00000000000 --- a/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Footprint/AccessMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -AccessMap (infer.Quandary.ClangTrace.Sources.Footprint.AccessMap)

    Module Footprint.AccessMap

    type !'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Footprint/TraceDomain/index.html b/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Footprint/TraceDomain/index.html deleted file mode 100644 index 8d220e2817c..00000000000 --- a/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Footprint/TraceDomain/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TraceDomain (infer.Quandary.ClangTrace.Sources.Footprint.TraceDomain)

    Module Footprint.TraceDomain

    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Footprint/index.html b/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Footprint/index.html deleted file mode 100644 index e3e9e3a048c..00000000000 --- a/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Footprint/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Footprint (infer.Quandary.ClangTrace.Sources.Footprint)

    Module Sources.Footprint

    Set of access paths representing the sources that may flow in from the caller

    module TraceDomain : sig ... end
    module AccessMap : sig ... end
    module BaseMap = Absint.AccessPath.BaseMap
    type node = TraceDomain.t * tree
    and tree =
    1. | Subtree of node AccessMap.t
    2. | Star
    type t = node BaseMap.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    val empty_node : node
    val make_node : TraceDomain.t -> node AccessMap.t -> node
    val make_access_node : - TraceDomain.t -> - Absint.AccessPath.access -> - TraceDomain.t -> - node
    val make_normal_leaf : TraceDomain.t -> node
    val make_starred_leaf : TraceDomain.t -> node
    val get_node : Absint.AccessPath.Abs.t -> t -> node option
    val get_trace : Absint.AccessPath.Abs.t -> t -> TraceDomain.t option
    val add_node : Absint.AccessPath.Abs.t -> node -> t -> t
    val add_trace : Absint.AccessPath.Abs.t -> TraceDomain.t -> t -> t
    val node_join : node -> node -> node
    val fold : ('a -> Absint.AccessPath.Abs.t -> node -> 'a) -> t -> 'a -> 'a
    val trace_fold : - ('a -> Absint.AccessPath.Abs.t -> TraceDomain.t -> 'a) -> - t -> - 'a -> - 'a
    val exists : (Absint.AccessPath.Abs.t -> node -> bool) -> t -> bool
    val iter : (Absint.AccessPath.Abs.t -> node -> unit) -> t -> unit
    val depth : t -> int
    val pp_node : Stdlib.Format.formatter -> node -> unit
    val mem : Absint.AccessPath.Abs.t -> t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/FootprintConfig/index.html b/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/FootprintConfig/index.html deleted file mode 100644 index deed73aa726..00000000000 --- a/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/FootprintConfig/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -FootprintConfig (infer.Quandary.ClangTrace.Sources.FootprintConfig)

    Module Sources.FootprintConfig

    val max_depth : int
    val max_width : int
    diff --git a/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Known/index.html b/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Known/index.html deleted file mode 100644 index 5f89786b01f..00000000000 --- a/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Known/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Known (infer.Quandary.ClangTrace.Sources.Known)

    Module Sources.Known

    Set of sources returned by callees of the current function

    type elt = Source.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Sanitizers/index.html b/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Sanitizers/index.html deleted file mode 100644 index 4d3bbf28883..00000000000 --- a/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/Sanitizers/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sanitizers (infer.Quandary.ClangTrace.Sources.Sanitizers)

    Module Sources.Sanitizers

    Set of sanitizers that have been applied to these sources

    type elt = Sanitizer.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/index.html b/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/index.html deleted file mode 100644 index 071bdf3f644..00000000000 --- a/website/static/odoc/next/infer/Quandary/ClangTrace/Sources/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sources (infer.Quandary.ClangTrace.Sources)

    Module ClangTrace.Sources

    module Known : sig ... end

    Set of sources returned by callees of the current function

    module Footprint : sig ... end

    Set of access paths representing the sources that may flow in from the caller

    module Sanitizers : sig ... end

    Set of sanitizers that have been applied to these sources

    type t = {
    1. known : Known.t;
    2. footprint : Footprint.t;
    3. sanitizers : Sanitizers.t;
    }
    val empty : t
    val is_empty : t -> bool
    val of_source : Source.t -> t
    val of_footprint : Absint.AccessPath.Abs.t -> t
    val add : Source.t -> t -> t
    val get_footprint_indexes : t -> IStdlib.IntSet.t
    diff --git a/website/static/odoc/next/infer/Quandary/ClangTrace/index.html b/website/static/odoc/next/infer/Quandary/ClangTrace/index.html deleted file mode 100644 index 203980c1ae7..00000000000 --- a/website/static/odoc/next/infer/Quandary/ClangTrace/index.html +++ /dev/null @@ -1,19 +0,0 @@ - -ClangTrace (infer.Quandary.ClangTrace)

    Module Quandary.ClangTrace

    include Absint.TaintTrace.S
    include Absint.TaintTrace.Spec
    val get_report : - Source.t -> - Sink.t -> - Sanitizer.t list -> - IBase.IssueType.t option

    return Some(issue) a trace from source to sink passing through the given sanitizers should be reported, None otherwise

    bottom = this trace has no source or sink data

    include Absint.AbstractDomain.WithBottom
    include Absint.AbstractDomain.S
    include Absint.AbstractDomain.Comparable
    val leq : lhs:t -> rhs:t -> bool

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

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

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    module Sources : sig ... end
    module Sinks = Sink.Set
    module Passthroughs = Absint.Passthrough.Set
    type path = - Passthroughs.t - * (Source.t * Passthroughs.t) list - * (Sink.t * Passthroughs.t) list

    path from a source to a sink with passthroughs at each step in the call stack. the first set of passthroughs are the ones in the "reporting" procedure that calls the first function in both the source and sink stack

    type report = {
    1. issue : IBase.IssueType.t;
    2. path_source : Source.t;
    3. path_sink : Sink.t;
    4. path_passthroughs : Passthroughs.t;
    }
    val sources : t -> Sources.t

    get the sources of the trace.

    val sinks : t -> Sinks.t

    get the sinks of the trace

    val passthroughs : t -> Passthroughs.t

    get the passthroughs of the trace

    val get_reports : ?cur_site:Absint.CallSite.t -> t -> report list

    get the reportable source-sink flows in this trace. specifying cur_site restricts the reported paths to ones introduced by the call at cur_site

    val get_reportable_paths : - ?cur_site:Absint.CallSite.t -> - t -> - trace_of_pname:(IR.Procname.t -> t) -> - path list

    get a path for each of the reportable source -> sink flows in this trace. specifying cur_site restricts the reported paths to ones introduced by the call at cur_site

    val to_loc_trace : - ?desc_of_source:(Source.t -> string) -> - ?source_should_nest:(Source.t -> bool) -> - ?desc_of_sink:(Sink.t -> string) -> - ?sink_should_nest:(Sink.t -> bool) -> - path -> - Absint.Errlog.loc_trace

    create a loc_trace from a path; source_should_nest s should be true when we are going one deeper into a call-chain, ie when lt_level should be bumper in the next loc_trace_elem, and similarly for sink_should_nest

    val of_source : Source.t -> t

    create a trace from a source

    val of_footprint : Absint.AccessPath.Abs.t -> t

    create a trace from a footprint access path

    val add_source : Source.t -> t -> t

    add a source to the current trace

    val add_sink : Sink.t -> t -> t

    add a sink to the current trace.

    val add_sanitizer : Sanitizer.t -> t -> t

    add a sanitizer to the current trace

    val update_sources : t -> Sources.t -> t
    val update_sinks : t -> Sinks.t -> t

    replace sinks with new ones

    val get_footprint_indexes : t -> IStdlib.IntSet.t

    get the footprint indexes for all of the sources in the trace

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

    append the trace for given call site to the current caller trace

    val pp : Absint.TaintTrace.F.formatter -> t -> unit
    val pp_path : IR.Procname.t -> Absint.TaintTrace.F.formatter -> path -> unit

    pretty-print a path in the context of the given procname

    diff --git a/website/static/odoc/next/infer/Quandary/JavaTaintAnalysis/index.html b/website/static/odoc/next/infer/Quandary/JavaTaintAnalysis/index.html deleted file mode 100644 index 299c97c964f..00000000000 --- a/website/static/odoc/next/infer/Quandary/JavaTaintAnalysis/index.html +++ /dev/null @@ -1,4 +0,0 @@ - -JavaTaintAnalysis (infer.Quandary.JavaTaintAnalysis)

    Module Quandary.JavaTaintAnalysis

    diff --git a/website/static/odoc/next/infer/Quandary/JavaTrace/Sanitizer/index.html b/website/static/odoc/next/infer/Quandary/JavaTrace/Sanitizer/index.html deleted file mode 100644 index afbc8b0f85e..00000000000 --- a/website/static/odoc/next/infer/Quandary/JavaTrace/Sanitizer/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sanitizer (infer.Quandary.JavaTrace.Sanitizer)

    Module JavaTrace.Sanitizer

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val get : IR.Procname.t -> IR.Tenv.t -> t option

    Get the sanitizer that should be applied to the return value of given procedure, if any

    val pp : Absint.Sanitizer.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/JavaTrace/Sink/Kind/index.html b/website/static/odoc/next/infer/Quandary/JavaTrace/Sink/Kind/index.html deleted file mode 100644 index 7872e735fba..00000000000 --- a/website/static/odoc/next/infer/Quandary/JavaTrace/Sink/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (infer.Quandary.JavaTrace.Sink.Kind)

    Module Sink.Kind

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val matches : caller:t -> callee:t -> bool

    Return true if the caller element kind matches the callee element kind. Used during trace expansion; we will only consider expanding the trace from caller into callee if this evaluates to true. This can normally just be equal, but something fuzzier may be required if t is a type that contains identifiers from the caller/callee

    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/JavaTrace/Sink/Set/index.html b/website/static/odoc/next/infer/Quandary/JavaTrace/Sink/Set/index.html deleted file mode 100644 index d822b8e9040..00000000000 --- a/website/static/odoc/next/infer/Quandary/JavaTrace/Sink/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.Quandary.JavaTrace.Sink.Set)

    Module Sink.Set

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

    Module JavaTrace.Sink

    include Absint.TaintTraceElem.S
    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val call_site : t -> Absint.CallSite.t
    val kind : t -> Kind.t
    val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> Absint.CallSite.t -> t
    val with_callsite : t -> Absint.CallSite.t -> t
    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    val get : - Absint.CallSite.t -> - Absint.HilExp.t list -> - IR.CallFlags.t -> - IR.Tenv.t -> - t list

    return Some sink if the given call site/actuals are a sink, None otherwise

    val indexes : t -> IStdlib.IntSet.t

    return the indexes where taint can flow into the sink

    val with_indexes : t -> IStdlib.IntSet.t -> t
    diff --git a/website/static/odoc/next/infer/Quandary/JavaTrace/Source/Kind/index.html b/website/static/odoc/next/infer/Quandary/JavaTrace/Source/Kind/index.html deleted file mode 100644 index 4d847cefeb5..00000000000 --- a/website/static/odoc/next/infer/Quandary/JavaTrace/Source/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (infer.Quandary.JavaTrace.Source.Kind)

    Module Source.Kind

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val matches : caller:t -> callee:t -> bool

    Return true if the caller element kind matches the callee element kind. Used during trace expansion; we will only consider expanding the trace from caller into callee if this evaluates to true. This can normally just be equal, but something fuzzier may be required if t is a type that contains identifiers from the caller/callee

    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/JavaTrace/Source/Set/index.html b/website/static/odoc/next/infer/Quandary/JavaTrace/Source/Set/index.html deleted file mode 100644 index a9b9a74c828..00000000000 --- a/website/static/odoc/next/infer/Quandary/JavaTrace/Source/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.Quandary.JavaTrace.Source.Set)

    Module Source.Set

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

    Module JavaTrace.Source

    include Absint.TaintTraceElem.S
    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val call_site : t -> Absint.CallSite.t
    val kind : t -> Kind.t
    val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> Absint.CallSite.t -> t
    val with_callsite : t -> Absint.CallSite.t -> t
    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    type spec = {
    1. source : t;
      (*

      type of the returned source

      *)
    2. index : int option;
      (*

      index of the returned source if Some; return value if None

      *)
    }
    val get : - caller_pname:IR.Procname.t -> - Absint.CallSite.t -> - Absint.HilExp.t list -> - IR.Tenv.t -> - spec list

    return Some (taint spec) if the call site with the given actuals is a taint source, None otherwise

    val get_tainted_formals : - IR.Procdesc.t -> - IR.Tenv.t -> - (IR.Mangled.t * IR.Typ.t * t option) list

    return each formal of the function paired with either Some(source) if the formal is a taint source, or None if the formal is not a taint source

    diff --git a/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Footprint/AccessMap/index.html b/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Footprint/AccessMap/index.html deleted file mode 100644 index 93dcdd4e7c2..00000000000 --- a/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Footprint/AccessMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -AccessMap (infer.Quandary.JavaTrace.Sources.Footprint.AccessMap)

    Module Footprint.AccessMap

    type !'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Footprint/TraceDomain/index.html b/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Footprint/TraceDomain/index.html deleted file mode 100644 index 68014348ddc..00000000000 --- a/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Footprint/TraceDomain/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TraceDomain (infer.Quandary.JavaTrace.Sources.Footprint.TraceDomain)

    Module Footprint.TraceDomain

    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Footprint/index.html b/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Footprint/index.html deleted file mode 100644 index 618597440d9..00000000000 --- a/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Footprint/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Footprint (infer.Quandary.JavaTrace.Sources.Footprint)

    Module Sources.Footprint

    Set of access paths representing the sources that may flow in from the caller

    module TraceDomain : sig ... end
    module AccessMap : sig ... end
    module BaseMap = Absint.AccessPath.BaseMap
    type node = TraceDomain.t * tree
    and tree =
    1. | Subtree of node AccessMap.t
    2. | Star
    type t = node BaseMap.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    val empty_node : node
    val make_node : TraceDomain.t -> node AccessMap.t -> node
    val make_access_node : - TraceDomain.t -> - Absint.AccessPath.access -> - TraceDomain.t -> - node
    val make_normal_leaf : TraceDomain.t -> node
    val make_starred_leaf : TraceDomain.t -> node
    val get_node : Absint.AccessPath.Abs.t -> t -> node option
    val get_trace : Absint.AccessPath.Abs.t -> t -> TraceDomain.t option
    val add_node : Absint.AccessPath.Abs.t -> node -> t -> t
    val add_trace : Absint.AccessPath.Abs.t -> TraceDomain.t -> t -> t
    val node_join : node -> node -> node
    val fold : ('a -> Absint.AccessPath.Abs.t -> node -> 'a) -> t -> 'a -> 'a
    val trace_fold : - ('a -> Absint.AccessPath.Abs.t -> TraceDomain.t -> 'a) -> - t -> - 'a -> - 'a
    val exists : (Absint.AccessPath.Abs.t -> node -> bool) -> t -> bool
    val iter : (Absint.AccessPath.Abs.t -> node -> unit) -> t -> unit
    val depth : t -> int
    val pp_node : Stdlib.Format.formatter -> node -> unit
    val mem : Absint.AccessPath.Abs.t -> t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/FootprintConfig/index.html b/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/FootprintConfig/index.html deleted file mode 100644 index def1ff00c6e..00000000000 --- a/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/FootprintConfig/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -FootprintConfig (infer.Quandary.JavaTrace.Sources.FootprintConfig)

    Module Sources.FootprintConfig

    val max_depth : int
    val max_width : int
    diff --git a/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Known/index.html b/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Known/index.html deleted file mode 100644 index 5fb54b404aa..00000000000 --- a/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Known/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Known (infer.Quandary.JavaTrace.Sources.Known)

    Module Sources.Known

    Set of sources returned by callees of the current function

    type elt = Source.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Sanitizers/index.html b/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Sanitizers/index.html deleted file mode 100644 index 91cbf2779e8..00000000000 --- a/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/Sanitizers/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sanitizers (infer.Quandary.JavaTrace.Sources.Sanitizers)

    Module Sources.Sanitizers

    Set of sanitizers that have been applied to these sources

    type elt = Sanitizer.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/index.html b/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/index.html deleted file mode 100644 index a5ceebbeb58..00000000000 --- a/website/static/odoc/next/infer/Quandary/JavaTrace/Sources/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sources (infer.Quandary.JavaTrace.Sources)

    Module JavaTrace.Sources

    module Known : sig ... end

    Set of sources returned by callees of the current function

    module Footprint : sig ... end

    Set of access paths representing the sources that may flow in from the caller

    module Sanitizers : sig ... end

    Set of sanitizers that have been applied to these sources

    type t = {
    1. known : Known.t;
    2. footprint : Footprint.t;
    3. sanitizers : Sanitizers.t;
    }
    val empty : t
    val is_empty : t -> bool
    val of_source : Source.t -> t
    val of_footprint : Absint.AccessPath.Abs.t -> t
    val add : Source.t -> t -> t
    val get_footprint_indexes : t -> IStdlib.IntSet.t
    diff --git a/website/static/odoc/next/infer/Quandary/JavaTrace/index.html b/website/static/odoc/next/infer/Quandary/JavaTrace/index.html deleted file mode 100644 index 8871e1d1780..00000000000 --- a/website/static/odoc/next/infer/Quandary/JavaTrace/index.html +++ /dev/null @@ -1,19 +0,0 @@ - -JavaTrace (infer.Quandary.JavaTrace)

    Module Quandary.JavaTrace

    include Absint.TaintTrace.S
    include Absint.TaintTrace.Spec
    val get_report : - Source.t -> - Sink.t -> - Sanitizer.t list -> - IBase.IssueType.t option

    return Some(issue) a trace from source to sink passing through the given sanitizers should be reported, None otherwise

    bottom = this trace has no source or sink data

    include Absint.AbstractDomain.WithBottom
    include Absint.AbstractDomain.S
    include Absint.AbstractDomain.Comparable
    val leq : lhs:t -> rhs:t -> bool

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

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

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    module Sources : sig ... end
    module Sinks = Sink.Set
    module Passthroughs = Absint.Passthrough.Set
    type path = - Passthroughs.t - * (Source.t * Passthroughs.t) list - * (Sink.t * Passthroughs.t) list

    path from a source to a sink with passthroughs at each step in the call stack. the first set of passthroughs are the ones in the "reporting" procedure that calls the first function in both the source and sink stack

    type report = {
    1. issue : IBase.IssueType.t;
    2. path_source : Source.t;
    3. path_sink : Sink.t;
    4. path_passthroughs : Passthroughs.t;
    }
    val sources : t -> Sources.t

    get the sources of the trace.

    val sinks : t -> Sinks.t

    get the sinks of the trace

    val passthroughs : t -> Passthroughs.t

    get the passthroughs of the trace

    val get_reports : ?cur_site:Absint.CallSite.t -> t -> report list

    get the reportable source-sink flows in this trace. specifying cur_site restricts the reported paths to ones introduced by the call at cur_site

    val get_reportable_paths : - ?cur_site:Absint.CallSite.t -> - t -> - trace_of_pname:(IR.Procname.t -> t) -> - path list

    get a path for each of the reportable source -> sink flows in this trace. specifying cur_site restricts the reported paths to ones introduced by the call at cur_site

    val to_loc_trace : - ?desc_of_source:(Source.t -> string) -> - ?source_should_nest:(Source.t -> bool) -> - ?desc_of_sink:(Sink.t -> string) -> - ?sink_should_nest:(Sink.t -> bool) -> - path -> - Absint.Errlog.loc_trace

    create a loc_trace from a path; source_should_nest s should be true when we are going one deeper into a call-chain, ie when lt_level should be bumper in the next loc_trace_elem, and similarly for sink_should_nest

    val of_source : Source.t -> t

    create a trace from a source

    val of_footprint : Absint.AccessPath.Abs.t -> t

    create a trace from a footprint access path

    val add_source : Source.t -> t -> t

    add a source to the current trace

    val add_sink : Sink.t -> t -> t

    add a sink to the current trace.

    val add_sanitizer : Sanitizer.t -> t -> t

    add a sanitizer to the current trace

    val update_sources : t -> Sources.t -> t
    val update_sinks : t -> Sinks.t -> t

    replace sinks with new ones

    val get_footprint_indexes : t -> IStdlib.IntSet.t

    get the footprint indexes for all of the sources in the trace

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

    append the trace for given call site to the current caller trace

    val pp : Absint.TaintTrace.F.formatter -> t -> unit
    val pp_path : IR.Procname.t -> Absint.TaintTrace.F.formatter -> path -> unit

    pretty-print a path in the context of the given procname

    diff --git a/website/static/odoc/next/infer/Quandary/QuandaryConfig/Sanitizer/index.html b/website/static/odoc/next/infer/Quandary/QuandaryConfig/Sanitizer/index.html deleted file mode 100644 index 2dca7b70c9e..00000000000 --- a/website/static/odoc/next/infer/Quandary/QuandaryConfig/Sanitizer/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sanitizer (infer.Quandary.QuandaryConfig.Sanitizer)

    Module QuandaryConfig.Sanitizer

    type t = {
    1. procedure : string;
    2. kind : string;
    }
    val of_json : [> `List of Yojson.Safe.t list ] -> t list
    diff --git a/website/static/odoc/next/infer/Quandary/QuandaryConfig/Sink/index.html b/website/static/odoc/next/infer/Quandary/QuandaryConfig/Sink/index.html deleted file mode 100644 index 2d677ca5244..00000000000 --- a/website/static/odoc/next/infer/Quandary/QuandaryConfig/Sink/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sink (infer.Quandary.QuandaryConfig.Sink)

    Module QuandaryConfig.Sink

    type t = {
    1. procedure : string;
    2. kinds : string list;
    3. index : string;
    }
    val of_json : [> `List of Yojson.Safe.t list ] -> t list
    diff --git a/website/static/odoc/next/infer/Quandary/QuandaryConfig/Source/index.html b/website/static/odoc/next/infer/Quandary/QuandaryConfig/Source/index.html deleted file mode 100644 index 7852047205c..00000000000 --- a/website/static/odoc/next/infer/Quandary/QuandaryConfig/Source/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Source (infer.Quandary.QuandaryConfig.Source)

    Module QuandaryConfig.Source

    type t = {
    1. procedure : string;
    2. kinds : string list;
    3. index : string;
    }
    val of_json : [> `List of Yojson.Safe.t list ] -> t list
    diff --git a/website/static/odoc/next/infer/Quandary/QuandaryConfig/index.html b/website/static/odoc/next/infer/Quandary/QuandaryConfig/index.html deleted file mode 100644 index 01c31399078..00000000000 --- a/website/static/odoc/next/infer/Quandary/QuandaryConfig/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -QuandaryConfig (infer.Quandary.QuandaryConfig)

    Module Quandary.QuandaryConfig

    utilities for importing JSON specifications of sources/sinks into Quandary

    module Source : sig ... end
    module Sink : sig ... end
    module Sanitizer : sig ... end
    val is_endpoint : string -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/QuandarySummary/AccessTree/index.html b/website/static/odoc/next/infer/Quandary/QuandarySummary/AccessTree/index.html deleted file mode 100644 index 3c26981675f..00000000000 --- a/website/static/odoc/next/infer/Quandary/QuandarySummary/AccessTree/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -AccessTree (infer.Quandary.QuandarySummary.AccessTree)

    Module QuandarySummary.AccessTree

    type t =
    1. | Java of Java.t
    2. | Clang of Clang.t
    diff --git a/website/static/odoc/next/infer/Quandary/QuandarySummary/Clang/AccessMap/index.html b/website/static/odoc/next/infer/Quandary/QuandarySummary/Clang/AccessMap/index.html deleted file mode 100644 index ef104ecdf87..00000000000 --- a/website/static/odoc/next/infer/Quandary/QuandarySummary/Clang/AccessMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -AccessMap (infer.Quandary.QuandarySummary.Clang.AccessMap)

    Module Clang.AccessMap

    type !'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/Quandary/QuandarySummary/Clang/TraceDomain/index.html b/website/static/odoc/next/infer/Quandary/QuandarySummary/Clang/TraceDomain/index.html deleted file mode 100644 index c819f5ae899..00000000000 --- a/website/static/odoc/next/infer/Quandary/QuandarySummary/Clang/TraceDomain/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TraceDomain (infer.Quandary.QuandarySummary.Clang.TraceDomain)

    Module Clang.TraceDomain

    type t = ClangTrace.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/QuandarySummary/Clang/index.html b/website/static/odoc/next/infer/Quandary/QuandarySummary/Clang/index.html deleted file mode 100644 index 08b7cf8f0b8..00000000000 --- a/website/static/odoc/next/infer/Quandary/QuandarySummary/Clang/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Clang (infer.Quandary.QuandarySummary.Clang)

    Module QuandarySummary.Clang

    module TraceDomain : sig ... end
    module AccessMap : sig ... end
    module BaseMap = Absint.AccessPath.BaseMap
    type node = TraceDomain.t * tree
    and tree =
    1. | Subtree of node AccessMap.t
    2. | Star
    type t = node BaseMap.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    val empty_node : node
    val make_node : TraceDomain.t -> node AccessMap.t -> node
    val make_access_node : - TraceDomain.t -> - Absint.AccessPath.access -> - TraceDomain.t -> - node
    val make_normal_leaf : TraceDomain.t -> node
    val make_starred_leaf : TraceDomain.t -> node
    val get_node : Absint.AccessPath.Abs.t -> t -> node option
    val get_trace : Absint.AccessPath.Abs.t -> t -> TraceDomain.t option
    val add_node : Absint.AccessPath.Abs.t -> node -> t -> t
    val add_trace : Absint.AccessPath.Abs.t -> TraceDomain.t -> t -> t
    val node_join : node -> node -> node
    val fold : ('a -> Absint.AccessPath.Abs.t -> node -> 'a) -> t -> 'a -> 'a
    val trace_fold : - ('a -> Absint.AccessPath.Abs.t -> TraceDomain.t -> 'a) -> - t -> - 'a -> - 'a
    val exists : (Absint.AccessPath.Abs.t -> node -> bool) -> t -> bool
    val iter : (Absint.AccessPath.Abs.t -> node -> unit) -> t -> unit
    val depth : t -> int
    val pp_node : Stdlib.Format.formatter -> node -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/QuandarySummary/Java/AccessMap/index.html b/website/static/odoc/next/infer/Quandary/QuandarySummary/Java/AccessMap/index.html deleted file mode 100644 index d13c74e907d..00000000000 --- a/website/static/odoc/next/infer/Quandary/QuandarySummary/Java/AccessMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -AccessMap (infer.Quandary.QuandarySummary.Java.AccessMap)

    Module Java.AccessMap

    type !'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/Quandary/QuandarySummary/Java/TraceDomain/index.html b/website/static/odoc/next/infer/Quandary/QuandarySummary/Java/TraceDomain/index.html deleted file mode 100644 index ecc070fbb54..00000000000 --- a/website/static/odoc/next/infer/Quandary/QuandarySummary/Java/TraceDomain/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TraceDomain (infer.Quandary.QuandarySummary.Java.TraceDomain)

    Module Java.TraceDomain

    type t = JavaTrace.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/QuandarySummary/Java/index.html b/website/static/odoc/next/infer/Quandary/QuandarySummary/Java/index.html deleted file mode 100644 index d0289a58aa8..00000000000 --- a/website/static/odoc/next/infer/Quandary/QuandarySummary/Java/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Java (infer.Quandary.QuandarySummary.Java)

    Module QuandarySummary.Java

    module TraceDomain : sig ... end
    module AccessMap : sig ... end
    module BaseMap = Absint.AccessPath.BaseMap
    type node = TraceDomain.t * tree
    and tree =
    1. | Subtree of node AccessMap.t
    2. | Star
    type t = node BaseMap.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    val empty_node : node
    val make_node : TraceDomain.t -> node AccessMap.t -> node
    val make_access_node : - TraceDomain.t -> - Absint.AccessPath.access -> - TraceDomain.t -> - node
    val make_normal_leaf : TraceDomain.t -> node
    val make_starred_leaf : TraceDomain.t -> node
    val get_node : Absint.AccessPath.Abs.t -> t -> node option
    val get_trace : Absint.AccessPath.Abs.t -> t -> TraceDomain.t option
    val add_node : Absint.AccessPath.Abs.t -> node -> t -> t
    val add_trace : Absint.AccessPath.Abs.t -> TraceDomain.t -> t -> t
    val node_join : node -> node -> node
    val fold : ('a -> Absint.AccessPath.Abs.t -> node -> 'a) -> t -> 'a -> 'a
    val trace_fold : - ('a -> Absint.AccessPath.Abs.t -> TraceDomain.t -> 'a) -> - t -> - 'a -> - 'a
    val exists : (Absint.AccessPath.Abs.t -> node -> bool) -> t -> bool
    val iter : (Absint.AccessPath.Abs.t -> node -> unit) -> t -> unit
    val depth : t -> int
    val pp_node : Stdlib.Format.formatter -> node -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/QuandarySummary/index.html b/website/static/odoc/next/infer/Quandary/QuandarySummary/index.html deleted file mode 100644 index d3c5caeec43..00000000000 --- a/website/static/odoc/next/infer/Quandary/QuandarySummary/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -QuandarySummary (infer.Quandary.QuandarySummary)

    Module Quandary.QuandarySummary

    summary type for Quandary taint analysis

    module F = Stdlib.Format
    module Java : sig ... end
    module Clang : sig ... end
    module AccessTree : sig ... end
    type t = AccessTree.t
    val pp : F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdMap/index.html deleted file mode 100644 index 7dab17c82f5..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -IdMap (infer.Quandary.TaintAnalysis.Make.Analyzer.Interpreter.TransferFunctions.CFG.Node.IdMap)

    Module Node.IdMap

    type key = id
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdSet/index.html deleted file mode 100644 index 5294c5f02bb..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdSet/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -IdSet (infer.Quandary.TaintAnalysis.Make.Analyzer.Interpreter.TransferFunctions.CFG.Node.IdSet)

    Module Node.IdSet

    type elt = id
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/Node/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/Node/index.html deleted file mode 100644 index 4a0a109cefb..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/Node/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Node (infer.Quandary.TaintAnalysis.Make.Analyzer.Interpreter.TransferFunctions.CFG.Node)

    Module CFG.Node

    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val compare_id : id -> id -> int
    val equal_id : id -> id -> bool
    val id : t -> id
    val loc : t -> IBase.Location.t
    val underlying_node : t -> IR.Procdesc.Node.t
    val of_underlying_node : IR.Procdesc.Node.t -> t
    val pp_id : Stdlib.Format.formatter -> id -> unit
    module IdMap : sig ... end
    module IdSet : sig ... end
    val to_instr : int -> t -> IR.Procdesc.Node.t * int
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/index.html deleted file mode 100644 index e066569ed68..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/CFG/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -CFG (infer.Quandary.TaintAnalysis.Make.Analyzer.Interpreter.TransferFunctions.CFG)

    Module TransferFunctions.CFG

    module Node : sig ... end
    val instrs : Node.t -> instrs_dir IR.Instrs.t
    val fold_succs : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_preds : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_normal_succs : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_normal_preds : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_exceptional_succs : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_exceptional_preds : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val start_node : t -> Node.t
    val exit_node : t -> Node.t
    val exn_sink_node : t -> Node.t option
    val proc_desc : t -> IR.Procdesc.t
    val fold_nodes : (t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val from_pdesc : IR.Procdesc.t -> t
    val is_loop_head : IR.Procdesc.t -> Node.t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/Domain/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/Domain/index.html deleted file mode 100644 index 81387bd3fe1..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/Domain/index.html +++ /dev/null @@ -1,3 +0,0 @@ - -Domain (infer.Quandary.TaintAnalysis.Make.Analyzer.Interpreter.TransferFunctions.Domain)

    Module TransferFunctions.Domain

    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/index.html deleted file mode 100644 index 35c7786bfbd..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/TransferFunctions/index.html +++ /dev/null @@ -1,9 +0,0 @@ - -TransferFunctions (infer.Quandary.TaintAnalysis.Make.Analyzer.Interpreter.TransferFunctions)

    Module Interpreter.TransferFunctions

    module CFG : sig ... end
    module Domain : sig ... end
    val pp_session_name : CFG.Node.t -> Stdlib.Format.formatter -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/index.html deleted file mode 100644 index f781b6c4faa..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/Interpreter/index.html +++ /dev/null @@ -1,31 +0,0 @@ - -Interpreter (infer.Quandary.TaintAnalysis.Make.Analyzer.Interpreter)

    Module Analyzer.Interpreter

    module TransferFunctions : sig ... end
    module InvariantMap = TransferFunctions.CFG.Node.IdMap
    type invariant_map = - TransferFunctions.Domain.t Absint__AbstractInterpreter.State.t InvariantMap.t
    val compute_post : - ?do_narrowing:bool -> - ?pp_instr: - (TransferFunctions.Domain.t -> - IR.Sil.instr -> - (Stdlib.Format.formatter -> unit) option) -> - TransferFunctions.analysis_data -> - initial:TransferFunctions.Domain.t -> - IR.Procdesc.t -> - TransferFunctions.Domain.t option
    val exec_cfg : - ?do_narrowing:bool -> - TransferFunctions.CFG.t -> - TransferFunctions.analysis_data -> - initial:TransferFunctions.Domain.t -> - invariant_map
    val exec_pdesc : - ?do_narrowing:bool -> - TransferFunctions.analysis_data -> - initial:TransferFunctions.Domain.t -> - IR.Procdesc.t -> - invariant_map
    val extract_post : - TransferFunctions.CFG.Node.id -> - 'a Absint__AbstractInterpreter.State.t InvariantMap.t -> - 'a option
    val extract_pre : - TransferFunctions.CFG.Node.id -> - 'a Absint__AbstractInterpreter.State.t InvariantMap.t -> - 'a option
    val extract_state : - TransferFunctions.CFG.Node.id -> - 'a InvariantMap.t -> - 'a option
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/index.html deleted file mode 100644 index 391e073614b..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/Analyzer/index.html +++ /dev/null @@ -1,6 +0,0 @@ - -Analyzer (infer.Quandary.TaintAnalysis.Make.Analyzer)

    Module Make.Analyzer

    module Interpreter : sig ... end
    val compute_post : - Interpreter.TransferFunctions.analysis_data -> - initial:domain -> - IR.Procdesc.t -> - domain option
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/HilConfig/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/HilConfig/index.html deleted file mode 100644 index 0ffa5119300..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/HilConfig/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -HilConfig (infer.Quandary.TaintAnalysis.Make.HilConfig)

    Module Make.HilConfig

    val include_array_indexes : bool

    if true, array index expressions will appear in access paths

    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/argument-1-CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/argument-1-CFG/Node/IdMap/index.html deleted file mode 100644 index b329264a452..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/argument-1-CFG/Node/IdMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -IdMap (infer.Quandary.TaintAnalysis.Make.TransferFunctions.CFG.Node.IdMap)

    Module Node.IdMap

    include IStdlib.IStd.Caml.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib.PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib.PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib.PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/argument-1-CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/argument-1-CFG/Node/IdSet/index.html deleted file mode 100644 index 0d784a3533b..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/argument-1-CFG/Node/IdSet/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -IdSet (infer.Quandary.TaintAnalysis.Make.TransferFunctions.CFG.Node.IdSet)

    Module Node.IdSet

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

    Module CFG.Node

    include Absint.ProcCfg.NodeCommonS
    type t
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    type id
    val compare_id : id -> id -> int
    val equal_id : id -> id -> bool
    val id : t -> id
    val loc : t -> IBase.Location.t
    val underlying_node : t -> IR.Procdesc.Node.t
    val of_underlying_node : IR.Procdesc.Node.t -> t
    val pp_id : Stdlib.Format.formatter -> id -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/argument-1-CFG/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/argument-1-CFG/index.html deleted file mode 100644 index ce553bac071..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/argument-1-CFG/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -CFG (infer.Quandary.TaintAnalysis.Make.TransferFunctions.CFG)

    Parameter TransferFunctions.CFG

    type t
    type instrs_dir
    val instrs : Node.t -> instrs_dir IR.Instrs.t

    get the instructions from a node

    val fold_succs : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold

    fold over all successors (normal and exceptional)

    val fold_preds : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold

    fold over all predecessors (normal and exceptional)

    val fold_normal_succs : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold

    fold over non-exceptional successors

    val fold_normal_preds : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold

    fold over non-exceptional predecessors

    val fold_exceptional_succs : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold

    fold over exceptional successors

    val fold_exceptional_preds : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold

    fold over exceptional predescessors

    val start_node : t -> Node.t
    val exit_node : t -> Node.t
    val exn_sink_node : t -> Node.t option
    val proc_desc : t -> IR.Procdesc.t
    val fold_nodes : (t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val from_pdesc : IR.Procdesc.t -> t
    val is_loop_head : IR.Procdesc.t -> Node.t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/index.html deleted file mode 100644 index 7ecc7ad8051..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/TransferFunctions/index.html +++ /dev/null @@ -1,82 +0,0 @@ - -TransferFunctions (infer.Quandary.TaintAnalysis.Make.TransferFunctions)

    Module Make.TransferFunctions

    Parameters

    Signature

    module CFG = CFG
    module Domain = Domain
    type nonrec analysis_data = analysis_data
    val access_path_get_node : - Absint.AccessPath.Abs.t -> - TaintDomain.t -> - Absint.FormalMap.t -> - TaintDomain.node option
    val exp_get_node_ : - abstracted:bool -> - Absint.AccessPath.Abs.raw -> - TaintDomain.t -> - Absint.FormalMap.t -> - TaintDomain.node option
    val hil_exp_get_node : - ?abstracted:bool -> - Absint.HilExp.t -> - TaintDomain.t -> - Absint.FormalMap.t -> - TaintDomain.node option
    val add_return_source : - TraceDomain.Source.t -> - (IR.Var.t * IR.Typ.t) -> - TaintDomain.t -> - TaintDomain.t
    val add_actual_source : - TraceDomain.Source.t -> - int -> - Absint.HilExp.t list -> - TaintDomain.t -> - Absint.FormalMap.t -> - TaintDomain.t
    val is_endpoint : TraceDomain.Source.t -> bool

    log any new reportable source-sink flows in trace

    val apply_summary : - analysis_data -> - (IR.Var.t * IR.Typ.t) option -> - Absint.HilExp.t list -> - TaintDomain.t -> - TaintDomain.t -> - Absint.CallSite.t -> - TaintDomain.t
    val add_sinks_for_access_path : - analysis_data -> - Absint.HilExp.AccessExpression.t -> - IBase.Location.t -> - TaintDomain.t -> - TaintDomain.t
    val add_sources_for_access_path : - analysis_data -> - Absint.HilExp.access_expression -> - IBase.Location.t -> - TaintDomain.t -> - TaintDomain.t
    val add_sources_sinks_for_exp : - analysis_data -> - Absint.HilExp.t -> - IBase.Location.t -> - TaintDomain.t -> - TaintDomain.t
    val exec_write : - Absint.FormalMap.t -> - Absint__HilExp.access_expression -> - Absint.HilExp.t -> - TaintDomain.t -> - TaintDomain.t
    val analyze_call : - analysis_data -> - ret_ap:(IR.Var.t * IR.Typ.t) -> - callee_pname:IR.Procname.t -> - actuals:Absint.HilExp.t list -> - call_flags:IR.CallFlags.t -> - callee_loc:IBase.Location.t -> - TaintDomain.t -> - TaintDomain.t
    val exec_instr : - Domain.t -> - analysis_data -> - 'a -> - 'b -> - Absint.HilInstr.t -> - Domain.t
    val pp_session_name : CFG.Node.t -> F.formatter -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/AccessTree/AccessMap/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/AccessTree/AccessMap/index.html deleted file mode 100644 index 25d85e8dd02..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/AccessTree/AccessMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -AccessMap (infer.Quandary.TaintAnalysis.Make.TaintSpecification.AccessTree.AccessMap)

    Module AccessTree.AccessMap

    type !'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/AccessTree/TraceDomain/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/AccessTree/TraceDomain/index.html deleted file mode 100644 index 3b4a5ae2b8c..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/AccessTree/TraceDomain/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TraceDomain (infer.Quandary.TaintAnalysis.Make.TaintSpecification.AccessTree.TraceDomain)

    Module AccessTree.TraceDomain

    type t = Trace.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/AccessTree/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/AccessTree/index.html deleted file mode 100644 index 92a2db8eab8..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/AccessTree/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -AccessTree (infer.Quandary.TaintAnalysis.Make.TaintSpecification.AccessTree)

    Module TaintSpecification.AccessTree

    module TraceDomain : sig ... end
    module AccessMap : sig ... end
    module BaseMap = Absint.AccessPath.BaseMap
    type node = TraceDomain.t * tree
    and tree =
    1. | Subtree of node AccessMap.t
    2. | Star
    type t = node BaseMap.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    val empty_node : node
    val make_node : TraceDomain.t -> node AccessMap.t -> node
    val make_access_node : - TraceDomain.t -> - Absint.AccessPath.access -> - TraceDomain.t -> - node
    val make_normal_leaf : TraceDomain.t -> node
    val make_starred_leaf : TraceDomain.t -> node
    val get_node : Absint.AccessPath.Abs.t -> t -> node option
    val get_trace : Absint.AccessPath.Abs.t -> t -> TraceDomain.t option
    val add_node : Absint.AccessPath.Abs.t -> node -> t -> t
    val add_trace : Absint.AccessPath.Abs.t -> TraceDomain.t -> t -> t
    val node_join : node -> node -> node
    val fold : ('a -> Absint.AccessPath.Abs.t -> node -> 'a) -> t -> 'a -> 'a
    val trace_fold : - ('a -> Absint.AccessPath.Abs.t -> TraceDomain.t -> 'a) -> - t -> - 'a -> - 'a
    val exists : (Absint.AccessPath.Abs.t -> node -> bool) -> t -> bool
    val iter : (Absint.AccessPath.Abs.t -> node -> unit) -> t -> unit
    val depth : t -> int
    val pp_node : Stdlib.Format.formatter -> node -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sanitizer/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sanitizer/index.html deleted file mode 100644 index c455d5baa04..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sanitizer/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sanitizer (infer.Quandary.TaintAnalysis.Make.TaintSpecification.Trace.Sanitizer)

    Module Trace.Sanitizer

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val get : IR.Procname.t -> IR.Tenv.t -> t option

    Get the sanitizer that should be applied to the return value of given procedure, if any

    val pp : Absint.Sanitizer.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sink/Kind/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sink/Kind/index.html deleted file mode 100644 index 84c9304fc06..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sink/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (infer.Quandary.TaintAnalysis.Make.TaintSpecification.Trace.Sink.Kind)

    Module Sink.Kind

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val matches : caller:t -> callee:t -> bool

    Return true if the caller element kind matches the callee element kind. Used during trace expansion; we will only consider expanding the trace from caller into callee if this evaluates to true. This can normally just be equal, but something fuzzier may be required if t is a type that contains identifiers from the caller/callee

    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sink/Set/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sink/Set/index.html deleted file mode 100644 index b2467728a54..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sink/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.Quandary.TaintAnalysis.Make.TaintSpecification.Trace.Sink.Set)

    Module Sink.Set

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

    Module Trace.Sink

    include Absint.TaintTraceElem.S
    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val call_site : t -> Absint.CallSite.t
    val kind : t -> Kind.t
    val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> Absint.CallSite.t -> t
    val with_callsite : t -> Absint.CallSite.t -> t
    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    val get : - Absint.CallSite.t -> - Absint.HilExp.t list -> - IR.CallFlags.t -> - IR.Tenv.t -> - t list

    return Some sink if the given call site/actuals are a sink, None otherwise

    val indexes : t -> IStdlib.IntSet.t

    return the indexes where taint can flow into the sink

    val with_indexes : t -> IStdlib.IntSet.t -> t
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Source/Kind/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Source/Kind/index.html deleted file mode 100644 index 0ba06f783e3..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Source/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (infer.Quandary.TaintAnalysis.Make.TaintSpecification.Trace.Source.Kind)

    Module Source.Kind

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val matches : caller:t -> callee:t -> bool

    Return true if the caller element kind matches the callee element kind. Used during trace expansion; we will only consider expanding the trace from caller into callee if this evaluates to true. This can normally just be equal, but something fuzzier may be required if t is a type that contains identifiers from the caller/callee

    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Source/Set/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Source/Set/index.html deleted file mode 100644 index 0b1a03770a4..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Source/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.Quandary.TaintAnalysis.Make.TaintSpecification.Trace.Source.Set)

    Module Source.Set

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

    Module Trace.Source

    include Absint.TaintTraceElem.S
    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val call_site : t -> Absint.CallSite.t
    val kind : t -> Kind.t
    val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> Absint.CallSite.t -> t
    val with_callsite : t -> Absint.CallSite.t -> t
    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    type spec = {
    1. source : t;
      (*

      type of the returned source

      *)
    2. index : int option;
      (*

      index of the returned source if Some; return value if None

      *)
    }
    val get : - caller_pname:IR.Procname.t -> - Absint.CallSite.t -> - Absint.HilExp.t list -> - IR.Tenv.t -> - spec list

    return Some (taint spec) if the call site with the given actuals is a taint source, None otherwise

    val get_tainted_formals : - IR.Procdesc.t -> - IR.Tenv.t -> - (IR.Mangled.t * IR.Typ.t * t option) list

    return each formal of the function paired with either Some(source) if the formal is a taint source, or None if the formal is not a taint source

    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Footprint/AccessMap/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Footprint/AccessMap/index.html deleted file mode 100644 index 94bf0ea6ce8..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Footprint/AccessMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -AccessMap (infer.Quandary.TaintAnalysis.Make.TaintSpecification.Trace.Sources.Footprint.AccessMap)

    Module Footprint.AccessMap

    type !'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Footprint/TraceDomain/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Footprint/TraceDomain/index.html deleted file mode 100644 index 68674ab5f0b..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Footprint/TraceDomain/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TraceDomain (infer.Quandary.TaintAnalysis.Make.TaintSpecification.Trace.Sources.Footprint.TraceDomain)

    Module Footprint.TraceDomain

    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Footprint/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Footprint/index.html deleted file mode 100644 index 15b08143f4f..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Footprint/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Footprint (infer.Quandary.TaintAnalysis.Make.TaintSpecification.Trace.Sources.Footprint)

    Module Sources.Footprint

    Set of access paths representing the sources that may flow in from the caller

    module TraceDomain : sig ... end
    module AccessMap : sig ... end
    module BaseMap = Absint.AccessPath.BaseMap
    type node = TraceDomain.t * tree
    and tree =
    1. | Subtree of node AccessMap.t
    2. | Star
    type t = node BaseMap.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    val empty_node : node
    val make_node : TraceDomain.t -> node AccessMap.t -> node
    val make_access_node : - TraceDomain.t -> - Absint.AccessPath.access -> - TraceDomain.t -> - node
    val make_normal_leaf : TraceDomain.t -> node
    val make_starred_leaf : TraceDomain.t -> node
    val get_node : Absint.AccessPath.Abs.t -> t -> node option
    val get_trace : Absint.AccessPath.Abs.t -> t -> TraceDomain.t option
    val add_node : Absint.AccessPath.Abs.t -> node -> t -> t
    val add_trace : Absint.AccessPath.Abs.t -> TraceDomain.t -> t -> t
    val node_join : node -> node -> node
    val fold : ('a -> Absint.AccessPath.Abs.t -> node -> 'a) -> t -> 'a -> 'a
    val trace_fold : - ('a -> Absint.AccessPath.Abs.t -> TraceDomain.t -> 'a) -> - t -> - 'a -> - 'a
    val exists : (Absint.AccessPath.Abs.t -> node -> bool) -> t -> bool
    val iter : (Absint.AccessPath.Abs.t -> node -> unit) -> t -> unit
    val depth : t -> int
    val pp_node : Stdlib.Format.formatter -> node -> unit
    val mem : Absint.AccessPath.Abs.t -> t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/FootprintConfig/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/FootprintConfig/index.html deleted file mode 100644 index dcad408c5d8..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/FootprintConfig/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -FootprintConfig (infer.Quandary.TaintAnalysis.Make.TaintSpecification.Trace.Sources.FootprintConfig)

    Module Sources.FootprintConfig

    val max_depth : int
    val max_width : int
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Known/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Known/index.html deleted file mode 100644 index 6b7681e29e9..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Known/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Known (infer.Quandary.TaintAnalysis.Make.TaintSpecification.Trace.Sources.Known)

    Module Sources.Known

    Set of sources returned by callees of the current function

    type elt = Source.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Sanitizers/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Sanitizers/index.html deleted file mode 100644 index e277251fc12..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/Sanitizers/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sanitizers (infer.Quandary.TaintAnalysis.Make.TaintSpecification.Trace.Sources.Sanitizers)

    Module Sources.Sanitizers

    Set of sanitizers that have been applied to these sources

    type elt = Sanitizer.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/index.html deleted file mode 100644 index 699b40ffd69..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/Sources/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sources (infer.Quandary.TaintAnalysis.Make.TaintSpecification.Trace.Sources)

    Module Trace.Sources

    module Known : sig ... end

    Set of sources returned by callees of the current function

    module Footprint : sig ... end

    Set of access paths representing the sources that may flow in from the caller

    module Sanitizers : sig ... end

    Set of sanitizers that have been applied to these sources

    type t = {
    1. known : Known.t;
    2. footprint : Footprint.t;
    3. sanitizers : Sanitizers.t;
    }
    val empty : t
    val is_empty : t -> bool
    val of_source : Source.t -> t
    val of_footprint : Absint.AccessPath.Abs.t -> t
    val add : Source.t -> t -> t
    val get_footprint_indexes : t -> IStdlib.IntSet.t
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/index.html deleted file mode 100644 index cf95d70cc27..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/Trace/index.html +++ /dev/null @@ -1,19 +0,0 @@ - -Trace (infer.Quandary.TaintAnalysis.Make.TaintSpecification.Trace)

    Module TaintSpecification.Trace

    include Absint.TaintTrace.Spec
    val get_report : - Source.t -> - Sink.t -> - Sanitizer.t list -> - IBase.IssueType.t option

    return Some(issue) a trace from source to sink passing through the given sanitizers should be reported, None otherwise

    bottom = this trace has no source or sink data

    include Absint.AbstractDomain.WithBottom
    include Absint.AbstractDomain.S
    include Absint.AbstractDomain.Comparable
    val leq : lhs:t -> rhs:t -> bool

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

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

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    module Sources : sig ... end
    module Sinks = Sink.Set
    module Passthroughs = Absint.Passthrough.Set
    type path = - Passthroughs.t - * (Source.t * Passthroughs.t) list - * (Sink.t * Passthroughs.t) list

    path from a source to a sink with passthroughs at each step in the call stack. the first set of passthroughs are the ones in the "reporting" procedure that calls the first function in both the source and sink stack

    type report = {
    1. issue : IBase.IssueType.t;
    2. path_source : Source.t;
    3. path_sink : Sink.t;
    4. path_passthroughs : Passthroughs.t;
    }
    val sources : t -> Sources.t

    get the sources of the trace.

    val sinks : t -> Sinks.t

    get the sinks of the trace

    val passthroughs : t -> Passthroughs.t

    get the passthroughs of the trace

    val get_reports : ?cur_site:Absint.CallSite.t -> t -> report list

    get the reportable source-sink flows in this trace. specifying cur_site restricts the reported paths to ones introduced by the call at cur_site

    val get_reportable_paths : - ?cur_site:Absint.CallSite.t -> - t -> - trace_of_pname:(IR.Procname.t -> t) -> - path list

    get a path for each of the reportable source -> sink flows in this trace. specifying cur_site restricts the reported paths to ones introduced by the call at cur_site

    val to_loc_trace : - ?desc_of_source:(Source.t -> string) -> - ?source_should_nest:(Source.t -> bool) -> - ?desc_of_sink:(Sink.t -> string) -> - ?sink_should_nest:(Sink.t -> bool) -> - path -> - Absint.Errlog.loc_trace

    create a loc_trace from a path; source_should_nest s should be true when we are going one deeper into a call-chain, ie when lt_level should be bumper in the next loc_trace_elem, and similarly for sink_should_nest

    val of_source : Source.t -> t

    create a trace from a source

    val of_footprint : Absint.AccessPath.Abs.t -> t

    create a trace from a footprint access path

    val add_source : Source.t -> t -> t

    add a source to the current trace

    val add_sink : Sink.t -> t -> t

    add a sink to the current trace.

    val add_sanitizer : Sanitizer.t -> t -> t

    add a sanitizer to the current trace

    val update_sources : t -> Sources.t -> t
    val update_sinks : t -> Sinks.t -> t

    replace sinks with new ones

    val get_footprint_indexes : t -> IStdlib.IntSet.t

    get the footprint indexes for all of the sources in the trace

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

    append the trace for given call site to the current caller trace

    val pp : Absint.TaintTrace.F.formatter -> t -> unit
    val pp_path : IR.Procname.t -> Absint.TaintTrace.F.formatter -> path -> unit

    pretty-print a path in the context of the given procname

    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/index.html deleted file mode 100644 index 028f76ba94c..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/argument-1-TaintSpecification/index.html +++ /dev/null @@ -1,13 +0,0 @@ - -TaintSpecification (infer.Quandary.TaintAnalysis.Make.TaintSpecification)

    Parameter Make.TaintSpecification

    module AccessTree : sig ... end
    val handle_unknown_call : - IR.Procname.t -> - IR.Typ.t -> - Absint.HilExp.t list -> - IR.Tenv.t -> - TaintSpec.action list

    return a summary for handling an unknown call at the given site with the given return type and actuals

    val get_model : - IR.Procname.t -> - IR.Typ.t -> - Absint.HilExp.t list -> - IR.Tenv.t -> - AccessTree.t -> - TaintSpec.action list option

    returns a model that should be used for the given (procname, return type, actuals, summary) instead of using the summary for the procname

    val is_taintable_type : IR.Typ.t -> bool

    return true if the given typ can be tainted

    val to_summary_access_tree : AccessTree.t -> QuandarySummary.AccessTree.t
    val of_summary_access_tree : QuandarySummary.AccessTree.t -> AccessTree.t
    val name : string
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/index.html deleted file mode 100644 index 64b9f4ced72..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/Make/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -Make (infer.Quandary.TaintAnalysis.Make)

    Module TaintAnalysis.Make

    Create a taint analysis from a specification

    Parameters

    Signature

    module TraceDomain = TaintSpecification.Trace
    module TaintDomain = TaintSpecification.AccessTree
    module Domain = TaintDomain
    type analysis_data = {
    1. analysis_data : QuandarySummary.t Absint.InterproceduralAnalysis.t;
    2. formal_map : Absint.FormalMap.t;
    }
    module TransferFunctions (CFG : Absint.ProcCfg.S) : sig ... end
    module Analyzer : sig ... end
    val check_invariants : TaintDomain.t -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintAnalysis/index.html b/website/static/odoc/next/infer/Quandary/TaintAnalysis/index.html deleted file mode 100644 index bf66e408488..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintAnalysis/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TaintAnalysis (infer.Quandary.TaintAnalysis)

    Module Quandary.TaintAnalysis

    module F = Stdlib.Format
    module L = IBase.Logging
    module Make (TaintSpecification : TaintSpec.S) : sig ... end

    Create a taint analysis from a specification

    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/index.html deleted file mode 100644 index fbba56c5d99..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TaintSpec (infer.Quandary.TaintSpec)

    Module Quandary.TaintSpec

    combination of a trace with functions for handling unknown code and converting to and from summaries

    type action =
    1. | Propagate_to_actual of int
      (*

      Propagate taint from all actuals to the actual with the given index

      *)
    2. | Propagate_to_receiver
      (*

      Propagate taint from all non-receiver actuals to the receiver actual

      *)
    3. | Propagate_to_return
      (*

      Propagate taint from all actuals to the return value

      *)
    module type S = sig ... end
    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/AccessTree/AccessMap/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/AccessTree/AccessMap/index.html deleted file mode 100644 index b47f272ee71..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/AccessTree/AccessMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -AccessMap (infer.Quandary.TaintSpec.S.AccessTree.AccessMap)

    Module AccessTree.AccessMap

    type !'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/AccessTree/TraceDomain/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/AccessTree/TraceDomain/index.html deleted file mode 100644 index 8cb6695f239..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/AccessTree/TraceDomain/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TraceDomain (infer.Quandary.TaintSpec.S.AccessTree.TraceDomain)

    Module AccessTree.TraceDomain

    type t = Trace.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/AccessTree/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/AccessTree/index.html deleted file mode 100644 index 1afe949e8ae..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/AccessTree/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -AccessTree (infer.Quandary.TaintSpec.S.AccessTree)

    Module S.AccessTree

    module TraceDomain : sig ... end
    module AccessMap : sig ... end
    module BaseMap = Absint.AccessPath.BaseMap
    type node = TraceDomain.t * tree
    and tree =
    1. | Subtree of node AccessMap.t
    2. | Star
    type t = node BaseMap.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    val empty_node : node
    val make_node : TraceDomain.t -> node AccessMap.t -> node
    val make_access_node : - TraceDomain.t -> - Absint.AccessPath.access -> - TraceDomain.t -> - node
    val make_normal_leaf : TraceDomain.t -> node
    val make_starred_leaf : TraceDomain.t -> node
    val get_node : Absint.AccessPath.Abs.t -> t -> node option
    val get_trace : Absint.AccessPath.Abs.t -> t -> TraceDomain.t option
    val add_node : Absint.AccessPath.Abs.t -> node -> t -> t
    val add_trace : Absint.AccessPath.Abs.t -> TraceDomain.t -> t -> t
    val node_join : node -> node -> node
    val fold : ('a -> Absint.AccessPath.Abs.t -> node -> 'a) -> t -> 'a -> 'a
    val trace_fold : - ('a -> Absint.AccessPath.Abs.t -> TraceDomain.t -> 'a) -> - t -> - 'a -> - 'a
    val exists : (Absint.AccessPath.Abs.t -> node -> bool) -> t -> bool
    val iter : (Absint.AccessPath.Abs.t -> node -> unit) -> t -> unit
    val depth : t -> int
    val pp_node : Stdlib.Format.formatter -> node -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sanitizer/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sanitizer/index.html deleted file mode 100644 index 5f4801b1bd0..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sanitizer/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sanitizer (infer.Quandary.TaintSpec.S.Trace.Sanitizer)

    Module Trace.Sanitizer

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val get : IR.Procname.t -> IR.Tenv.t -> t option

    Get the sanitizer that should be applied to the return value of given procedure, if any

    val pp : Absint.Sanitizer.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sink/Kind/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sink/Kind/index.html deleted file mode 100644 index f07e54e2ad2..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sink/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (infer.Quandary.TaintSpec.S.Trace.Sink.Kind)

    Module Sink.Kind

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val matches : caller:t -> callee:t -> bool

    Return true if the caller element kind matches the callee element kind. Used during trace expansion; we will only consider expanding the trace from caller into callee if this evaluates to true. This can normally just be equal, but something fuzzier may be required if t is a type that contains identifiers from the caller/callee

    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sink/Set/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sink/Set/index.html deleted file mode 100644 index d189117c598..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sink/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.Quandary.TaintSpec.S.Trace.Sink.Set)

    Module Sink.Set

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

    Module Trace.Sink

    include Absint.TaintTraceElem.S
    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val call_site : t -> Absint.CallSite.t
    val kind : t -> Kind.t
    val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> Absint.CallSite.t -> t
    val with_callsite : t -> Absint.CallSite.t -> t
    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    val get : - Absint.CallSite.t -> - Absint.HilExp.t list -> - IR.CallFlags.t -> - IR.Tenv.t -> - t list

    return Some sink if the given call site/actuals are a sink, None otherwise

    val indexes : t -> IStdlib.IntSet.t

    return the indexes where taint can flow into the sink

    val with_indexes : t -> IStdlib.IntSet.t -> t
    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Source/Kind/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Source/Kind/index.html deleted file mode 100644 index 5ab428b2c64..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Source/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (infer.Quandary.TaintSpec.S.Trace.Source.Kind)

    Module Source.Kind

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val matches : caller:t -> callee:t -> bool

    Return true if the caller element kind matches the callee element kind. Used during trace expansion; we will only consider expanding the trace from caller into callee if this evaluates to true. This can normally just be equal, but something fuzzier may be required if t is a type that contains identifiers from the caller/callee

    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Source/Set/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Source/Set/index.html deleted file mode 100644 index 66bf8dc0f20..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Source/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.Quandary.TaintSpec.S.Trace.Source.Set)

    Module Source.Set

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

    Module Trace.Source

    include Absint.TaintTraceElem.S
    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    include Ppx_compare_lib.Equal.S with type t := t
    val equal : t Base__Ppx_compare_lib.equal
    val call_site : t -> Absint.CallSite.t
    val kind : t -> Kind.t
    val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> Absint.CallSite.t -> t
    val with_callsite : t -> Absint.CallSite.t -> t
    val pp : Absint.TaintTraceElem.F.formatter -> t -> unit
    module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
    type spec = {
    1. source : t;
      (*

      type of the returned source

      *)
    2. index : int option;
      (*

      index of the returned source if Some; return value if None

      *)
    }
    val get : - caller_pname:IR.Procname.t -> - Absint.CallSite.t -> - Absint.HilExp.t list -> - IR.Tenv.t -> - spec list

    return Some (taint spec) if the call site with the given actuals is a taint source, None otherwise

    val get_tainted_formals : - IR.Procdesc.t -> - IR.Tenv.t -> - (IR.Mangled.t * IR.Typ.t * t option) list

    return each formal of the function paired with either Some(source) if the formal is a taint source, or None if the formal is not a taint source

    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Footprint/AccessMap/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Footprint/AccessMap/index.html deleted file mode 100644 index 2f7bebed3d1..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Footprint/AccessMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -AccessMap (infer.Quandary.TaintSpec.S.Trace.Sources.Footprint.AccessMap)

    Module Footprint.AccessMap

    type !'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Footprint/TraceDomain/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Footprint/TraceDomain/index.html deleted file mode 100644 index ed4eb755247..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Footprint/TraceDomain/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TraceDomain (infer.Quandary.TaintSpec.S.Trace.Sources.Footprint.TraceDomain)

    Module Footprint.TraceDomain

    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Footprint/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Footprint/index.html deleted file mode 100644 index 29279e04b8a..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Footprint/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Footprint (infer.Quandary.TaintSpec.S.Trace.Sources.Footprint)

    Module Sources.Footprint

    Set of access paths representing the sources that may flow in from the caller

    module TraceDomain : sig ... end
    module AccessMap : sig ... end
    module BaseMap = Absint.AccessPath.BaseMap
    type node = TraceDomain.t * tree
    and tree =
    1. | Subtree of node AccessMap.t
    2. | Star
    type t = node BaseMap.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    val empty_node : node
    val make_node : TraceDomain.t -> node AccessMap.t -> node
    val make_access_node : - TraceDomain.t -> - Absint.AccessPath.access -> - TraceDomain.t -> - node
    val make_normal_leaf : TraceDomain.t -> node
    val make_starred_leaf : TraceDomain.t -> node
    val get_node : Absint.AccessPath.Abs.t -> t -> node option
    val get_trace : Absint.AccessPath.Abs.t -> t -> TraceDomain.t option
    val add_node : Absint.AccessPath.Abs.t -> node -> t -> t
    val add_trace : Absint.AccessPath.Abs.t -> TraceDomain.t -> t -> t
    val node_join : node -> node -> node
    val fold : ('a -> Absint.AccessPath.Abs.t -> node -> 'a) -> t -> 'a -> 'a
    val trace_fold : - ('a -> Absint.AccessPath.Abs.t -> TraceDomain.t -> 'a) -> - t -> - 'a -> - 'a
    val exists : (Absint.AccessPath.Abs.t -> node -> bool) -> t -> bool
    val iter : (Absint.AccessPath.Abs.t -> node -> unit) -> t -> unit
    val depth : t -> int
    val pp_node : Stdlib.Format.formatter -> node -> unit
    val mem : Absint.AccessPath.Abs.t -> t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/FootprintConfig/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/FootprintConfig/index.html deleted file mode 100644 index b140156fc26..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/FootprintConfig/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -FootprintConfig (infer.Quandary.TaintSpec.S.Trace.Sources.FootprintConfig)

    Module Sources.FootprintConfig

    val max_depth : int
    val max_width : int
    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Known/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Known/index.html deleted file mode 100644 index 5a47bc4fd60..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Known/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Known (infer.Quandary.TaintSpec.S.Trace.Sources.Known)

    Module Sources.Known

    Set of sources returned by callees of the current function

    type elt = Source.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Sanitizers/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Sanitizers/index.html deleted file mode 100644 index fcfbd0ed3ed..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/Sanitizers/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sanitizers (infer.Quandary.TaintSpec.S.Trace.Sources.Sanitizers)

    Module Sources.Sanitizers

    Set of sanitizers that have been applied to these sources

    type elt = Sanitizer.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/index.html deleted file mode 100644 index 65314002ca7..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/Sources/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sources (infer.Quandary.TaintSpec.S.Trace.Sources)

    Module Trace.Sources

    module Known : sig ... end

    Set of sources returned by callees of the current function

    module Footprint : sig ... end

    Set of access paths representing the sources that may flow in from the caller

    module Sanitizers : sig ... end

    Set of sanitizers that have been applied to these sources

    type t = {
    1. known : Known.t;
    2. footprint : Footprint.t;
    3. sanitizers : Sanitizers.t;
    }
    val empty : t
    val is_empty : t -> bool
    val of_source : Source.t -> t
    val of_footprint : Absint.AccessPath.Abs.t -> t
    val add : Source.t -> t -> t
    val get_footprint_indexes : t -> IStdlib.IntSet.t
    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/index.html deleted file mode 100644 index 6bf5313e6c8..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/Trace/index.html +++ /dev/null @@ -1,19 +0,0 @@ - -Trace (infer.Quandary.TaintSpec.S.Trace)

    Module S.Trace

    include Absint.TaintTrace.Spec
    val get_report : - Source.t -> - Sink.t -> - Sanitizer.t list -> - IBase.IssueType.t option

    return Some(issue) a trace from source to sink passing through the given sanitizers should be reported, None otherwise

    bottom = this trace has no source or sink data

    include Absint.AbstractDomain.WithBottom
    include Absint.AbstractDomain.S
    include Absint.AbstractDomain.Comparable
    val leq : lhs:t -> rhs:t -> bool

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

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

    The bottom value of the domain.

    val is_bottom : t -> bool

    Return true if this is the bottom value

    module Sources : sig ... end
    module Sinks = Sink.Set
    module Passthroughs = Absint.Passthrough.Set
    type path = - Passthroughs.t - * (Source.t * Passthroughs.t) list - * (Sink.t * Passthroughs.t) list

    path from a source to a sink with passthroughs at each step in the call stack. the first set of passthroughs are the ones in the "reporting" procedure that calls the first function in both the source and sink stack

    type report = {
    1. issue : IBase.IssueType.t;
    2. path_source : Source.t;
    3. path_sink : Sink.t;
    4. path_passthroughs : Passthroughs.t;
    }
    val sources : t -> Sources.t

    get the sources of the trace.

    val sinks : t -> Sinks.t

    get the sinks of the trace

    val passthroughs : t -> Passthroughs.t

    get the passthroughs of the trace

    val get_reports : ?cur_site:Absint.CallSite.t -> t -> report list

    get the reportable source-sink flows in this trace. specifying cur_site restricts the reported paths to ones introduced by the call at cur_site

    val get_reportable_paths : - ?cur_site:Absint.CallSite.t -> - t -> - trace_of_pname:(IR.Procname.t -> t) -> - path list

    get a path for each of the reportable source -> sink flows in this trace. specifying cur_site restricts the reported paths to ones introduced by the call at cur_site

    val to_loc_trace : - ?desc_of_source:(Source.t -> string) -> - ?source_should_nest:(Source.t -> bool) -> - ?desc_of_sink:(Sink.t -> string) -> - ?sink_should_nest:(Sink.t -> bool) -> - path -> - Absint.Errlog.loc_trace

    create a loc_trace from a path; source_should_nest s should be true when we are going one deeper into a call-chain, ie when lt_level should be bumper in the next loc_trace_elem, and similarly for sink_should_nest

    val of_source : Source.t -> t

    create a trace from a source

    val of_footprint : Absint.AccessPath.Abs.t -> t

    create a trace from a footprint access path

    val add_source : Source.t -> t -> t

    add a source to the current trace

    val add_sink : Sink.t -> t -> t

    add a sink to the current trace.

    val add_sanitizer : Sanitizer.t -> t -> t

    add a sanitizer to the current trace

    val update_sources : t -> Sources.t -> t
    val update_sinks : t -> Sinks.t -> t

    replace sinks with new ones

    val get_footprint_indexes : t -> IStdlib.IntSet.t

    get the footprint indexes for all of the sources in the trace

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

    append the trace for given call site to the current caller trace

    val pp : Absint.TaintTrace.F.formatter -> t -> unit
    val pp_path : IR.Procname.t -> Absint.TaintTrace.F.formatter -> path -> unit

    pretty-print a path in the context of the given procname

    diff --git a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/index.html b/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/index.html deleted file mode 100644 index b1a19f4c040..00000000000 --- a/website/static/odoc/next/infer/Quandary/TaintSpec/module-type-S/index.html +++ /dev/null @@ -1,13 +0,0 @@ - -S (infer.Quandary.TaintSpec.S)

    Module type TaintSpec.S

    module AccessTree : sig ... end
    val handle_unknown_call : - IR.Procname.t -> - IR.Typ.t -> - Absint.HilExp.t list -> - IR.Tenv.t -> - action list

    return a summary for handling an unknown call at the given site with the given return type and actuals

    val get_model : - IR.Procname.t -> - IR.Typ.t -> - Absint.HilExp.t list -> - IR.Tenv.t -> - AccessTree.t -> - action list option

    returns a model that should be used for the given (procname, return type, actuals, summary) instead of using the summary for the procname

    val is_taintable_type : IR.Typ.t -> bool

    return true if the given typ can be tainted

    val to_summary_access_tree : AccessTree.t -> QuandarySummary.AccessTree.t
    val of_summary_access_tree : QuandarySummary.AccessTree.t -> AccessTree.t
    val name : string
    diff --git a/website/static/odoc/next/infer/Quandary/index.html b/website/static/odoc/next/infer/Quandary/index.html deleted file mode 100644 index 841ae96c821..00000000000 --- a/website/static/odoc/next/infer/Quandary/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Quandary (infer.Quandary)

    Module Quandary

    module ClangTaintAnalysis : sig ... end
    module ClangTrace : sig ... end
    module JavaTaintAnalysis : sig ... end
    module JavaTrace : sig ... end
    module QuandaryConfig : sig ... end

    utilities for importing JSON specifications of sources/sinks into Quandary

    module QuandarySummary : sig ... end

    summary type for Quandary taint analysis

    module TaintAnalysis : sig ... end
    module TaintSpec : sig ... end

    combination of a trace with functions for handling unknown code and converting to and from summaries

    diff --git a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/StructuredSil/index.html b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/StructuredSil/index.html index ef500efbdbb..645725d46a1 100644 --- a/website/static/odoc/next/infer/UnitTests/AnalyzerTester/StructuredSil/index.html +++ b/website/static/odoc/next/infer/UnitTests/AnalyzerTester/StructuredSil/index.html @@ -10,17 +10,7 @@ ?procname:IR.Procname.t -> ?return:(IR.Ident.t * IR.Typ.t) -> (IR.Exp.t * IR.Typ.t) list -> - structured_instr
    val make_store : - rhs_typ:IR.Typ.t -> - IR.Exp.t -> - string -> - rhs_exp:IR.Exp.t -> - structured_instr
    val make_load_fld : - rhs_typ:IR.Typ.t -> - string -> - string -> - IR.Exp.t -> - structured_instr
    val id_assign_exp : ?rhs_typ:IR.Typ.t -> string -> IR.Exp.t -> structured_instr
    val id_assign_id : ?rhs_typ:IR.Typ.t -> string -> string -> structured_instr
    val id_assign_var : ?rhs_typ:IR.Typ.t -> string -> string -> structured_instr
    val id_set_id : ?rhs_typ:IR.Typ.t -> string -> string -> structured_instr
    val var_assign_exp : rhs_typ:IR.Typ.t -> string -> IR.Exp.t -> structured_instr
    val var_assign_int : string -> int -> structured_instr
    val var_assign_id : ?rhs_typ:IR.Typ.t -> string -> string -> structured_instr
    val var_assign_addrof_var : + structured_instr
    val id_assign_exp : ?rhs_typ:IR.Typ.t -> string -> IR.Exp.t -> structured_instr
    val id_assign_id : ?rhs_typ:IR.Typ.t -> string -> string -> structured_instr
    val id_assign_var : ?rhs_typ:IR.Typ.t -> string -> string -> structured_instr
    val id_set_id : ?rhs_typ:IR.Typ.t -> string -> string -> structured_instr
    val var_assign_exp : rhs_typ:IR.Typ.t -> string -> IR.Exp.t -> structured_instr
    val var_assign_int : string -> int -> structured_instr
    val var_assign_addrof_var : ?rhs_typ:IR.Typ.t -> string -> string -> diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdMap/index.html deleted file mode 100644 index 42ed3117866..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -IdMap (infer.UnitTests.TaintTests.MockTaintAnalysis.Analyzer.Interpreter.TransferFunctions.CFG.Node.IdMap)

    Module Node.IdMap

    type key = id
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdSet/index.html deleted file mode 100644 index f2e23fe65bd..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/Node/IdSet/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -IdSet (infer.UnitTests.TaintTests.MockTaintAnalysis.Analyzer.Interpreter.TransferFunctions.CFG.Node.IdSet)

    Module Node.IdSet

    type elt = id
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/Node/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/Node/index.html deleted file mode 100644 index e1f0a462f37..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/Node/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Node (infer.UnitTests.TaintTests.MockTaintAnalysis.Analyzer.Interpreter.TransferFunctions.CFG.Node)

    Module CFG.Node

    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val compare_id : id -> id -> int
    val equal_id : id -> id -> bool
    val id : t -> id
    val loc : t -> IBase.Location.t
    val underlying_node : t -> IR.Procdesc.Node.t
    val of_underlying_node : IR.Procdesc.Node.t -> t
    val pp_id : Stdlib.Format.formatter -> id -> unit
    module IdMap : sig ... end
    module IdSet : sig ... end
    val to_instr : int -> t -> IR.Procdesc.Node.t * int
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/index.html deleted file mode 100644 index 46f40d8ada7..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/CFG/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -CFG (infer.UnitTests.TaintTests.MockTaintAnalysis.Analyzer.Interpreter.TransferFunctions.CFG)

    Module TransferFunctions.CFG

    module Node : sig ... end
    val instrs : Node.t -> instrs_dir IR.Instrs.t
    val fold_succs : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_preds : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_normal_succs : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_normal_preds : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_exceptional_succs : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_exceptional_preds : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val start_node : t -> Node.t
    val exit_node : t -> Node.t
    val exn_sink_node : t -> Node.t option
    val proc_desc : t -> IR.Procdesc.t
    val fold_nodes : (t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val from_pdesc : IR.Procdesc.t -> t
    val is_loop_head : IR.Procdesc.t -> Node.t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/Domain/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/Domain/index.html deleted file mode 100644 index 1221bed31b3..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/Domain/index.html +++ /dev/null @@ -1,3 +0,0 @@ - -Domain (infer.UnitTests.TaintTests.MockTaintAnalysis.Analyzer.Interpreter.TransferFunctions.Domain)

    Module TransferFunctions.Domain

    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/index.html deleted file mode 100644 index e71a2c4d4ca..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/TransferFunctions/index.html +++ /dev/null @@ -1,9 +0,0 @@ - -TransferFunctions (infer.UnitTests.TaintTests.MockTaintAnalysis.Analyzer.Interpreter.TransferFunctions)

    Module Interpreter.TransferFunctions

    module CFG : sig ... end
    module Domain : sig ... end
    val pp_session_name : CFG.Node.t -> Stdlib.Format.formatter -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/index.html deleted file mode 100644 index 64fcab40a35..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/Interpreter/index.html +++ /dev/null @@ -1,31 +0,0 @@ - -Interpreter (infer.UnitTests.TaintTests.MockTaintAnalysis.Analyzer.Interpreter)

    Module Analyzer.Interpreter

    module TransferFunctions : sig ... end
    module InvariantMap = TransferFunctions.CFG.Node.IdMap
    type invariant_map = - TransferFunctions.Domain.t Absint__AbstractInterpreter.State.t InvariantMap.t
    val compute_post : - ?do_narrowing:bool -> - ?pp_instr: - (TransferFunctions.Domain.t -> - IR.Sil.instr -> - (Stdlib.Format.formatter -> unit) option) -> - TransferFunctions.analysis_data -> - initial:TransferFunctions.Domain.t -> - IR.Procdesc.t -> - TransferFunctions.Domain.t option
    val exec_cfg : - ?do_narrowing:bool -> - TransferFunctions.CFG.t -> - TransferFunctions.analysis_data -> - initial:TransferFunctions.Domain.t -> - invariant_map
    val exec_pdesc : - ?do_narrowing:bool -> - TransferFunctions.analysis_data -> - initial:TransferFunctions.Domain.t -> - IR.Procdesc.t -> - invariant_map
    val extract_post : - TransferFunctions.CFG.Node.id -> - 'a Absint__AbstractInterpreter.State.t InvariantMap.t -> - 'a option
    val extract_pre : - TransferFunctions.CFG.Node.id -> - 'a Absint__AbstractInterpreter.State.t InvariantMap.t -> - 'a option
    val extract_state : - TransferFunctions.CFG.Node.id -> - 'a InvariantMap.t -> - 'a option
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/index.html deleted file mode 100644 index 9bd3dbf186a..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/Analyzer/index.html +++ /dev/null @@ -1,6 +0,0 @@ - -Analyzer (infer.UnitTests.TaintTests.MockTaintAnalysis.Analyzer)

    Module MockTaintAnalysis.Analyzer

    module Interpreter : sig ... end
    val compute_post : - Interpreter.TransferFunctions.analysis_data -> - initial:domain -> - IR.Procdesc.t -> - domain option
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/HilConfig/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/HilConfig/index.html deleted file mode 100644 index b194b5b9a6a..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/HilConfig/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -HilConfig (infer.UnitTests.TaintTests.MockTaintAnalysis.HilConfig)

    Module MockTaintAnalysis.HilConfig

    val include_array_indexes : bool

    if true, array index expressions will appear in access paths

    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TaintDomain/AccessMap/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TaintDomain/AccessMap/index.html deleted file mode 100644 index 560259d3887..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TaintDomain/AccessMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -AccessMap (infer.UnitTests.TaintTests.MockTaintAnalysis.TaintDomain.AccessMap)

    Module TaintDomain.AccessMap

    type !'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TaintDomain/TraceDomain/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TaintDomain/TraceDomain/index.html deleted file mode 100644 index dec209cdf0d..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TaintDomain/TraceDomain/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TraceDomain (infer.UnitTests.TaintTests.MockTaintAnalysis.TaintDomain.TraceDomain)

    Module TaintDomain.TraceDomain

    type t = MockTrace.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TaintDomain/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TaintDomain/index.html deleted file mode 100644 index 409b5f2d34f..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TaintDomain/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -TaintDomain (infer.UnitTests.TaintTests.MockTaintAnalysis.TaintDomain)

    Module MockTaintAnalysis.TaintDomain

    module TraceDomain : sig ... end
    module AccessMap : sig ... end
    module BaseMap = Absint.AccessPath.BaseMap
    type node = TraceDomain.t * tree
    and tree =
    1. | Subtree of node AccessMap.t
    2. | Star
    type t = node BaseMap.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    val empty_node : node
    val make_node : TraceDomain.t -> node AccessMap.t -> node
    val make_access_node : - TraceDomain.t -> - Absint.AccessPath.access -> - TraceDomain.t -> - node
    val make_normal_leaf : TraceDomain.t -> node
    val make_starred_leaf : TraceDomain.t -> node
    val get_node : Absint.AccessPath.Abs.t -> t -> node option
    val get_trace : Absint.AccessPath.Abs.t -> t -> TraceDomain.t option
    val add_node : Absint.AccessPath.Abs.t -> node -> t -> t
    val add_trace : Absint.AccessPath.Abs.t -> TraceDomain.t -> t -> t
    val node_join : node -> node -> node
    val fold : ('a -> Absint.AccessPath.Abs.t -> node -> 'a) -> t -> 'a -> 'a
    val trace_fold : - ('a -> Absint.AccessPath.Abs.t -> TraceDomain.t -> 'a) -> - t -> - 'a -> - 'a
    val exists : (Absint.AccessPath.Abs.t -> node -> bool) -> t -> bool
    val iter : (Absint.AccessPath.Abs.t -> node -> unit) -> t -> unit
    val depth : t -> int
    val pp_node : Stdlib.Format.formatter -> node -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sanitizer/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sanitizer/index.html deleted file mode 100644 index fc89fce93fa..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sanitizer/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sanitizer (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain.Sanitizer)

    Module TraceDomain.Sanitizer

    val compare : t Base__Ppx_compare_lib.compare
    val get : IR.Procname.t -> IR.Tenv.t -> t option
    val pp : Absint__Sanitizer.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sink/Kind/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sink/Kind/index.html deleted file mode 100644 index 2671403ffbe..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sink/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain.Sink.Kind)

    Module Sink.Kind

    type t
    val compare : t Base__Ppx_compare_lib.compare
    val equal : t Base__Ppx_compare_lib.equal
    val matches : caller:t -> callee:t -> bool
    val pp : Absint__TaintTraceElem.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sink/Set/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sink/Set/index.html deleted file mode 100644 index dde1a3b3bf3..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sink/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain.Sink.Set)

    Module Sink.Set

    type elt = t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sink/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sink/index.html deleted file mode 100644 index 566ff72c596..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sink/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -Sink (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain.Sink)

    Module TraceDomain.Sink

    val compare : t Base__Ppx_compare_lib.compare
    val equal : t Base__Ppx_compare_lib.equal
    module Kind : sig ... end
    val call_site : t -> Absint.CallSite.t
    val kind : t -> Kind.t
    val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> Absint.CallSite.t -> t
    val with_callsite : t -> Absint.CallSite.t -> t
    val pp : Absint__TaintTraceElem.F.formatter -> t -> unit
    module Set : sig ... end
    val get : - Absint.CallSite.t -> - Absint.HilExp.t list -> - IR.CallFlags.t -> - IR.Tenv.t -> - t list
    val indexes : t -> IStdlib.IntSet.t
    val with_indexes : t -> IStdlib.IntSet.t -> t
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sinks/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sinks/index.html deleted file mode 100644 index e79db44efa0..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sinks/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sinks (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain.Sinks)

    Module TraceDomain.Sinks

    type elt = Sink.t
    type t = Sink.Set.t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Source/Kind/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Source/Kind/index.html deleted file mode 100644 index 0ed4e18ba88..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Source/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain.Source.Kind)

    Module Source.Kind

    type t
    val compare : t Base__Ppx_compare_lib.compare
    val equal : t Base__Ppx_compare_lib.equal
    val matches : caller:t -> callee:t -> bool
    val pp : Absint__TaintTraceElem.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Source/Set/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Source/Set/index.html deleted file mode 100644 index 0a09737bbe8..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Source/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain.Source.Set)

    Module Source.Set

    type elt = t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Source/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Source/index.html deleted file mode 100644 index 974ac5ce0d5..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Source/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Source (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain.Source)

    Module TraceDomain.Source

    val compare : t Base__Ppx_compare_lib.compare
    val equal : t Base__Ppx_compare_lib.equal
    module Kind : sig ... end
    val call_site : t -> Absint.CallSite.t
    val kind : t -> Kind.t
    val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> Absint.CallSite.t -> t
    val with_callsite : t -> Absint.CallSite.t -> t
    val pp : Absint__TaintTraceElem.F.formatter -> t -> unit
    module Set : sig ... end
    type spec = MockTrace.Source.spec = {
    1. source : t;
    2. index : int option;
    }
    val get : - caller_pname:IR.Procname.t -> - Absint.CallSite.t -> - Absint.HilExp.t list -> - IR.Tenv.t -> - spec list
    val get_tainted_formals : - IR.Procdesc.t -> - IR.Tenv.t -> - (IR.Mangled.t * IR.Typ.t * t option) list
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Footprint/AccessMap/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Footprint/AccessMap/index.html deleted file mode 100644 index 925b840e381..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Footprint/AccessMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -AccessMap (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain.Sources.Footprint.AccessMap)

    Module Footprint.AccessMap

    type !'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Footprint/TraceDomain/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Footprint/TraceDomain/index.html deleted file mode 100644 index 2be3db2afd0..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Footprint/TraceDomain/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TraceDomain (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain.Sources.Footprint.TraceDomain)

    Module Footprint.TraceDomain

    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Footprint/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Footprint/index.html deleted file mode 100644 index c20a00688a4..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Footprint/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Footprint (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain.Sources.Footprint)

    Module Sources.Footprint

    module TraceDomain : sig ... end
    module AccessMap : sig ... end
    module BaseMap = Absint.AccessPath.BaseMap
    type node = TraceDomain.t * tree
    and tree =
    1. | Subtree of node AccessMap.t
    2. | Star
    type t = node BaseMap.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    val empty_node : node
    val make_node : TraceDomain.t -> node AccessMap.t -> node
    val make_access_node : - TraceDomain.t -> - Absint.AccessPath.access -> - TraceDomain.t -> - node
    val make_normal_leaf : TraceDomain.t -> node
    val make_starred_leaf : TraceDomain.t -> node
    val get_node : Absint.AccessPath.Abs.t -> t -> node option
    val get_trace : Absint.AccessPath.Abs.t -> t -> TraceDomain.t option
    val add_node : Absint.AccessPath.Abs.t -> node -> t -> t
    val add_trace : Absint.AccessPath.Abs.t -> TraceDomain.t -> t -> t
    val node_join : node -> node -> node
    val fold : ('a -> Absint.AccessPath.Abs.t -> node -> 'a) -> t -> 'a -> 'a
    val trace_fold : - ('a -> Absint.AccessPath.Abs.t -> TraceDomain.t -> 'a) -> - t -> - 'a -> - 'a
    val exists : (Absint.AccessPath.Abs.t -> node -> bool) -> t -> bool
    val iter : (Absint.AccessPath.Abs.t -> node -> unit) -> t -> unit
    val depth : t -> int
    val pp_node : Stdlib.Format.formatter -> node -> unit
    val mem : Absint.AccessPath.Abs.t -> t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/FootprintConfig/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/FootprintConfig/index.html deleted file mode 100644 index 169d765c163..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/FootprintConfig/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -FootprintConfig (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain.Sources.FootprintConfig)

    Module Sources.FootprintConfig

    val max_depth : int
    val max_width : int
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Known/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Known/index.html deleted file mode 100644 index 9f7e9f38f22..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Known/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Known (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain.Sources.Known)

    Module Sources.Known

    type elt = Source.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Sanitizers/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Sanitizers/index.html deleted file mode 100644 index 4079aaa0a02..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/Sanitizers/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sanitizers (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain.Sources.Sanitizers)

    Module Sources.Sanitizers

    type elt = Sanitizer.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/index.html deleted file mode 100644 index ffb6122e706..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/Sources/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sources (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain.Sources)

    Module TraceDomain.Sources

    module Known : sig ... end
    module FootprintConfig : sig ... end
    module Footprint : sig ... end
    module Sanitizers : sig ... end
    type t = MockTrace.Sources.t = {
    1. known : Known.t;
    2. footprint : Footprint.t;
    3. sanitizers : Sanitizers.t;
    }
    val empty : t
    val is_empty : t -> bool
    val of_source : Source.t -> t
    val of_footprint : Absint.AccessPath.Abs.t -> t
    val add : Source.t -> t -> t
    val get_footprint_indexes : t -> IStdlib.IntSet.t
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/index.html deleted file mode 100644 index e3345fd376a..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TraceDomain/index.html +++ /dev/null @@ -1,19 +0,0 @@ - -TraceDomain (infer.UnitTests.TaintTests.MockTaintAnalysis.TraceDomain)

    Module MockTaintAnalysis.TraceDomain

    module Source : sig ... end
    module Sink : sig ... end
    module Sanitizer : sig ... end
    val get_report : - Source.t -> - Sink.t -> - Sanitizer.t list -> - IBase.IssueType.t option
    type t = MockTrace.t
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    module Sources : sig ... end
    module Sinks : sig ... end
    module Passthroughs = Absint.Passthrough.Set
    type path = - Passthroughs.t - * (Source.t * Passthroughs.t) list - * (Sink.t * Passthroughs.t) list
    type report = MockTrace.report = {
    1. issue : IBase.IssueType.t;
    2. path_source : Source.t;
    3. path_sink : Sink.t;
    4. path_passthroughs : Passthroughs.t;
    }
    val sources : t -> Sources.t
    val sinks : t -> Sinks.t
    val passthroughs : t -> Passthroughs.t
    val get_reports : ?cur_site:Absint.CallSite.t -> t -> report list
    val get_reportable_paths : - ?cur_site:Absint.CallSite.t -> - t -> - trace_of_pname:(IR.Procname.t -> t) -> - path list
    val to_loc_trace : - ?desc_of_source:(Source.t -> string) -> - ?source_should_nest:(Source.t -> bool) -> - ?desc_of_sink:(Sink.t -> string) -> - ?sink_should_nest:(Sink.t -> bool) -> - path -> - Absint.Errlog.loc_trace
    val of_source : Source.t -> t
    val of_footprint : Absint.AccessPath.Abs.t -> t
    val add_source : Source.t -> t -> t
    val add_sink : Sink.t -> t -> t
    val add_sanitizer : Sanitizer.t -> t -> t
    val update_sources : t -> Sources.t -> t
    val update_sinks : t -> Sinks.t -> t
    val get_footprint_indexes : t -> IStdlib.IntSet.t
    val append : t -> t -> Absint.CallSite.t -> t
    val pp : Absint__TaintTrace.F.formatter -> t -> unit
    val pp_path : IR.Procname.t -> Absint__TaintTrace.F.formatter -> path -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/Node/IdMap/index.html deleted file mode 100644 index 74c7f41304c..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/Node/IdMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -IdMap (infer.UnitTests.TaintTests.MockTaintAnalysis.TransferFunctions.CFG.Node.IdMap)

    Module Node.IdMap

    type key = id
    type !'a t = 'a CFG.Node.IdMap.t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/Node/IdSet/index.html deleted file mode 100644 index bd7231730ed..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/Node/IdSet/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -IdSet (infer.UnitTests.TaintTests.MockTaintAnalysis.TransferFunctions.CFG.Node.IdSet)

    Module Node.IdSet

    type elt = id
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/Node/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/Node/index.html deleted file mode 100644 index da76a67109f..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/Node/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Node (infer.UnitTests.TaintTests.MockTaintAnalysis.TransferFunctions.CFG.Node)

    Module CFG.Node

    type t = CFG.Node.t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    type id = CFG.Node.id
    val compare_id : id -> id -> int
    val equal_id : id -> id -> bool
    val id : t -> id
    val loc : t -> IBase.Location.t
    val underlying_node : t -> IR.Procdesc.Node.t
    val of_underlying_node : IR.Procdesc.Node.t -> t
    val pp_id : Stdlib.Format.formatter -> id -> unit
    module IdMap : sig ... end
    module IdSet : sig ... end
    val to_instr : int -> t -> IR.Procdesc.Node.t * int
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/index.html deleted file mode 100644 index c3ca6fc4bcf..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/CFG/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -CFG (infer.UnitTests.TaintTests.MockTaintAnalysis.TransferFunctions.CFG)

    Module TransferFunctions.CFG

    type t = CFG.t
    type instrs_dir = CFG.instrs_dir
    module Node : sig ... end
    val instrs : Node.t -> instrs_dir IR.Instrs.t
    val fold_succs : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_preds : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_normal_succs : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_normal_preds : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_exceptional_succs : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_exceptional_preds : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val start_node : t -> Node.t
    val exit_node : t -> Node.t
    val exn_sink_node : t -> Node.t option
    val proc_desc : t -> IR.Procdesc.t
    val fold_nodes : (t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val from_pdesc : IR.Procdesc.t -> t
    val is_loop_head : IR.Procdesc.t -> Node.t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/argument-1-CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/argument-1-CFG/Node/IdMap/index.html deleted file mode 100644 index d5b15f3ac84..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/argument-1-CFG/Node/IdMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -IdMap (infer.UnitTests.TaintTests.MockTaintAnalysis.TransferFunctions.CFG.Node.IdMap)

    Module Node.IdMap

    include IStdlib.IStd.Caml.Map.S with type key = id
    type key = id
    type !+'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib.PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib.PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib.PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/argument-1-CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/argument-1-CFG/Node/IdSet/index.html deleted file mode 100644 index c808254a57e..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/argument-1-CFG/Node/IdSet/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -IdSet (infer.UnitTests.TaintTests.MockTaintAnalysis.TransferFunctions.CFG.Node.IdSet)

    Module Node.IdSet

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

    Module CFG.Node

    include Absint.ProcCfg.NodeCommonS
    type t
    include Ppx_hash_lib.Hashable.S with type t := t
    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    type id
    val compare_id : id -> id -> int
    val equal_id : id -> id -> bool
    val id : t -> id
    val loc : t -> IBase.Location.t
    val underlying_node : t -> IR.Procdesc.Node.t
    val of_underlying_node : IR.Procdesc.Node.t -> t
    val pp_id : Stdlib.Format.formatter -> id -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/argument-1-CFG/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/argument-1-CFG/index.html deleted file mode 100644 index 09e6c7b2a17..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/argument-1-CFG/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -CFG (infer.UnitTests.TaintTests.MockTaintAnalysis.TransferFunctions.CFG)

    Parameter TransferFunctions.CFG

    type t
    type instrs_dir
    val instrs : Node.t -> instrs_dir IR.Instrs.t

    get the instructions from a node

    val fold_succs : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold

    fold over all successors (normal and exceptional)

    val fold_preds : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold

    fold over all predecessors (normal and exceptional)

    val fold_normal_succs : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold

    fold over non-exceptional successors

    val fold_normal_preds : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold

    fold over non-exceptional predecessors

    val fold_exceptional_succs : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold

    fold over exceptional successors

    val fold_exceptional_preds : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold

    fold over exceptional predescessors

    val start_node : t -> Node.t
    val exit_node : t -> Node.t
    val exn_sink_node : t -> Node.t option
    val proc_desc : t -> IR.Procdesc.t
    val fold_nodes : (t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val from_pdesc : IR.Procdesc.t -> t
    val is_loop_head : IR.Procdesc.t -> Node.t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/index.html deleted file mode 100644 index 58cc0894ad2..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/TransferFunctions/index.html +++ /dev/null @@ -1,82 +0,0 @@ - -TransferFunctions (infer.UnitTests.TaintTests.MockTaintAnalysis.TransferFunctions)

    Module MockTaintAnalysis.TransferFunctions

    Parameters

    Signature

    module CFG : sig ... end
    module Domain = Domain
    type nonrec analysis_data = analysis_data
    val access_path_get_node : - Absint.AccessPath.Abs.t -> - TaintDomain.t -> - Absint.FormalMap.t -> - TaintDomain.node option
    val exp_get_node_ : - abstracted:bool -> - Absint.AccessPath.Abs.raw -> - TaintDomain.t -> - Absint.FormalMap.t -> - TaintDomain.node option
    val hil_exp_get_node : - ?abstracted:bool -> - Absint.HilExp.t -> - TaintDomain.t -> - Absint.FormalMap.t -> - TaintDomain.node option
    val add_return_source : - TraceDomain.Source.t -> - (IR.Var.t * IR.Typ.t) -> - TaintDomain.t -> - TaintDomain.t
    val add_actual_source : - TraceDomain.Source.t -> - int -> - Absint.HilExp.t list -> - TaintDomain.t -> - Absint.FormalMap.t -> - TaintDomain.t
    val is_endpoint : TraceDomain.Source.t -> bool
    val apply_summary : - analysis_data -> - (IR.Var.t * IR.Typ.t) option -> - Absint.HilExp.t list -> - TaintDomain.t -> - TaintDomain.t -> - Absint.CallSite.t -> - TaintDomain.t
    val add_sinks_for_access_path : - analysis_data -> - Absint.HilExp.AccessExpression.t -> - IBase.Location.t -> - TaintDomain.t -> - TaintDomain.t
    val add_sources_for_access_path : - analysis_data -> - Absint.HilExp.access_expression -> - IBase.Location.t -> - TaintDomain.t -> - TaintDomain.t
    val add_sources_sinks_for_exp : - analysis_data -> - Absint.HilExp.t -> - IBase.Location.t -> - TaintDomain.t -> - TaintDomain.t
    val exec_write : - Absint.FormalMap.t -> - Absint__HilExp.access_expression -> - Absint.HilExp.t -> - TaintDomain.t -> - TaintDomain.t
    val analyze_call : - analysis_data -> - ret_ap:(IR.Var.t * IR.Typ.t) -> - callee_pname:IR.Procname.t -> - actuals:Absint.HilExp.t list -> - call_flags:IR.CallFlags.t -> - callee_loc:IBase.Location.t -> - TaintDomain.t -> - TaintDomain.t
    val exec_instr : - Domain.t -> - analysis_data -> - 'a -> - 'b -> - Absint.HilInstr.t -> - Domain.t
    val pp_session_name : CFG.Node.t -> Quandary__TaintAnalysis.F.formatter -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/index.html deleted file mode 100644 index a06d226d060..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTaintAnalysis/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -MockTaintAnalysis (infer.UnitTests.TaintTests.MockTaintAnalysis)

    Module TaintTests.MockTaintAnalysis

    module TraceDomain : sig ... end
    module TaintDomain : sig ... end
    module Domain = TaintDomain
    type analysis_data = {
    1. analysis_data : Quandary.QuandarySummary.t Absint.InterproceduralAnalysis.t;
    2. formal_map : Absint.FormalMap.t;
    }
    module TransferFunctions (CFG : Absint.ProcCfg.S) : sig ... end
    module Analyzer : sig ... end
    val check_invariants : TaintDomain.t -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sanitizer/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sanitizer/index.html deleted file mode 100644 index 84b28e95e9e..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sanitizer/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sanitizer (infer.UnitTests.TaintTests.MockTrace.Sanitizer)

    Module MockTrace.Sanitizer

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val get : IR.Procname.t -> IR.Tenv.t -> t option

    Get the sanitizer that should be applied to the return value of given procedure, if any

    val pp : Absint.Sanitizer.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sink/Kind/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sink/Kind/index.html deleted file mode 100644 index 240ecdb80da..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sink/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (infer.UnitTests.TaintTests.MockTrace.Sink.Kind)

    Module Sink.Kind

    type t
    val compare : t Base__Ppx_compare_lib.compare
    val equal : t Base__Ppx_compare_lib.equal
    val matches : caller:t -> callee:t -> bool
    val pp : Absint__TaintTraceElem.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sink/Set/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sink/Set/index.html deleted file mode 100644 index c9a3b55b507..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sink/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.UnitTests.TaintTests.MockTrace.Sink.Set)

    Module Sink.Set

    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sink/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sink/index.html deleted file mode 100644 index f07e1294406..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sink/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -Sink (infer.UnitTests.TaintTests.MockTrace.Sink)

    Module MockTrace.Sink

    type t
    val compare : t Base__Ppx_compare_lib.compare
    val equal : t Base__Ppx_compare_lib.equal
    module Kind : sig ... end
    val call_site : t -> Absint.CallSite.t
    val kind : t -> Kind.t
    val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> Absint.CallSite.t -> t
    val with_callsite : t -> Absint.CallSite.t -> t
    val pp : Absint__TaintTraceElem.F.formatter -> t -> unit
    module Set : sig ... end
    val get : - Absint.CallSite.t -> - Absint.HilExp.t list -> - IR.CallFlags.t -> - IR.Tenv.t -> - t list
    val indexes : t -> IStdlib.IntSet.t
    val with_indexes : t -> IStdlib.IntSet.t -> t
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Source/Kind/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Source/Kind/index.html deleted file mode 100644 index 7bbf859a245..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Source/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (infer.UnitTests.TaintTests.MockTrace.Source.Kind)

    Module Source.Kind

    type t
    val compare : t Base__Ppx_compare_lib.compare
    val equal : t Base__Ppx_compare_lib.equal
    val matches : caller:t -> callee:t -> bool
    val pp : Absint__TaintTraceElem.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Source/Set/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Source/Set/index.html deleted file mode 100644 index 6b3506d2d48..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Source/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.UnitTests.TaintTests.MockTrace.Source.Set)

    Module Source.Set

    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Source/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Source/index.html deleted file mode 100644 index f7af0bcbd56..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Source/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Source (infer.UnitTests.TaintTests.MockTrace.Source)

    Module MockTrace.Source

    type t
    val compare : t Base__Ppx_compare_lib.compare
    val equal : t Base__Ppx_compare_lib.equal
    module Kind : sig ... end
    val call_site : t -> Absint.CallSite.t
    val kind : t -> Kind.t
    val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> Absint.CallSite.t -> t
    val with_callsite : t -> Absint.CallSite.t -> t
    val pp : Absint__TaintTraceElem.F.formatter -> t -> unit
    module Set : sig ... end
    type spec = {
    1. source : t;
    2. index : int option;
    }
    val get : - caller_pname:IR.Procname.t -> - Absint.CallSite.t -> - Absint.HilExp.t list -> - IR.Tenv.t -> - spec list
    val get_tainted_formals : - IR.Procdesc.t -> - IR.Tenv.t -> - (IR.Mangled.t * IR.Typ.t * t option) list
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Footprint/AccessMap/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Footprint/AccessMap/index.html deleted file mode 100644 index b768480ed87..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Footprint/AccessMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -AccessMap (infer.UnitTests.TaintTests.MockTrace.Sources.Footprint.AccessMap)

    Module Footprint.AccessMap

    type !'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Footprint/TraceDomain/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Footprint/TraceDomain/index.html deleted file mode 100644 index f4d04e68e2d..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Footprint/TraceDomain/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TraceDomain (infer.UnitTests.TaintTests.MockTrace.Sources.Footprint.TraceDomain)

    Module Footprint.TraceDomain

    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Footprint/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Footprint/index.html deleted file mode 100644 index 5a39d23e131..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Footprint/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Footprint (infer.UnitTests.TaintTests.MockTrace.Sources.Footprint)

    Module Sources.Footprint

    module TraceDomain : sig ... end
    module AccessMap : sig ... end
    module BaseMap = Absint.AccessPath.BaseMap
    type node = TraceDomain.t * tree
    and tree =
    1. | Subtree of node AccessMap.t
    2. | Star
    type t = node BaseMap.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    val empty_node : node
    val make_node : TraceDomain.t -> node AccessMap.t -> node
    val make_access_node : - TraceDomain.t -> - Absint.AccessPath.access -> - TraceDomain.t -> - node
    val make_normal_leaf : TraceDomain.t -> node
    val make_starred_leaf : TraceDomain.t -> node
    val get_node : Absint.AccessPath.Abs.t -> t -> node option
    val get_trace : Absint.AccessPath.Abs.t -> t -> TraceDomain.t option
    val add_node : Absint.AccessPath.Abs.t -> node -> t -> t
    val add_trace : Absint.AccessPath.Abs.t -> TraceDomain.t -> t -> t
    val node_join : node -> node -> node
    val fold : ('a -> Absint.AccessPath.Abs.t -> node -> 'a) -> t -> 'a -> 'a
    val trace_fold : - ('a -> Absint.AccessPath.Abs.t -> TraceDomain.t -> 'a) -> - t -> - 'a -> - 'a
    val exists : (Absint.AccessPath.Abs.t -> node -> bool) -> t -> bool
    val iter : (Absint.AccessPath.Abs.t -> node -> unit) -> t -> unit
    val depth : t -> int
    val pp_node : Stdlib.Format.formatter -> node -> unit
    val mem : Absint.AccessPath.Abs.t -> t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/FootprintConfig/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/FootprintConfig/index.html deleted file mode 100644 index 896ea39b2b6..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/FootprintConfig/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -FootprintConfig (infer.UnitTests.TaintTests.MockTrace.Sources.FootprintConfig)

    Module Sources.FootprintConfig

    val max_depth : int
    val max_width : int
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Known/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Known/index.html deleted file mode 100644 index 5b923b8d761..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Known/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Known (infer.UnitTests.TaintTests.MockTrace.Sources.Known)

    Module Sources.Known

    type elt = Source.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Sanitizers/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Sanitizers/index.html deleted file mode 100644 index d6d14c5c5da..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/Sanitizers/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sanitizers (infer.UnitTests.TaintTests.MockTrace.Sources.Sanitizers)

    Module Sources.Sanitizers

    type elt = Sanitizer.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/index.html deleted file mode 100644 index d9f2b910f52..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/Sources/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sources (infer.UnitTests.TaintTests.MockTrace.Sources)

    Module MockTrace.Sources

    module Known : sig ... end
    module Footprint : sig ... end
    module Sanitizers : sig ... end
    type t = {
    1. known : Known.t;
    2. footprint : Footprint.t;
    3. sanitizers : Sanitizers.t;
    }
    val empty : t
    val is_empty : t -> bool
    val of_source : Source.t -> t
    val of_footprint : Absint.AccessPath.Abs.t -> t
    val add : Source.t -> t -> t
    val get_footprint_indexes : t -> IStdlib.IntSet.t
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/index.html deleted file mode 100644 index 18b2751da5d..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/MockTrace/index.html +++ /dev/null @@ -1,19 +0,0 @@ - -MockTrace (infer.UnitTests.TaintTests.MockTrace)

    Module TaintTests.MockTrace

    module Source : sig ... end
    module Sink : sig ... end
    val get_report : - Source.t -> - Sink.t -> - Sanitizer.t list -> - IBase.IssueType.t option
    type t
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    module Sources : sig ... end
    module Sinks = Sink.Set
    module Passthroughs = Absint.Passthrough.Set
    type path = - Passthroughs.t - * (Source.t * Passthroughs.t) list - * (Sink.t * Passthroughs.t) list
    type report = {
    1. issue : IBase.IssueType.t;
    2. path_source : Source.t;
    3. path_sink : Sink.t;
    4. path_passthroughs : Passthroughs.t;
    }
    val sources : t -> Sources.t
    val sinks : t -> Sinks.t
    val passthroughs : t -> Passthroughs.t
    val get_reports : ?cur_site:Absint.CallSite.t -> t -> report list
    val get_reportable_paths : - ?cur_site:Absint.CallSite.t -> - t -> - trace_of_pname:(IR.Procname.t -> t) -> - path list
    val to_loc_trace : - ?desc_of_source:(Source.t -> string) -> - ?source_should_nest:(Source.t -> bool) -> - ?desc_of_sink:(Sink.t -> string) -> - ?sink_should_nest:(Sink.t -> bool) -> - path -> - Absint.Errlog.loc_trace
    val of_source : Source.t -> t
    val of_footprint : Absint.AccessPath.Abs.t -> t
    val add_source : Source.t -> t -> t
    val add_sink : Sink.t -> t -> t
    val add_sanitizer : Sanitizer.t -> t -> t
    val update_sources : t -> Sources.t -> t
    val update_sinks : t -> Sinks.t -> t
    val get_footprint_indexes : t -> IStdlib.IntSet.t
    val append : t -> t -> Absint.CallSite.t -> t
    val pp : Absint__TaintTrace.F.formatter -> t -> unit
    val pp_path : IR.Procname.t -> Absint__TaintTrace.F.formatter -> path -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/M/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/M/index.html deleted file mode 100644 index 799e155c4eb..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/M/index.html +++ /dev/null @@ -1,15 +0,0 @@ - -M (infer.UnitTests.TaintTests.TestInterpreter.AI_RPO.M)

    Module AI_RPO.M

    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/Node/IdMap/index.html deleted file mode 100644 index 575375bc48b..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/Node/IdMap/index.html +++ /dev/null @@ -1,14 +0,0 @@ - -IdMap (infer.UnitTests.TaintTests.TestInterpreter.AI_RPO.T.CFG.Node.IdMap)

    Module Node.IdMap

    type key = id
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/Node/IdSet/index.html deleted file mode 100644 index 91611ef8639..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/Node/IdSet/index.html +++ /dev/null @@ -1,3 +0,0 @@ - -IdSet (infer.UnitTests.TaintTests.TestInterpreter.AI_RPO.T.CFG.Node.IdSet)

    Module Node.IdSet

    type elt = id
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/Node/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/Node/index.html deleted file mode 100644 index cb924a4870f..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/Node/index.html +++ /dev/null @@ -1,3 +0,0 @@ - -Node (infer.UnitTests.TaintTests.TestInterpreter.AI_RPO.T.CFG.Node)

    Module CFG.Node

    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val compare_id : id -> id -> int
    val equal_id : id -> id -> bool
    val id : t -> id
    val loc : t -> IBase.Location.t
    val underlying_node : t -> IR.Procdesc.Node.t
    val of_underlying_node : IR.Procdesc.Node.t -> t
    val pp_id : Stdlib.Format.formatter -> id -> unit
    module IdMap : sig ... end
    module IdSet : sig ... end
    val to_instr : int -> t -> IR.Procdesc.Node.t * int
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/index.html deleted file mode 100644 index 6edf13b9c9c..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/CFG/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -CFG (infer.UnitTests.TaintTests.TestInterpreter.AI_RPO.T.CFG)

    Module T.CFG

    module Node : sig ... end
    val instrs : Node.t -> instrs_dir IR.Instrs.t
    val fold_succs : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_preds : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_normal_succs : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_normal_preds : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_exceptional_succs : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_exceptional_preds : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val start_node : t -> Node.t
    val exit_node : t -> Node.t
    val exn_sink_node : t -> Node.t option
    val proc_desc : t -> IR.Procdesc.t
    val fold_nodes : (t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val from_pdesc : IR.Procdesc.t -> t
    val is_loop_head : IR.Procdesc.t -> Node.t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/Domain/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/Domain/index.html deleted file mode 100644 index 3c2630f7955..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/Domain/index.html +++ /dev/null @@ -1,3 +0,0 @@ - -Domain (infer.UnitTests.TaintTests.TestInterpreter.AI_RPO.T.Domain)

    Module T.Domain

    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/index.html deleted file mode 100644 index 6ea9f73cd79..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/T/index.html +++ /dev/null @@ -1,9 +0,0 @@ - -T (infer.UnitTests.TaintTests.TestInterpreter.AI_RPO.T)

    Module AI_RPO.T

    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/index.html deleted file mode 100644 index 3f8ec1cdb5e..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_RPO/index.html +++ /dev/null @@ -1,15 +0,0 @@ - -AI_RPO (infer.UnitTests.TaintTests.TestInterpreter.AI_RPO)

    Module TestInterpreter.AI_RPO

    module T : sig ... end
    module M : sig ... end
    val gen_pname : unit -> IR.Procname.t
    val structured_program_to_cfg : - UnitTests__AnalyzerTester.StructuredSil.structured_instr Base__List.t -> - Backend__Summary.t * (string * int) M.t * IR.Procdesc.t
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/M/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/M/index.html deleted file mode 100644 index 5648fbc7e0c..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/M/index.html +++ /dev/null @@ -1,15 +0,0 @@ - -M (infer.UnitTests.TaintTests.TestInterpreter.AI_WTO.M)

    Module AI_WTO.M

    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/Node/IdMap/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/Node/IdMap/index.html deleted file mode 100644 index 38cde300ccb..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/Node/IdMap/index.html +++ /dev/null @@ -1,14 +0,0 @@ - -IdMap (infer.UnitTests.TaintTests.TestInterpreter.AI_WTO.T.CFG.Node.IdMap)

    Module Node.IdMap

    type key = id
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/Node/IdSet/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/Node/IdSet/index.html deleted file mode 100644 index 4f3f2884b77..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/Node/IdSet/index.html +++ /dev/null @@ -1,3 +0,0 @@ - -IdSet (infer.UnitTests.TaintTests.TestInterpreter.AI_WTO.T.CFG.Node.IdSet)

    Module Node.IdSet

    type elt = id
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/Node/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/Node/index.html deleted file mode 100644 index 3bea958590f..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/Node/index.html +++ /dev/null @@ -1,3 +0,0 @@ - -Node (infer.UnitTests.TaintTests.TestInterpreter.AI_WTO.T.CFG.Node)

    Module CFG.Node

    val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
    val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
    val compare_id : id -> id -> int
    val equal_id : id -> id -> bool
    val id : t -> id
    val loc : t -> IBase.Location.t
    val underlying_node : t -> IR.Procdesc.Node.t
    val of_underlying_node : IR.Procdesc.Node.t -> t
    val pp_id : Stdlib.Format.formatter -> id -> unit
    module IdMap : sig ... end
    module IdSet : sig ... end
    val to_instr : int -> t -> IR.Procdesc.Node.t * int
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/index.html deleted file mode 100644 index 58114bcb265..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/CFG/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -CFG (infer.UnitTests.TaintTests.TestInterpreter.AI_WTO.T.CFG)

    Module T.CFG

    module Node : sig ... end
    val instrs : Node.t -> instrs_dir IR.Instrs.t
    val fold_succs : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_preds : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_normal_succs : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_normal_preds : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_exceptional_succs : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val fold_exceptional_preds : - t -> - (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val start_node : t -> Node.t
    val exit_node : t -> Node.t
    val exn_sink_node : t -> Node.t option
    val proc_desc : t -> IR.Procdesc.t
    val fold_nodes : (t, Node.t, 'accum) IStdlib.IStd.Container.fold
    val from_pdesc : IR.Procdesc.t -> t
    val is_loop_head : IR.Procdesc.t -> Node.t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/Domain/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/Domain/index.html deleted file mode 100644 index ee3c7df77a0..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/Domain/index.html +++ /dev/null @@ -1,3 +0,0 @@ - -Domain (infer.UnitTests.TaintTests.TestInterpreter.AI_WTO.T.Domain)

    Module T.Domain

    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/index.html deleted file mode 100644 index c0248998db8..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/T/index.html +++ /dev/null @@ -1,9 +0,0 @@ - -T (infer.UnitTests.TaintTests.TestInterpreter.AI_WTO.T)

    Module AI_WTO.T

    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/index.html deleted file mode 100644 index ed69fd729d1..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/AI_WTO/index.html +++ /dev/null @@ -1,15 +0,0 @@ - -AI_WTO (infer.UnitTests.TaintTests.TestInterpreter.AI_WTO)

    Module TestInterpreter.AI_WTO

    module T : sig ... end
    module M : sig ... end
    val gen_pname : unit -> IR.Procname.t
    val structured_program_to_cfg : - UnitTests__AnalyzerTester.StructuredSil.structured_instr Base__List.t -> - Backend__Summary.t * (string * int) M.t * IR.Procdesc.t
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/index.html deleted file mode 100644 index 33539dce473..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/TestInterpreter/index.html +++ /dev/null @@ -1,27 +0,0 @@ - -TestInterpreter (infer.UnitTests.TaintTests.TestInterpreter)

    Module TaintTests.TestInterpreter

    module AI_RPO : sig ... end
    module AI_WTO : sig ... end
    diff --git a/website/static/odoc/next/infer/UnitTests/TaintTests/index.html b/website/static/odoc/next/infer/UnitTests/TaintTests/index.html deleted file mode 100644 index 647ce537d9a..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TaintTests/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TaintTests (infer.UnitTests.TaintTests)

    Module UnitTests.TaintTests

    module F = Stdlib.Format
    module MockTrace : sig ... end
    module MockTaintAnalysis : sig ... end
    module TestInterpreter : sig ... end
    val tests : OUnit2.test
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockSink/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockSink/index.html deleted file mode 100644 index 85636dc3542..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockSink/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -MockSink (infer.UnitTests.TraceTests.MockSink)

    Module TraceTests.MockSink

    include module type of struct include MockTraceElem end
    type t = MockTraceElem.t =
    1. | Kind1
    2. | Kind2
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val pp : Ppx_show_runtime.Format.formatter -> t -> unit
    val show : t -> string
    val matches : caller:t -> callee:t -> bool
    val call_site : 'a -> Absint.CallSite.t
    val kind : 'a -> 'b
    val make : ?indexes:'a -> 'b -> 'c -> 'd
    module Kind = MockTraceElem.Kind
    module Set = MockTraceElem.Set
    val with_callsite : 'a -> 'b -> 'c
    val with_indexes : 'a -> 'b -> 'c
    val get : 'a -> 'b
    val indexes : 'a -> IStdlib.IntSet.t
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockSource/Kind/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockSource/Kind/index.html deleted file mode 100644 index 53a4f6a115a..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockSource/Kind/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Kind (infer.UnitTests.TraceTests.MockSource.Kind)

    Module MockSource.Kind

    val compare : t Base__Ppx_compare_lib.compare
    val equal : t Base__Ppx_compare_lib.equal
    val matches : caller:t -> callee:t -> bool
    val pp : Absint__TaintTraceElem.F.formatter -> t -> unit
    val get : - caller_pname:IR.Procname.t -> - IR.Procname.t -> - Absint.HilExp.t list -> - IR.Tenv.t -> - (t * int option) list
    val get_tainted_formals : - IR.Procdesc.t -> - IR.Tenv.t -> - (IR.Mangled.t * IR.Typ.t * t option) list
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockSource/Set/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockSource/Set/index.html deleted file mode 100644 index bd917488404..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockSource/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.UnitTests.TraceTests.MockSource.Set)

    Module MockSource.Set

    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockSource/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockSource/index.html deleted file mode 100644 index 82a1b5b976e..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockSource/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -MockSource (infer.UnitTests.TraceTests.MockSource)

    Module TraceTests.MockSource

    include sig ... end
    type t
    val compare : t Base__Ppx_compare_lib.compare
    val equal : t Base__Ppx_compare_lib.equal
    module Kind : sig ... end
    val call_site : t -> Absint.CallSite.t
    val kind : t -> Kind.t
    val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> Absint.CallSite.t -> t
    val with_callsite : t -> Absint.CallSite.t -> t
    val pp : Absint__TaintTraceElem.F.formatter -> t -> unit
    module Set : sig ... end
    type spec = {
    1. source : t;
    2. index : int option;
    }
    val get : - caller_pname:IR.Procname.t -> - Absint.CallSite.t -> - Absint.HilExp.t list -> - IR.Tenv.t -> - spec list
    val get_tainted_formals : - IR.Procdesc.t -> - IR.Tenv.t -> - (IR.Mangled.t * IR.Typ.t * t option) list
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sanitizer/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sanitizer/index.html deleted file mode 100644 index ad39d94ba42..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sanitizer/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sanitizer (infer.UnitTests.TraceTests.MockTrace.Sanitizer)

    Module MockTrace.Sanitizer

    type t
    include Ppx_compare_lib.Comparable.S with type t := t
    val compare : t Base__Ppx_compare_lib.compare
    val get : IR.Procname.t -> IR.Tenv.t -> t option

    Get the sanitizer that should be applied to the return value of given procedure, if any

    val pp : Absint.Sanitizer.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sink/Kind/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sink/Kind/index.html deleted file mode 100644 index eb4ab4b12cb..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sink/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (infer.UnitTests.TraceTests.MockTrace.Sink.Kind)

    Module Sink.Kind

    val compare : t Base__Ppx_compare_lib.compare
    val equal : t Base__Ppx_compare_lib.equal
    val matches : caller:t -> callee:t -> bool
    val pp : Absint__TaintTraceElem.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sink/Set/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sink/Set/index.html deleted file mode 100644 index 7b0f2f68d17..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sink/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.UnitTests.TraceTests.MockTrace.Sink.Set)

    Module Sink.Set

    type elt = t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sink/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sink/index.html deleted file mode 100644 index 5707ac224c3..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sink/index.html +++ /dev/null @@ -1,7 +0,0 @@ - -Sink (infer.UnitTests.TraceTests.MockTrace.Sink)

    Module MockTrace.Sink

    val compare : t Base__Ppx_compare_lib.compare
    val equal : t Base__Ppx_compare_lib.equal
    module Kind : sig ... end
    val call_site : t -> Absint.CallSite.t
    val kind : t -> Kind.t
    val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> Absint.CallSite.t -> t
    val with_callsite : t -> Absint.CallSite.t -> t
    val pp : Absint__TaintTraceElem.F.formatter -> t -> unit
    module Set : sig ... end
    val get : - Absint.CallSite.t -> - Absint.HilExp.t list -> - IR.CallFlags.t -> - IR.Tenv.t -> - t list
    val indexes : t -> IStdlib.IntSet.t
    val with_indexes : t -> IStdlib.IntSet.t -> t
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Source/Kind/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Source/Kind/index.html deleted file mode 100644 index 8cdaa514e3d..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Source/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (infer.UnitTests.TraceTests.MockTrace.Source.Kind)

    Module Source.Kind

    val compare : t Base__Ppx_compare_lib.compare
    val equal : t Base__Ppx_compare_lib.equal
    val matches : caller:t -> callee:t -> bool
    val pp : Absint__TaintTraceElem.F.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Source/Set/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Source/Set/index.html deleted file mode 100644 index bb422c02691..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Source/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.UnitTests.TraceTests.MockTrace.Source.Set)

    Module Source.Set

    type elt = t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Source/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Source/index.html deleted file mode 100644 index 79fb8b8c124..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Source/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Source (infer.UnitTests.TraceTests.MockTrace.Source)

    Module MockTrace.Source

    type t = MockSource.t
    val compare : t Base__Ppx_compare_lib.compare
    val equal : t Base__Ppx_compare_lib.equal
    module Kind : sig ... end
    val call_site : t -> Absint.CallSite.t
    val kind : t -> Kind.t
    val make : ?indexes:IStdlib.IntSet.t -> Kind.t -> Absint.CallSite.t -> t
    val with_callsite : t -> Absint.CallSite.t -> t
    val pp : Absint__TaintTraceElem.F.formatter -> t -> unit
    module Set : sig ... end
    type spec = MockSource.spec = {
    1. source : t;
    2. index : int option;
    }
    val get : - caller_pname:IR.Procname.t -> - Absint.CallSite.t -> - Absint.HilExp.t list -> - IR.Tenv.t -> - spec list
    val get_tainted_formals : - IR.Procdesc.t -> - IR.Tenv.t -> - (IR.Mangled.t * IR.Typ.t * t option) list
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Footprint/AccessMap/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Footprint/AccessMap/index.html deleted file mode 100644 index 3dfacbe2b4a..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Footprint/AccessMap/index.html +++ /dev/null @@ -1,12 +0,0 @@ - -AccessMap (infer.UnitTests.TraceTests.MockTrace.Sources.Footprint.AccessMap)

    Module Footprint.AccessMap

    type !'a t
    val empty : 'a t
    val is_empty : 'a t -> bool
    val mem : key -> 'a t -> bool
    val add : key -> 'a -> 'a t -> 'a t
    val update : key -> ('a option -> 'a option) -> 'a t -> 'a t
    val singleton : key -> 'a -> 'a t
    val remove : key -> 'a t -> 'a t
    val merge : - (key -> 'a option -> 'b option -> 'c option) -> - 'a t -> - 'b t -> - 'c t
    val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
    val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
    val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
    val iter : (key -> 'a -> unit) -> 'a t -> unit
    val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
    val for_all : (key -> 'a -> bool) -> 'a t -> bool
    val exists : (key -> 'a -> bool) -> 'a t -> bool
    val filter : (key -> 'a -> bool) -> 'a t -> 'a t
    val filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
    val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
    val cardinal : 'a t -> int
    val bindings : 'a t -> (key * 'a) list
    val min_binding : 'a t -> key * 'a
    val min_binding_opt : 'a t -> (key * 'a) option
    val max_binding : 'a t -> key * 'a
    val max_binding_opt : 'a t -> (key * 'a) option
    val choose : 'a t -> key * 'a
    val choose_opt : 'a t -> (key * 'a) option
    val split : key -> 'a t -> 'a t * 'a option * 'a t
    val find : key -> 'a t -> 'a
    val find_opt : key -> 'a t -> 'a option
    val find_first : (key -> bool) -> 'a t -> key * 'a
    val find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val find_last : (key -> bool) -> 'a t -> key * 'a
    val find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
    val map : ('a -> 'b) -> 'a t -> 'b t
    val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
    val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_rev_seq : 'a t -> (key * 'a) Stdlib.Seq.t
    val to_seq_from : key -> 'a t -> (key * 'a) Stdlib.Seq.t
    val add_seq : (key * 'a) Stdlib.Seq.t -> 'a t -> 'a t
    val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t
    val fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c t
    val fold_mapi : 'a t -> init:'b -> f:(key -> 'b -> 'a -> 'b * 'c) -> 'b * 'c t
    val is_singleton_or_more : - 'a t -> - (key * 'a) IStdlib.IContainer.singleton_or_more
    val pp_key : IStdlib__PrettyPrintable.F.formatter -> key -> unit
    val pp : - pp_value:(IStdlib__PrettyPrintable.F.formatter -> 'a -> unit) -> - IStdlib__PrettyPrintable.F.formatter -> - 'a t -> - unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Footprint/TraceDomain/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Footprint/TraceDomain/index.html deleted file mode 100644 index a5cb01e60d3..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Footprint/TraceDomain/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TraceDomain (infer.UnitTests.TraceTests.MockTrace.Sources.Footprint.TraceDomain)

    Module Footprint.TraceDomain

    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Footprint/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Footprint/index.html deleted file mode 100644 index 3e3e9842af8..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Footprint/index.html +++ /dev/null @@ -1,10 +0,0 @@ - -Footprint (infer.UnitTests.TraceTests.MockTrace.Sources.Footprint)

    Module Sources.Footprint

    module TraceDomain : sig ... end
    module AccessMap : sig ... end
    module BaseMap = Absint.AccessPath.BaseMap
    type node = TraceDomain.t * tree
    and tree =
    1. | Subtree of node AccessMap.t
    2. | Star
    type t = node BaseMap.t
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    val empty_node : node
    val make_node : TraceDomain.t -> node AccessMap.t -> node
    val make_access_node : - TraceDomain.t -> - Absint.AccessPath.access -> - TraceDomain.t -> - node
    val make_normal_leaf : TraceDomain.t -> node
    val make_starred_leaf : TraceDomain.t -> node
    val get_node : Absint.AccessPath.Abs.t -> t -> node option
    val get_trace : Absint.AccessPath.Abs.t -> t -> TraceDomain.t option
    val add_node : Absint.AccessPath.Abs.t -> node -> t -> t
    val add_trace : Absint.AccessPath.Abs.t -> TraceDomain.t -> t -> t
    val node_join : node -> node -> node
    val fold : ('a -> Absint.AccessPath.Abs.t -> node -> 'a) -> t -> 'a -> 'a
    val trace_fold : - ('a -> Absint.AccessPath.Abs.t -> TraceDomain.t -> 'a) -> - t -> - 'a -> - 'a
    val exists : (Absint.AccessPath.Abs.t -> node -> bool) -> t -> bool
    val iter : (Absint.AccessPath.Abs.t -> node -> unit) -> t -> unit
    val depth : t -> int
    val pp_node : Stdlib.Format.formatter -> node -> unit
    val mem : Absint.AccessPath.Abs.t -> t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/FootprintConfig/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/FootprintConfig/index.html deleted file mode 100644 index 5a0135965db..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/FootprintConfig/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -FootprintConfig (infer.UnitTests.TraceTests.MockTrace.Sources.FootprintConfig)

    Module Sources.FootprintConfig

    val max_depth : int
    val max_width : int
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Known/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Known/index.html deleted file mode 100644 index 1dce13e4cb2..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Known/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Known (infer.UnitTests.TraceTests.MockTrace.Sources.Known)

    Module Sources.Known

    type elt = Source.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Sanitizers/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Sanitizers/index.html deleted file mode 100644 index 03974194f41..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/Sanitizers/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sanitizers (infer.UnitTests.TraceTests.MockTrace.Sources.Sanitizers)

    Module Sources.Sanitizers

    type elt = Sanitizer.t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/index.html deleted file mode 100644 index 753f1766d9e..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/Sources/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Sources (infer.UnitTests.TraceTests.MockTrace.Sources)

    Module MockTrace.Sources

    module Known : sig ... end
    module Footprint : sig ... end
    module Sanitizers : sig ... end
    type t = {
    1. known : Known.t;
    2. footprint : Footprint.t;
    3. sanitizers : Sanitizers.t;
    }
    val empty : t
    val is_empty : t -> bool
    val of_source : Source.t -> t
    val of_footprint : Absint.AccessPath.Abs.t -> t
    val add : Source.t -> t -> t
    val get_footprint_indexes : t -> IStdlib.IntSet.t
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/index.html deleted file mode 100644 index 34d0f7a1754..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTrace/index.html +++ /dev/null @@ -1,19 +0,0 @@ - -MockTrace (infer.UnitTests.TraceTests.MockTrace)

    Module TraceTests.MockTrace

    module Source : sig ... end
    module Sink : sig ... end
    val get_report : - Source.t -> - Sink.t -> - Sanitizer.t list -> - IBase.IssueType.t option
    type t
    val leq : lhs:t -> rhs:t -> bool
    val join : t -> t -> t
    val widen : prev:t -> next:t -> num_iters:int -> t
    val bottom : t
    val is_bottom : t -> bool
    module Sources : sig ... end
    module Sinks = Sink.Set
    module Passthroughs = Absint.Passthrough.Set
    type path = - Passthroughs.t - * (Source.t * Passthroughs.t) list - * (Sink.t * Passthroughs.t) list
    type report = {
    1. issue : IBase.IssueType.t;
    2. path_source : Source.t;
    3. path_sink : Sink.t;
    4. path_passthroughs : Passthroughs.t;
    }
    val sources : t -> Sources.t
    val sinks : t -> Sinks.t
    val passthroughs : t -> Passthroughs.t
    val get_reports : ?cur_site:Absint.CallSite.t -> t -> report list
    val get_reportable_paths : - ?cur_site:Absint.CallSite.t -> - t -> - trace_of_pname:(IR.Procname.t -> t) -> - path list
    val to_loc_trace : - ?desc_of_source:(Source.t -> string) -> - ?source_should_nest:(Source.t -> bool) -> - ?desc_of_sink:(Sink.t -> string) -> - ?sink_should_nest:(Sink.t -> bool) -> - path -> - Absint.Errlog.loc_trace
    val of_source : Source.t -> t
    val of_footprint : Absint.AccessPath.Abs.t -> t
    val add_source : Source.t -> t -> t
    val add_sink : Sink.t -> t -> t
    val add_sanitizer : Sanitizer.t -> t -> t
    val update_sources : t -> Sources.t -> t
    val update_sinks : t -> Sinks.t -> t
    val get_footprint_indexes : t -> IStdlib.IntSet.t
    val append : t -> t -> Absint.CallSite.t -> t
    val pp : Absint__TaintTrace.F.formatter -> t -> unit
    val pp_path : IR.Procname.t -> Absint__TaintTrace.F.formatter -> path -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTraceElem/Kind/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTraceElem/Kind/index.html deleted file mode 100644 index 830a0417d9a..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTraceElem/Kind/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Kind (infer.UnitTests.TraceTests.MockTraceElem.Kind)

    Module MockTraceElem.Kind

    type nonrec t = t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val matches : caller:t -> callee:t -> bool
    val pp : Ppx_show_runtime.Format.formatter -> t -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTraceElem/Set/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTraceElem/Set/index.html deleted file mode 100644 index 6ddd59d6bc6..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTraceElem/Set/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Set (infer.UnitTests.TraceTests.MockTraceElem.Set)

    Module MockTraceElem.Set

    type elt = t
    type t
    val empty : t
    val is_empty : t -> bool
    val mem : elt -> t -> bool
    val add : elt -> t -> t
    val singleton : elt -> t
    val remove : elt -> t -> t
    val union : t -> t -> t
    val inter : t -> t -> t
    val disjoint : t -> t -> bool
    val diff : t -> t -> t
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val subset : t -> t -> bool
    val iter : (elt -> unit) -> t -> unit
    val map : (elt -> elt) -> t -> t
    val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
    val for_all : (elt -> bool) -> t -> bool
    val exists : (elt -> bool) -> t -> bool
    val filter : (elt -> bool) -> t -> t
    val filter_map : (elt -> elt option) -> t -> t
    val partition : (elt -> bool) -> t -> t * t
    val cardinal : t -> int
    val elements : t -> elt list
    val min_elt : t -> elt
    val min_elt_opt : t -> elt option
    val max_elt : t -> elt
    val max_elt_opt : t -> elt option
    val choose : t -> elt
    val choose_opt : t -> elt option
    val split : elt -> t -> t * bool * t
    val find : elt -> t -> elt
    val find_opt : elt -> t -> elt option
    val find_first : (elt -> bool) -> t -> elt
    val find_first_opt : (elt -> bool) -> t -> elt option
    val find_last : (elt -> bool) -> t -> elt
    val find_last_opt : (elt -> bool) -> t -> elt option
    val of_list : elt list -> t
    val to_seq_from : elt -> t -> elt Stdlib.Seq.t
    val to_seq : t -> elt Stdlib.Seq.t
    val to_rev_seq : t -> elt Stdlib.Seq.t
    val add_seq : elt Stdlib.Seq.t -> t -> t
    val of_seq : elt Stdlib.Seq.t -> t
    val is_singleton_or_more : t -> elt IStdlib.IContainer.singleton_or_more
    val pp : IStdlib__PrettyPrintable.F.formatter -> t -> unit
    val pp_element : IStdlib__PrettyPrintable.F.formatter -> elt -> unit
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTraceElem/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/MockTraceElem/index.html deleted file mode 100644 index 0400f4b68eb..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/MockTraceElem/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -MockTraceElem (infer.UnitTests.TraceTests.MockTraceElem)

    Module TraceTests.MockTraceElem

    type t =
    1. | Kind1
    2. | Kind2
    val compare : t -> t -> int
    val equal : t -> t -> bool
    val pp : Ppx_show_runtime.Format.formatter -> t -> unit
    val show : t -> string
    val matches : caller:t -> callee:t -> bool
    val call_site : 'a -> Absint.CallSite.t
    val kind : 'a -> 'b
    val make : ?indexes:'a -> 'b -> 'c -> 'd
    module Kind : sig ... end
    module Set : sig ... end
    val with_callsite : 'a -> 'b -> 'c
    val with_indexes : 'a -> 'b -> 'c
    diff --git a/website/static/odoc/next/infer/UnitTests/TraceTests/index.html b/website/static/odoc/next/infer/UnitTests/TraceTests/index.html deleted file mode 100644 index 486615bccd9..00000000000 --- a/website/static/odoc/next/infer/UnitTests/TraceTests/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -TraceTests (infer.UnitTests.TraceTests)

    Module UnitTests.TraceTests

    module MockTraceElem : sig ... end
    module MockSource : sig ... end
    module MockSink : sig ... end
    module MockTrace : sig ... end
    val trace_equal : MockTrace.t -> MockTrace.t -> bool
    val source_equal : MockSource.t -> MockSource.t -> bool
    val tests : OUnit2.test
    diff --git a/website/static/odoc/next/infer/UnitTests/index.html b/website/static/odoc/next/infer/UnitTests/index.html index 961c0e9ac99..8e6557ee8d8 100644 --- a/website/static/odoc/next/infer/UnitTests/index.html +++ b/website/static/odoc/next/infer/UnitTests/index.html @@ -1,2 +1,2 @@ -UnitTests (infer.UnitTests)

    Module UnitTests

    module AbstractInterpreterTests : sig ... end
    module AccessPathTestUtils : sig ... end
    module AccessTreeTests : sig ... end
    module AddressTakenTests : sig ... end
    module AnalyzerTester : sig ... end
    module CStubsTests : sig ... end
    module DifferentialFiltersTests : sig ... end
    module DifferentialTests : sig ... end
    module DifferentialTestsUtils : sig ... end
    module FileDiffTests : sig ... end
    module GradleTests : sig ... end
    module HilExpTests : sig ... end
    module IListTests : sig ... end
    module JavaClassNameTests : sig ... end
    module JavaProfilerSamplesTest : sig ... end
    module LRUHashtblTests : sig ... end
    module LivenessTests : sig ... end
    module ProcCfgTests : sig ... end
    module RestartSchedulerTests : sig ... end
    module SchedulerTests : sig ... end
    module SeverityTests : sig ... end
    module TaintTests : sig ... end
    module TraceTests : sig ... end
    module WeakTopologicalOrderTests : sig ... end
    +UnitTests (infer.UnitTests)

    Module UnitTests

    module AbstractInterpreterTests : sig ... end
    module AccessPathTestUtils : sig ... end
    module AccessTreeTests : sig ... end
    module AddressTakenTests : sig ... end
    module AnalyzerTester : sig ... end
    module CStubsTests : sig ... end
    module DifferentialFiltersTests : sig ... end
    module DifferentialTests : sig ... end
    module DifferentialTestsUtils : sig ... end
    module FileDiffTests : sig ... end
    module GradleTests : sig ... end
    module HilExpTests : sig ... end
    module IListTests : sig ... end
    module JavaClassNameTests : sig ... end
    module JavaProfilerSamplesTest : sig ... end
    module LRUHashtblTests : sig ... end
    module LivenessTests : sig ... end
    module ProcCfgTests : sig ... end
    module RestartSchedulerTests : sig ... end
    module SchedulerTests : sig ... end
    module SeverityTests : sig ... end
    module WeakTopologicalOrderTests : sig ... end
    diff --git a/website/static/odoc/next/infer/index.html b/website/static/odoc/next/infer/index.html index 631242e5dc9..a0b47ad3832 100644 --- a/website/static/odoc/next/infer/index.html +++ b/website/static/odoc/next/infer/index.html @@ -1,2 +1,2 @@ -index (infer.index)

    infer index

    Library infer.ATDGenerated

    The entry point of this library is the module: ATDGenerated.

    Library infer.Absint

    The entry point of this library is the module: Absint.

    Library infer.BO

    The entry point of this library is the module: BO.

    Library infer.Backend

    The entry point of this library is the module: Backend.

    Library infer.Biabduction

    The entry point of this library is the module: Biabduction.

    Library infer.CStubs

    The entry point of this library is the module: CStubs.

    Library infer.Checkers

    The entry point of this library is the module: Checkers.

    Library infer.ClangFrontend

    The entry point of this library is the module: ClangFrontend.

    Library infer.ClangUnitTests

    The entry point of this library is the module: ClangUnitTests.

    Library infer.Concurrency

    The entry point of this library is the module: Concurrency.

    Library infer.Costlib

    The entry point of this library is the module: Costlib.

    Library infer.Datalog

    The entry point of this library is the module: Datalog.

    Library infer.ErlangFrontend

    The entry point of this library is the module: ErlangFrontend.

    Library infer.IBase

    The entry point of this library is the module: IBase.

    Library infer.IR

    The entry point of this library is the module: IR.

    Library infer.IStdlib

    The entry point of this library is the module: IStdlib.

    Library infer.Integration

    The entry point of this library is the module: Integration.

    Library infer.JavaFrontend

    The entry point of this library is the module: JavaFrontend.

    Library infer.Labs

    The entry point of this library is the module: Labs.

    Library infer.OpenSource

    The entry point of this library is the module: OpenSource.

    Library infer.Pulselib

    The entry point of this library is the module: Pulselib.

    Library infer.PythonFrontend

    The entry point of this library is the module: PythonFrontend.

    Library infer.Quandary

    The entry point of this library is the module: Quandary.

    Library infer.TestDeterminators

    The entry point of this library is the module: TestDeterminators.

    Library infer.Textuallib

    The entry point of this library is the module: Textuallib.

    Library infer.Topllib

    The entry point of this library is the module: Topllib.

    Library infer.UnitTests

    The entry point of this library is the module: UnitTests.

    +index (infer.index)

    infer index

    Library infer.ATDGenerated

    The entry point of this library is the module: ATDGenerated.

    Library infer.Absint

    The entry point of this library is the module: Absint.

    Library infer.BO

    The entry point of this library is the module: BO.

    Library infer.Backend

    The entry point of this library is the module: Backend.

    Library infer.Biabduction

    The entry point of this library is the module: Biabduction.

    Library infer.CStubs

    The entry point of this library is the module: CStubs.

    Library infer.Checkers

    The entry point of this library is the module: Checkers.

    Library infer.ClangFrontend

    The entry point of this library is the module: ClangFrontend.

    Library infer.ClangUnitTests

    The entry point of this library is the module: ClangUnitTests.

    Library infer.Concurrency

    The entry point of this library is the module: Concurrency.

    Library infer.Costlib

    The entry point of this library is the module: Costlib.

    Library infer.ErlangFrontend

    The entry point of this library is the module: ErlangFrontend.

    Library infer.IBase

    The entry point of this library is the module: IBase.

    Library infer.IR

    The entry point of this library is the module: IR.

    Library infer.IStdlib

    The entry point of this library is the module: IStdlib.

    Library infer.Integration

    The entry point of this library is the module: Integration.

    Library infer.JavaFrontend

    The entry point of this library is the module: JavaFrontend.

    Library infer.Labs

    The entry point of this library is the module: Labs.

    Library infer.OpenSource

    The entry point of this library is the module: OpenSource.

    Library infer.Pulselib

    The entry point of this library is the module: Pulselib.

    Library infer.PythonFrontend

    The entry point of this library is the module: PythonFrontend.

    Library infer.TestDeterminators

    The entry point of this library is the module: TestDeterminators.

    Library infer.Textuallib

    The entry point of this library is the module: Textuallib.

    Library infer.Topllib

    The entry point of this library is the module: Topllib.

    Library infer.UnitTests

    The entry point of this library is the module: UnitTests.