├── .codeqlmanifest.json
├── .devcontainer
└── devcontainer.json
├── .editorconfig
├── .gitattributes
├── .github
├── ISSUE_TEMPLATE
│ ├── lgtm-com---false-positive.md
│ └── ql---general.md
├── codeql
│ └── codeql-config.yml
├── labeler.yml
└── workflows
│ ├── check-change-note.yml
│ ├── codeql-analysis.yml
│ ├── labeler.yml
│ └── query-list.yml
├── .gitignore
├── .lgtm.yml
├── .vscode
├── .gitattributes
├── extensions.json
├── settings.json
└── tasks.json
├── CODEOWNERS
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── change-notes
├── 1.18
│ ├── analysis-cpp.md
│ ├── analysis-csharp.md
│ └── analysis-javascript.md
├── 1.19
│ ├── analysis-cpp.md
│ ├── analysis-csharp.md
│ ├── analysis-java.md
│ ├── analysis-javascript.md
│ ├── analysis-python.md
│ ├── extractor-javascript.md
│ └── support
│ │ ├── framework-support.rst
│ │ ├── java-frameworks.csv
│ │ ├── javascript-typescript-frameworks.csv
│ │ ├── language-support.rst
│ │ ├── python-frameworks.csv
│ │ └── versions-compilers.csv
├── 1.20
│ ├── analysis-cpp.md
│ ├── analysis-csharp.md
│ ├── analysis-java.md
│ ├── analysis-javascript.md
│ ├── analysis-python.md
│ └── extractor-javascript.md
├── 1.21
│ ├── analysis-cpp.md
│ ├── analysis-csharp.md
│ ├── analysis-java.md
│ ├── analysis-javascript.md
│ ├── analysis-python.md
│ └── extractor-javascript.md
├── 1.22
│ ├── analysis-cpp.md
│ ├── analysis-csharp.md
│ ├── analysis-java.md
│ ├── analysis-javascript.md
│ └── analysis-python.md
├── 1.23
│ ├── analysis-cpp.md
│ ├── analysis-csharp.md
│ ├── analysis-java.md
│ ├── analysis-javascript.md
│ ├── analysis-python.md
│ └── extractor-javascript.md
├── 1.24
│ ├── analysis-cpp.md
│ ├── analysis-csharp.md
│ ├── analysis-java.md
│ ├── analysis-javascript.md
│ ├── analysis-python.md
│ └── extractor-javascript.md
├── 1.25
│ ├── analysis-cpp.md
│ ├── analysis-csharp.md
│ ├── analysis-java.md
│ ├── analysis-javascript.md
│ └── analysis-python.md
├── 1.26
│ ├── analysis-cpp.md
│ ├── analysis-java.md
│ ├── analysis-javascript.md
│ └── analysis-python.md
└── support
│ └── README.md
├── config
├── identical-files.json
├── opcode-qldoc.py
└── sync-files.py
├── cpp
├── autobuilder
│ ├── .gitignore
│ ├── Semmle.Autobuild.Cpp.Tests
│ │ ├── BuildScripts.cs
│ │ └── Semmle.Autobuild.Cpp.Tests.csproj
│ └── Semmle.Autobuild.Cpp
│ │ ├── CppAutobuilder.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ └── AssemblyInfo.cs
│ │ └── Semmle.Autobuild.Cpp.csproj
├── change-notes
│ ├── 2020-09-29-range-analysis-rollup.md
│ ├── 2020-10-21-erroneous-types.md
│ ├── 2020-10-21-size-check-queries.md
│ ├── 2020-11-02-unused-local-variable.md
│ ├── 2020-11-05-formatting-function.md
│ ├── 2020-11-05-private-models.md
│ ├── 2020-11-12-unsafe-use-of-this.md
│ ├── 2020-11-27-downgrade-to-recommendation.md
│ ├── 2021-02-04-unsigned-difference-expression-compared-zero.md
│ ├── 2021-02-24-memset-may-be-deleted.md
│ ├── 2021-03-01-fluent-interface-data-flow.md
│ ├── 2021-03-11-failed-extractions.md
│ └── 2021-03-17-av-rule-79.md
├── config
│ └── suites
│ │ ├── c
│ │ ├── code-review
│ │ ├── correctness
│ │ ├── experimental
│ │ ├── internal
│ │ ├── maintainability
│ │ ├── metric-defects
│ │ ├── metrics
│ │ ├── metrics-external
│ │ ├── readability
│ │ └── useless-code
│ │ ├── cpp
│ │ ├── code-review
│ │ ├── correctness
│ │ ├── experimental
│ │ ├── internal
│ │ ├── maintainability
│ │ ├── metric-defects
│ │ ├── metrics
│ │ ├── metrics-external
│ │ ├── readability
│ │ └── useless-code
│ │ ├── default
│ │ ├── c
│ │ └── cpp
│ │ ├── lgtm
│ │ ├── cpp-alerts-lgtm
│ │ ├── cpp-lgtm
│ │ ├── cpp-metrics-lgtm
│ │ └── cpp-queries-lgtm
│ │ └── security
│ │ ├── all
│ │ ├── cwe-022
│ │ ├── cwe-078
│ │ ├── cwe-079
│ │ ├── cwe-089
│ │ ├── cwe-114
│ │ ├── cwe-119
│ │ ├── cwe-120
│ │ ├── cwe-121
│ │ ├── cwe-129
│ │ ├── cwe-131
│ │ ├── cwe-134
│ │ ├── cwe-170
│ │ ├── cwe-190
│ │ ├── cwe-253
│ │ ├── cwe-290
│ │ ├── cwe-311
│ │ ├── cwe-327
│ │ ├── cwe-367
│ │ ├── cwe-416
│ │ ├── cwe-428
│ │ ├── cwe-457
│ │ ├── cwe-468
│ │ ├── cwe-497-expensive
│ │ ├── cwe-676
│ │ ├── cwe-732
│ │ ├── cwe-764
│ │ ├── cwe-772
│ │ ├── cwe-772-expensive
│ │ ├── cwe-807
│ │ ├── cwe-835
│ │ ├── default
│ │ └── secondary
├── ql
│ ├── examples
│ │ ├── qlpack.yml
│ │ ├── queries.xml
│ │ └── snippets
│ │ │ ├── addressof.ql
│ │ │ ├── arrayaccess.ql
│ │ │ ├── castexpr.ql
│ │ │ ├── catch_exception.ql
│ │ │ ├── constructor_call.ql
│ │ │ ├── derives_from_class.ql
│ │ │ ├── emptyblock.ql
│ │ │ ├── emptythen.ql
│ │ │ ├── eq_true.ql
│ │ │ ├── field_access.ql
│ │ │ ├── function_call.ql
│ │ │ ├── integer_literal.ql
│ │ │ ├── mutualrecursion.ql
│ │ │ ├── override_method.ql
│ │ │ ├── returnstatement.ql
│ │ │ ├── singletonblock.ql
│ │ │ ├── switchcase.ql
│ │ │ ├── ternaryconditional.ql
│ │ │ ├── throw_exception.ql
│ │ │ ├── todocomment.ql
│ │ │ ├── toomanyparams.ql
│ │ │ ├── unusedlocalvar.ql
│ │ │ ├── unusedmethod.ql
│ │ │ ├── unusedparam.ql
│ │ │ ├── voidreturntype.ql
│ │ │ └── volatilevariable.ql
│ ├── src
│ │ ├── .project
│ │ ├── .qlpath
│ │ ├── .vs
│ │ │ └── VSWorkspaceSettings.json
│ │ ├── AlertSuppression.ql
│ │ ├── Architecture
│ │ │ ├── FeatureEnvy.qhelp
│ │ │ ├── FeatureEnvy.ql
│ │ │ ├── General Class-Level Information
│ │ │ │ ├── ClassHierarchies.ql
│ │ │ │ ├── HubClasses.ql
│ │ │ │ ├── InheritanceDepthDistribution.qhelp
│ │ │ │ ├── InheritanceDepthDistribution.ql
│ │ │ │ └── index.qhelp
│ │ │ ├── General Namespace-Level Information
│ │ │ │ ├── CyclicNamespaces.qhelp
│ │ │ │ ├── CyclicNamespaces.ql
│ │ │ │ ├── GlobalNamespaceClasses.qhelp
│ │ │ │ ├── GlobalNamespaceClasses.ql
│ │ │ │ └── NamespaceDependencies.ql
│ │ │ ├── General Top-Level Information
│ │ │ │ ├── GeneralStatistics.qhelp
│ │ │ │ └── GeneralStatistics.ql
│ │ │ ├── InappropriateIntimacy.qhelp
│ │ │ ├── InappropriateIntimacy.ql
│ │ │ ├── Refactoring Opportunities
│ │ │ │ ├── ClassesWithManyDependencies.cpp
│ │ │ │ ├── ClassesWithManyDependencies.qhelp
│ │ │ │ ├── ClassesWithManyDependencies.ql
│ │ │ │ ├── ClassesWithManyFields.cpp
│ │ │ │ ├── ClassesWithManyFields.qhelp
│ │ │ │ ├── ClassesWithManyFields.ql
│ │ │ │ ├── ComplexFunctions.qhelp
│ │ │ │ ├── ComplexFunctions.ql
│ │ │ │ ├── CyclomaticComplexity.qhelp
│ │ │ │ ├── CyclomaticComplexity.ql
│ │ │ │ ├── FunctionsWithManyParameters.cpp
│ │ │ │ ├── FunctionsWithManyParameters.qhelp
│ │ │ │ └── FunctionsWithManyParameters.ql
│ │ │ └── index.qhelp
│ │ ├── Best Practices
│ │ │ ├── BlockWithTooManyStatements.qhelp
│ │ │ ├── BlockWithTooManyStatements.ql
│ │ │ ├── ComplexCondition.cpp
│ │ │ ├── ComplexCondition.qhelp
│ │ │ ├── ComplexCondition.ql
│ │ │ ├── Exceptions
│ │ │ │ ├── AccidentalRethrow.qhelp
│ │ │ │ ├── AccidentalRethrow.ql
│ │ │ │ ├── CatchingByValue.qhelp
│ │ │ │ ├── CatchingByValue.ql
│ │ │ │ ├── LeakyCatch.qhelp
│ │ │ │ ├── LeakyCatch.ql
│ │ │ │ ├── ThrowingPointers.qhelp
│ │ │ │ └── ThrowingPointers.ql
│ │ │ ├── Hiding
│ │ │ │ ├── DeclarationHidesParameter.cpp
│ │ │ │ ├── DeclarationHidesParameter.qhelp
│ │ │ │ ├── DeclarationHidesParameter.ql
│ │ │ │ ├── DeclarationHidesVariable.cpp
│ │ │ │ ├── DeclarationHidesVariable.qhelp
│ │ │ │ ├── DeclarationHidesVariable.ql
│ │ │ │ ├── LocalVariableHidesGlobalVariable.cpp
│ │ │ │ ├── LocalVariableHidesGlobalVariable.qhelp
│ │ │ │ ├── LocalVariableHidesGlobalVariable.ql
│ │ │ │ └── Shadowing.qll
│ │ │ ├── Likely Errors
│ │ │ │ ├── EmptyBlock.cpp
│ │ │ │ ├── EmptyBlock.qhelp
│ │ │ │ ├── EmptyBlock.ql
│ │ │ │ ├── OffsetUseBeforeRangeCheck.c
│ │ │ │ ├── OffsetUseBeforeRangeCheck.qhelp
│ │ │ │ ├── OffsetUseBeforeRangeCheck.ql
│ │ │ │ ├── Slicing.cpp
│ │ │ │ ├── Slicing.qhelp
│ │ │ │ └── Slicing.ql
│ │ │ ├── Magic Constants
│ │ │ │ ├── JapaneseEraDate.qhelp
│ │ │ │ ├── JapaneseEraDate.ql
│ │ │ │ ├── MagicConstants.qll
│ │ │ │ ├── MagicConstantsNumbers.cpp
│ │ │ │ ├── MagicConstantsNumbers.qhelp
│ │ │ │ ├── MagicConstantsNumbers.ql
│ │ │ │ ├── MagicConstantsString.qhelp
│ │ │ │ ├── MagicConstantsString.ql
│ │ │ │ ├── MagicNumbersUseConstant.ql
│ │ │ │ └── MagicStringsUseConstant.ql
│ │ │ ├── NVI.ql
│ │ │ ├── NVIHub.ql
│ │ │ ├── RuleOfThree.qhelp
│ │ │ ├── RuleOfThree.ql
│ │ │ ├── RuleOfTwo.cpp
│ │ │ ├── RuleOfTwo.qhelp
│ │ │ ├── RuleOfTwo.ql
│ │ │ ├── SloppyGlobal.qhelp
│ │ │ ├── SloppyGlobal.ql
│ │ │ ├── SwitchLongCase.cpp
│ │ │ ├── SwitchLongCase.qhelp
│ │ │ ├── SwitchLongCase.ql
│ │ │ ├── Unused Entities
│ │ │ │ ├── UnusedIncludes.ql
│ │ │ │ ├── UnusedLocals.cpp
│ │ │ │ ├── UnusedLocals.qhelp
│ │ │ │ ├── UnusedLocals.ql
│ │ │ │ ├── UnusedStaticFunctions.cpp
│ │ │ │ ├── UnusedStaticFunctions.qhelp
│ │ │ │ ├── UnusedStaticFunctions.ql
│ │ │ │ ├── UnusedStaticVariables.cpp
│ │ │ │ ├── UnusedStaticVariables.qhelp
│ │ │ │ └── UnusedStaticVariables.ql
│ │ │ ├── UseOfGoto.qhelp
│ │ │ ├── UseOfGoto.ql
│ │ │ └── index.qhelp
│ │ ├── Critical
│ │ │ ├── DeadCodeCondition.cpp
│ │ │ ├── DeadCodeCondition.qhelp
│ │ │ ├── DeadCodeCondition.ql
│ │ │ ├── DeadCodeFunction.cpp
│ │ │ ├── DeadCodeFunction.qhelp
│ │ │ ├── DeadCodeFunction.ql
│ │ │ ├── DeadCodeGoto.cpp
│ │ │ ├── DeadCodeGoto.qhelp
│ │ │ ├── DeadCodeGoto.ql
│ │ │ ├── DescriptorMayNotBeClosed.cpp
│ │ │ ├── DescriptorMayNotBeClosed.qhelp
│ │ │ ├── DescriptorMayNotBeClosed.ql
│ │ │ ├── DescriptorNeverClosed.cpp
│ │ │ ├── DescriptorNeverClosed.qhelp
│ │ │ ├── DescriptorNeverClosed.ql
│ │ │ ├── FileClosed.qll
│ │ │ ├── FileMayNotBeClosed.cpp
│ │ │ ├── FileMayNotBeClosed.qhelp
│ │ │ ├── FileMayNotBeClosed.ql
│ │ │ ├── FileNeverClosed.cpp
│ │ │ ├── FileNeverClosed.qhelp
│ │ │ ├── FileNeverClosed.ql
│ │ │ ├── GlobalUseBeforeInit.cpp
│ │ │ ├── GlobalUseBeforeInit.qhelp
│ │ │ ├── GlobalUseBeforeInit.ql
│ │ │ ├── InconsistentNullnessTesting.cpp
│ │ │ ├── InconsistentNullnessTesting.qhelp
│ │ │ ├── InconsistentNullnessTesting.ql
│ │ │ ├── InitialisationNotRun.cpp
│ │ │ ├── InitialisationNotRun.qhelp
│ │ │ ├── InitialisationNotRun.ql
│ │ │ ├── LargeParameter.cpp
│ │ │ ├── LargeParameter.qhelp
│ │ │ ├── LargeParameter.ql
│ │ │ ├── LateNegativeTest.cpp
│ │ │ ├── LateNegativeTest.qhelp
│ │ │ ├── LateNegativeTest.ql
│ │ │ ├── LoopBounds.qll
│ │ │ ├── MemoryFreed.qll
│ │ │ ├── MemoryMayNotBeFreed.cpp
│ │ │ ├── MemoryMayNotBeFreed.qhelp
│ │ │ ├── MemoryMayNotBeFreed.ql
│ │ │ ├── MemoryMayNotBeFreedGood.cpp
│ │ │ ├── MemoryNeverFreed.cpp
│ │ │ ├── MemoryNeverFreed.qhelp
│ │ │ ├── MemoryNeverFreed.ql
│ │ │ ├── MissingNegativityTest.cpp
│ │ │ ├── MissingNegativityTest.qhelp
│ │ │ ├── MissingNegativityTest.ql
│ │ │ ├── MissingNullTest.cpp
│ │ │ ├── MissingNullTest.qhelp
│ │ │ ├── MissingNullTest.ql
│ │ │ ├── Negativity.qll
│ │ │ ├── NewArrayDeleteMismatch.cpp
│ │ │ ├── NewArrayDeleteMismatch.qhelp
│ │ │ ├── NewArrayDeleteMismatch.ql
│ │ │ ├── NewDelete.qll
│ │ │ ├── NewDeleteArrayMismatch.cpp
│ │ │ ├── NewDeleteArrayMismatch.qhelp
│ │ │ ├── NewDeleteArrayMismatch.ql
│ │ │ ├── NewFreeMismatch.cpp
│ │ │ ├── NewFreeMismatch.qhelp
│ │ │ ├── NewFreeMismatch.ql
│ │ │ ├── NotInitialised.cpp
│ │ │ ├── NotInitialised.qhelp
│ │ │ ├── NotInitialised.ql
│ │ │ ├── OverflowCalculated.cpp
│ │ │ ├── OverflowCalculated.qhelp
│ │ │ ├── OverflowCalculated.ql
│ │ │ ├── OverflowDestination.cpp
│ │ │ ├── OverflowDestination.qhelp
│ │ │ ├── OverflowDestination.ql
│ │ │ ├── OverflowStatic.cpp
│ │ │ ├── OverflowStatic.qhelp
│ │ │ ├── OverflowStatic.ql
│ │ │ ├── ReturnStackAllocatedObject.cpp
│ │ │ ├── ReturnStackAllocatedObject.qhelp
│ │ │ ├── ReturnStackAllocatedObject.ql
│ │ │ ├── ReturnValueIgnored.cpp
│ │ │ ├── ReturnValueIgnored.qhelp
│ │ │ ├── ReturnValueIgnored.ql
│ │ │ ├── SizeCheck.cpp
│ │ │ ├── SizeCheck.qhelp
│ │ │ ├── SizeCheck.ql
│ │ │ ├── SizeCheck2.cpp
│ │ │ ├── SizeCheck2.qhelp
│ │ │ ├── SizeCheck2.ql
│ │ │ ├── Unused.cpp
│ │ │ ├── Unused.qhelp
│ │ │ ├── Unused.ql
│ │ │ ├── UseAfterFree.cpp
│ │ │ ├── UseAfterFree.qhelp
│ │ │ ├── UseAfterFree.ql
│ │ │ ├── aliasAnalysisWarning.inc.qhelp
│ │ │ ├── callGraphWarning.inc.qhelp
│ │ │ ├── dataFlowWarning.inc.qhelp
│ │ │ └── pointsToWarning.inc.qhelp
│ │ ├── DefaultOptions.qll
│ │ ├── Diagnostics
│ │ │ ├── ExtractionErrors.ql
│ │ │ ├── ExtractionErrors.qll
│ │ │ ├── FailedExtractorInvocations.ql
│ │ │ └── SuccessfullyExtractedFiles.ql
│ │ ├── Documentation
│ │ │ ├── CaptionedComments.qll
│ │ │ ├── CommentedOutCode.qhelp
│ │ │ ├── CommentedOutCode.ql
│ │ │ ├── CommentedOutCode.qll
│ │ │ ├── CommentedOutCodeQuery.inc.qhelp
│ │ │ ├── DocumentApi.qhelp
│ │ │ ├── DocumentApi.ql
│ │ │ ├── FixmeComments.cpp
│ │ │ ├── FixmeComments.qhelp
│ │ │ ├── FixmeComments.ql
│ │ │ ├── TodoComments.cpp
│ │ │ ├── TodoComments.qhelp
│ │ │ ├── TodoComments.ql
│ │ │ ├── UncommentedFunction.qhelp
│ │ │ └── UncommentedFunction.ql
│ │ ├── Header Cleanup
│ │ │ ├── Cleanup-DuplicateIncludeGuard.cpp
│ │ │ ├── Cleanup-DuplicateIncludeGuard.qhelp
│ │ │ ├── Cleanup-DuplicateIncludeGuard.ql
│ │ │ └── Cleanup-DuplicateIncludeGuard2.cpp
│ │ ├── IDEContextual.qll
│ │ ├── JPL_C
│ │ │ ├── LOC-2
│ │ │ │ ├── Rule 03
│ │ │ │ │ ├── ExitNonterminatingLoop.ql
│ │ │ │ │ └── LoopBounds.ql
│ │ │ │ ├── Rule 04
│ │ │ │ │ └── Recursion.ql
│ │ │ │ ├── Rule 05
│ │ │ │ │ └── HeapMemory.ql
│ │ │ │ ├── Rule 07
│ │ │ │ │ └── ThreadSafety.ql
│ │ │ │ ├── Rule 09
│ │ │ │ │ ├── AvoidNestedSemaphores.ql
│ │ │ │ │ ├── AvoidSemaphores.ql
│ │ │ │ │ ├── OutOfOrderLocks.ql
│ │ │ │ │ ├── ReleaseLocksWhenAcquired.ql
│ │ │ │ │ └── Semaphores.qll
│ │ │ │ ├── Rule 11
│ │ │ │ │ ├── SimpleControlFlowGoto.ql
│ │ │ │ │ └── SimpleControlFlowJmp.ql
│ │ │ │ └── Rule 12
│ │ │ │ │ └── EnumInitialization.ql
│ │ │ ├── LOC-3
│ │ │ │ ├── Rule 13
│ │ │ │ │ ├── ExternDeclsInHeader.ql
│ │ │ │ │ ├── LimitedScopeFile.ql
│ │ │ │ │ ├── LimitedScopeFunction.ql
│ │ │ │ │ └── LimitedScopeLocalHidesGlobal.ql
│ │ │ │ ├── Rule 14
│ │ │ │ │ └── CheckingReturnValues.ql
│ │ │ │ ├── Rule 15
│ │ │ │ │ └── CheckingParameterValues.ql
│ │ │ │ ├── Rule 16
│ │ │ │ │ ├── UseOfAssertionsConstant.ql
│ │ │ │ │ ├── UseOfAssertionsDensity.ql
│ │ │ │ │ ├── UseOfAssertionsNonBoolean.ql
│ │ │ │ │ └── UseOfAssertionsSideEffect.ql
│ │ │ │ ├── Rule 17
│ │ │ │ │ └── BasicIntTypes.ql
│ │ │ │ ├── Rule 18
│ │ │ │ │ └── CompoundExpressions.ql
│ │ │ │ └── Rule 19
│ │ │ │ │ └── NoBooleanSideEffects.ql
│ │ │ ├── LOC-4
│ │ │ │ ├── Rule 20
│ │ │ │ │ ├── PreprocessorUse.ql
│ │ │ │ │ ├── PreprocessorUseIfdef.ql
│ │ │ │ │ ├── PreprocessorUsePartial.ql
│ │ │ │ │ └── PreprocessorUseUndisciplined.ql
│ │ │ │ ├── Rule 21
│ │ │ │ │ └── MacroInBlock.ql
│ │ │ │ ├── Rule 22
│ │ │ │ │ └── UseOfUndef.ql
│ │ │ │ ├── Rule 23
│ │ │ │ │ └── MismatchedIfdefs.ql
│ │ │ │ ├── Rule 24
│ │ │ │ │ ├── MultipleStmtsPerLine.ql
│ │ │ │ │ └── MultipleVarDeclsPerLine.ql
│ │ │ │ ├── Rule 25
│ │ │ │ │ └── FunctionSizeLimits.ql
│ │ │ │ ├── Rule 26
│ │ │ │ │ └── DeclarationPointerNesting.ql
│ │ │ │ ├── Rule 27
│ │ │ │ │ └── PointerDereferenceInStmt.ql
│ │ │ │ ├── Rule 28
│ │ │ │ │ ├── HiddenPointerDereferenceMacro.ql
│ │ │ │ │ └── HiddenPointerIndirectionTypedef.ql
│ │ │ │ ├── Rule 29
│ │ │ │ │ └── NonConstFunctionPointer.ql
│ │ │ │ ├── Rule 30
│ │ │ │ │ └── FunctionPointerConversions.ql
│ │ │ │ └── Rule 31
│ │ │ │ │ └── IncludesFirst.ql
│ │ │ └── Tasks.qll
│ │ ├── Likely Bugs
│ │ │ ├── AmbiguouslySignedBitField.cpp
│ │ │ ├── AmbiguouslySignedBitField.qhelp
│ │ │ ├── AmbiguouslySignedBitField.ql
│ │ │ ├── Arithmetic
│ │ │ │ ├── BadAdditionOverflowCheck.qhelp
│ │ │ │ ├── BadAdditionOverflowCheck.ql
│ │ │ │ ├── BadAdditionOverflowCheck.qll
│ │ │ │ ├── BadAdditionOverflowCheckExample1.cpp
│ │ │ │ ├── BadAdditionOverflowCheckExample2.cpp
│ │ │ │ ├── BadCheckOdd.qhelp
│ │ │ │ ├── BadCheckOdd.ql
│ │ │ │ ├── BitwiseSignCheck.qhelp
│ │ │ │ ├── BitwiseSignCheck.ql
│ │ │ │ ├── ComparisonPrecedence.cpp
│ │ │ │ ├── ComparisonPrecedence.qhelp
│ │ │ │ ├── ComparisonPrecedence.ql
│ │ │ │ ├── ComparisonWithCancelingSubExpr.qhelp
│ │ │ │ ├── ComparisonWithCancelingSubExpr.ql
│ │ │ │ ├── ComparisonWithCancelingSubExprExample.cpp
│ │ │ │ ├── FloatComparison.cpp
│ │ │ │ ├── FloatComparison.qhelp
│ │ │ │ ├── FloatComparison.ql
│ │ │ │ ├── IntMultToLong.cpp
│ │ │ │ ├── IntMultToLong.qhelp
│ │ │ │ ├── IntMultToLong.ql
│ │ │ │ ├── PointlessComparison.cpp
│ │ │ │ ├── PointlessComparison.qhelp
│ │ │ │ ├── PointlessComparison.ql
│ │ │ │ ├── PointlessSelfComparison.qhelp
│ │ │ │ ├── PointlessSelfComparison.ql
│ │ │ │ ├── PointlessSelfComparison.qll
│ │ │ │ ├── PointlessSelfComparisonExample.cpp
│ │ │ │ ├── SignedOverflowCheck-bad1.cpp
│ │ │ │ ├── SignedOverflowCheck-bad2.cpp
│ │ │ │ ├── SignedOverflowCheck-good1.cpp
│ │ │ │ ├── SignedOverflowCheck-good2.cpp
│ │ │ │ ├── SignedOverflowCheck.qhelp
│ │ │ │ ├── SignedOverflowCheck.ql
│ │ │ │ ├── UnsignedGEZero.cpp
│ │ │ │ ├── UnsignedGEZero.qhelp
│ │ │ │ ├── UnsignedGEZero.ql
│ │ │ │ └── UnsignedGEZero.qll
│ │ │ ├── ContinueInFalseLoop.qhelp
│ │ │ ├── ContinueInFalseLoop.ql
│ │ │ ├── Conversion
│ │ │ │ ├── ArrayArgSizeMismatch.cpp
│ │ │ │ ├── ArrayArgSizeMismatch.qhelp
│ │ │ │ ├── ArrayArgSizeMismatch.ql
│ │ │ │ ├── CastArrayPointerArithmetic.cpp
│ │ │ │ ├── CastArrayPointerArithmetic.qhelp
│ │ │ │ ├── CastArrayPointerArithmetic.ql
│ │ │ │ ├── ConversionChangesSign.cpp
│ │ │ │ ├── ConversionChangesSign.qhelp
│ │ │ │ ├── ConversionChangesSign.ql
│ │ │ │ ├── ImplicitDowncastFromBitfield.c
│ │ │ │ ├── ImplicitDowncastFromBitfield.qhelp
│ │ │ │ ├── ImplicitDowncastFromBitfield.ql
│ │ │ │ ├── LossyFunctionResultCast.cpp
│ │ │ │ ├── LossyFunctionResultCast.qhelp
│ │ │ │ ├── LossyFunctionResultCast.ql
│ │ │ │ ├── LossyPointerCast.cpp
│ │ │ │ ├── LossyPointerCast.qhelp
│ │ │ │ ├── LossyPointerCast.ql
│ │ │ │ ├── NonzeroValueCastToPointer.cpp
│ │ │ │ ├── NonzeroValueCastToPointer.qhelp
│ │ │ │ └── NonzeroValueCastToPointer.ql
│ │ │ ├── Format
│ │ │ │ ├── NonConstantFormat-1-bad.c
│ │ │ │ ├── NonConstantFormat-1-good.c
│ │ │ │ ├── NonConstantFormat-2-bad.c
│ │ │ │ ├── NonConstantFormat-2-good.c
│ │ │ │ ├── NonConstantFormat-2-ok.c
│ │ │ │ ├── NonConstantFormat.qhelp
│ │ │ │ ├── NonConstantFormat.ql
│ │ │ │ ├── SnprintfOverflow.qhelp
│ │ │ │ ├── SnprintfOverflow.ql
│ │ │ │ ├── SnprintfOverflowBad.cpp
│ │ │ │ ├── SnprintfOverflowGood.cpp
│ │ │ │ ├── TooManyFormatArguments.cpp
│ │ │ │ ├── TooManyFormatArguments.qhelp
│ │ │ │ ├── TooManyFormatArguments.ql
│ │ │ │ ├── WrongNumberOfFormatArguments.cpp
│ │ │ │ ├── WrongNumberOfFormatArguments.qhelp
│ │ │ │ ├── WrongNumberOfFormatArguments.ql
│ │ │ │ ├── WrongTypeFormatArguments.cpp
│ │ │ │ ├── WrongTypeFormatArguments.qhelp
│ │ │ │ └── WrongTypeFormatArguments.ql
│ │ │ ├── InconsistentCallOnResult.qhelp
│ │ │ ├── InconsistentCallOnResult.ql
│ │ │ ├── InconsistentCheckReturnNull.cpp
│ │ │ ├── InconsistentCheckReturnNull.qhelp
│ │ │ ├── InconsistentCheckReturnNull.ql
│ │ │ ├── JapaneseEra
│ │ │ │ ├── ConstructorOrMethodWithExactEraDate.qhelp
│ │ │ │ ├── ConstructorOrMethodWithExactEraDate.ql
│ │ │ │ ├── StructWithExactEraDate.qhelp
│ │ │ │ └── StructWithExactEraDate.ql
│ │ │ ├── Leap Year
│ │ │ │ ├── Adding365DaysPerYear.qhelp
│ │ │ │ ├── Adding365DaysPerYear.ql
│ │ │ │ ├── LeapYear.inc.qhelp
│ │ │ │ ├── LeapYear.qll
│ │ │ │ ├── UncheckedLeapYearAfterYearModification.qhelp
│ │ │ │ ├── UncheckedLeapYearAfterYearModification.ql
│ │ │ │ ├── UncheckedLeapYearAfterYearModificationBad.c
│ │ │ │ ├── UncheckedLeapYearAfterYearModificationGood.c
│ │ │ │ ├── UncheckedReturnValueForTimeFunctions.qhelp
│ │ │ │ ├── UncheckedReturnValueForTimeFunctions.ql
│ │ │ │ ├── UnsafeArrayForDaysOfYear.qhelp
│ │ │ │ ├── UnsafeArrayForDaysOfYear.ql
│ │ │ │ ├── UnsafeArrayForDaysOfYearBad.c
│ │ │ │ └── UnsafeArrayForDaysOfYearGood.c
│ │ │ ├── Likely Typos
│ │ │ │ ├── AssignWhereCompareMeant.cpp
│ │ │ │ ├── AssignWhereCompareMeant.qhelp
│ │ │ │ ├── AssignWhereCompareMeant.ql
│ │ │ │ ├── BoolValueInBitOp.cpp
│ │ │ │ ├── BoolValueInBitOp.qhelp
│ │ │ │ ├── BoolValueInBitOp.ql
│ │ │ │ ├── CompareWhereAssignMeant.cpp
│ │ │ │ ├── CompareWhereAssignMeant.qhelp
│ │ │ │ ├── CompareWhereAssignMeant.ql
│ │ │ │ ├── DubiousNullCheck.qhelp
│ │ │ │ ├── DubiousNullCheck.ql
│ │ │ │ ├── ExprHasNoEffect.cpp
│ │ │ │ ├── ExprHasNoEffect.qhelp
│ │ │ │ ├── ExprHasNoEffect.ql
│ │ │ │ ├── FutileConditional.cpp
│ │ │ │ ├── FutileConditional.qhelp
│ │ │ │ ├── FutileConditional.ql
│ │ │ │ ├── IncorrectNotOperatorUsage.cpp
│ │ │ │ ├── IncorrectNotOperatorUsage.qhelp
│ │ │ │ ├── IncorrectNotOperatorUsage.ql
│ │ │ │ ├── LogicalExprCouldBeSimplified.cpp
│ │ │ │ ├── LogicalExprCouldBeSimplified.qhelp
│ │ │ │ ├── LogicalExprCouldBeSimplified.ql
│ │ │ │ ├── MissingEnumCaseInSwitch.cpp
│ │ │ │ ├── MissingEnumCaseInSwitch.qhelp
│ │ │ │ ├── MissingEnumCaseInSwitch.ql
│ │ │ │ ├── ShortCircuitBitMask.cpp
│ │ │ │ ├── ShortCircuitBitMask.qhelp
│ │ │ │ ├── ShortCircuitBitMask.ql
│ │ │ │ ├── UsingStrcpyAsBoolean.cpp
│ │ │ │ ├── UsingStrcpyAsBoolean.qhelp
│ │ │ │ ├── UsingStrcpyAsBoolean.ql
│ │ │ │ ├── inconsistentLoopDirection.c
│ │ │ │ ├── inconsistentLoopDirection.qhelp
│ │ │ │ └── inconsistentLoopDirection.ql
│ │ │ ├── Memory Management
│ │ │ │ ├── AllocaInLoop.qhelp
│ │ │ │ ├── AllocaInLoop.ql
│ │ │ │ ├── AllocaInLoopBad.cpp
│ │ │ │ ├── AllocaInLoopGood.cpp
│ │ │ │ ├── Buffer.qll
│ │ │ │ ├── ImproperNullTermination.qhelp
│ │ │ │ ├── ImproperNullTermination.ql
│ │ │ │ ├── ImproperNullTerminationBad.cpp
│ │ │ │ ├── ImproperNullTerminationGood.cpp
│ │ │ │ ├── NtohlArrayNoBound-bad.cpp
│ │ │ │ ├── NtohlArrayNoBound-good.cpp
│ │ │ │ ├── NtohlArrayNoBound.qhelp
│ │ │ │ ├── NtohlArrayNoBound.ql
│ │ │ │ ├── NtohlArrayNoBound.qll
│ │ │ │ ├── Padding
│ │ │ │ │ ├── More64BitWaste.ql
│ │ │ │ │ ├── NonPortablePrintf.ql
│ │ │ │ │ └── Suboptimal64BitType.ql
│ │ │ │ ├── PointerOverflow-bad.cpp
│ │ │ │ ├── PointerOverflow-good.cpp
│ │ │ │ ├── PointerOverflow.qhelp
│ │ │ │ ├── PointerOverflow.ql
│ │ │ │ ├── PotentialBufferOverflow.cpp
│ │ │ │ ├── PotentialBufferOverflow.qhelp
│ │ │ │ ├── PotentialBufferOverflow.ql
│ │ │ │ ├── ReturnCstrOfLocalStdString.qhelp
│ │ │ │ ├── ReturnCstrOfLocalStdString.ql
│ │ │ │ ├── ReturnCstrOfLocalStdStringBad.cpp
│ │ │ │ ├── ReturnCstrOfLocalStdStringGood.cpp
│ │ │ │ ├── ReturnStackAllocatedMemory.cpp
│ │ │ │ ├── ReturnStackAllocatedMemory.qhelp
│ │ │ │ ├── ReturnStackAllocatedMemory.ql
│ │ │ │ ├── StackAddressEscapes.cpp
│ │ │ │ ├── StackAddressEscapes.qhelp
│ │ │ │ ├── StackAddressEscapes.ql
│ │ │ │ ├── StrncpyFlippedArgs.cpp
│ │ │ │ ├── StrncpyFlippedArgs.qhelp
│ │ │ │ ├── StrncpyFlippedArgs.ql
│ │ │ │ ├── SuspiciousCallToMemset.cpp
│ │ │ │ ├── SuspiciousCallToMemset.qhelp
│ │ │ │ ├── SuspiciousCallToMemset.ql
│ │ │ │ ├── SuspiciousCallToStrncat.cpp
│ │ │ │ ├── SuspiciousCallToStrncat.qhelp
│ │ │ │ ├── SuspiciousCallToStrncat.ql
│ │ │ │ ├── SuspiciousSizeof.cpp
│ │ │ │ ├── SuspiciousSizeof.qhelp
│ │ │ │ ├── SuspiciousSizeof.ql
│ │ │ │ ├── UninitializedLocal.cpp
│ │ │ │ ├── UninitializedLocal.qhelp
│ │ │ │ ├── UninitializedLocal.ql
│ │ │ │ ├── UnsafeUseOfStrcat.cpp
│ │ │ │ ├── UnsafeUseOfStrcat.qhelp
│ │ │ │ └── UnsafeUseOfStrcat.ql
│ │ │ ├── NestedLoopSameVar.cpp
│ │ │ ├── NestedLoopSameVar.qhelp
│ │ │ ├── NestedLoopSameVar.ql
│ │ │ ├── NestedLoopSameVar.qll
│ │ │ ├── OO
│ │ │ │ ├── IncorrectConstructorDelegation.qhelp
│ │ │ │ ├── IncorrectConstructorDelegation.ql
│ │ │ │ ├── NonVirtualDestructor.cpp
│ │ │ │ ├── NonVirtualDestructor.qhelp
│ │ │ │ ├── NonVirtualDestructor.ql
│ │ │ │ ├── NonVirtualDestructorInBaseClass.cpp
│ │ │ │ ├── NonVirtualDestructorInBaseClass.qhelp
│ │ │ │ ├── NonVirtualDestructorInBaseClass.ql
│ │ │ │ ├── SelfAssignmentCheck.cpp
│ │ │ │ ├── SelfAssignmentCheck.qhelp
│ │ │ │ ├── SelfAssignmentCheck.ql
│ │ │ │ ├── ThrowInDestructor.cpp
│ │ │ │ ├── ThrowInDestructor.qhelp
│ │ │ │ ├── ThrowInDestructor.ql
│ │ │ │ ├── UnsafeUseOfThis.cpp
│ │ │ │ ├── UnsafeUseOfThis.qhelp
│ │ │ │ ├── UnsafeUseOfThis.ql
│ │ │ │ ├── VirtualCallInStructor.cpp
│ │ │ │ ├── VirtualCallInStructor.qhelp
│ │ │ │ └── VirtualCallInStructor.ql
│ │ │ ├── Protocols
│ │ │ │ ├── TlsSettingsMisconfiguration.qhelp
│ │ │ │ ├── TlsSettingsMisconfiguration.ql
│ │ │ │ ├── TlsSettingsMisconfigurationBad.cpp
│ │ │ │ ├── TlsSettingsMisconfigurationGood.cpp
│ │ │ │ ├── UseOfDeprecatedHardcodedProtocol.qhelp
│ │ │ │ ├── UseOfDeprecatedHardcodedProtocol.ql
│ │ │ │ ├── UseOfDeprecatedHardcodedProtocolBad.cpp
│ │ │ │ └── UseOfDeprecatedHardcodedProtocolGood.cpp
│ │ │ ├── RedundantNullCheckSimple.cpp
│ │ │ ├── RedundantNullCheckSimple.qhelp
│ │ │ ├── RedundantNullCheckSimple.ql
│ │ │ ├── ReturnConstType.cpp
│ │ │ ├── ReturnConstType.qhelp
│ │ │ ├── ReturnConstType.ql
│ │ │ ├── ReturnConstTypeCommon.qll
│ │ │ ├── ReturnConstTypeMember.cpp
│ │ │ ├── ReturnConstTypeMember.qhelp
│ │ │ ├── ReturnConstTypeMember.ql
│ │ │ ├── ShortLoopVarName.cpp
│ │ │ ├── ShortLoopVarName.qhelp
│ │ │ ├── ShortLoopVarName.ql
│ │ │ ├── Underspecified Functions
│ │ │ │ ├── ImplicitFunctionDeclaration.c
│ │ │ │ ├── ImplicitFunctionDeclaration.qhelp
│ │ │ │ ├── ImplicitFunctionDeclaration.ql
│ │ │ │ ├── MistypedFunctionArguments.c
│ │ │ │ ├── MistypedFunctionArguments.qhelp
│ │ │ │ ├── MistypedFunctionArguments.ql
│ │ │ │ ├── MistypedFunctionArguments.qll
│ │ │ │ ├── TooFewArguments.c
│ │ │ │ ├── TooFewArguments.qhelp
│ │ │ │ ├── TooFewArguments.ql
│ │ │ │ ├── TooFewArguments.qll
│ │ │ │ ├── TooManyArguments.c
│ │ │ │ ├── TooManyArguments.qhelp
│ │ │ │ ├── TooManyArguments.ql
│ │ │ │ └── TooManyArguments.qll
│ │ │ ├── UseInOwnInitializer.cpp
│ │ │ ├── UseInOwnInitializer.qhelp
│ │ │ └── UseInOwnInitializer.ql
│ │ ├── Metrics
│ │ │ ├── Classes
│ │ │ │ ├── CAfferentCoupling.qhelp
│ │ │ │ ├── CAfferentCoupling.ql
│ │ │ │ ├── CEfferentCoupling.qhelp
│ │ │ │ ├── CEfferentCoupling.ql
│ │ │ │ ├── CHalsteadBugs.ql
│ │ │ │ ├── CHalsteadDifficulty.ql
│ │ │ │ ├── CHalsteadEffort.ql
│ │ │ │ ├── CHalsteadLength.ql
│ │ │ │ ├── CHalsteadVocabulary.ql
│ │ │ │ ├── CHalsteadVolume.ql
│ │ │ │ ├── CInheritanceDepth.qhelp
│ │ │ │ ├── CInheritanceDepth.ql
│ │ │ │ ├── CLackOfCohesionCK.qhelp
│ │ │ │ ├── CLackOfCohesionCK.ql
│ │ │ │ ├── CLackOfCohesionHS.ql
│ │ │ │ ├── CLinesOfCode.qhelp
│ │ │ │ ├── CLinesOfCode.ql
│ │ │ │ ├── CNumberOfFields.qhelp
│ │ │ │ ├── CNumberOfFields.ql
│ │ │ │ ├── CNumberOfFunctions.qhelp
│ │ │ │ ├── CNumberOfFunctions.ql
│ │ │ │ ├── CNumberOfStatements.ql
│ │ │ │ ├── CPercentageOfComplexCode.qhelp
│ │ │ │ ├── CPercentageOfComplexCode.ql
│ │ │ │ ├── CResponse.qhelp
│ │ │ │ ├── CResponse.ql
│ │ │ │ ├── CSizeOfAPI.qhelp
│ │ │ │ ├── CSizeOfAPI.ql
│ │ │ │ ├── CSpecialisation.qhelp
│ │ │ │ └── CSpecialisation.ql
│ │ │ ├── Dependencies
│ │ │ │ ├── ExternalDependencies.ql
│ │ │ │ ├── ExternalDependencies.qll
│ │ │ │ └── ExternalDependenciesSourceLinks.ql
│ │ │ ├── External
│ │ │ │ ├── FileCompilationDisplayStrings.ql
│ │ │ │ └── FileCompilationSourceLinks.ql
│ │ │ ├── Files
│ │ │ │ ├── AutogeneratedLOC.ql
│ │ │ │ ├── CommentedOutCodeMetricOverview.inc.qhelp
│ │ │ │ ├── CommentedOutCodeReferences.inc.qhelp
│ │ │ │ ├── ConditionalSegmentConditions.ql
│ │ │ │ ├── ConditionalSegmentLines.ql
│ │ │ │ ├── DuplicationProblems.inc.qhelp
│ │ │ │ ├── FAfferentCoupling.qhelp
│ │ │ │ ├── FAfferentCoupling.ql
│ │ │ │ ├── FCommentRatio.qhelp
│ │ │ │ ├── FCommentRatio.ql
│ │ │ │ ├── FCyclomaticComplexity.cpp
│ │ │ │ ├── FCyclomaticComplexity.qhelp
│ │ │ │ ├── FCyclomaticComplexity.ql
│ │ │ │ ├── FCyclomaticComplexity_ControlFlow.gv
│ │ │ │ ├── FCyclomaticComplexity_ControlFlow.png
│ │ │ │ ├── FDirectIncludes.qhelp
│ │ │ │ ├── FDirectIncludes.ql
│ │ │ │ ├── FEfferentCoupling.qhelp
│ │ │ │ ├── FEfferentCoupling.ql
│ │ │ │ ├── FHalsteadBugs.ql
│ │ │ │ ├── FHalsteadDifficulty.ql
│ │ │ │ ├── FHalsteadEffort.ql
│ │ │ │ ├── FHalsteadLength.ql
│ │ │ │ ├── FHalsteadVocabulary.ql
│ │ │ │ ├── FHalsteadVolume.ql
│ │ │ │ ├── FLines.ql
│ │ │ │ ├── FLinesOfCode.qhelp
│ │ │ │ ├── FLinesOfCode.ql
│ │ │ │ ├── FLinesOfCommentedOutCode.qhelp
│ │ │ │ ├── FLinesOfCommentedOutCode.ql
│ │ │ │ ├── FLinesOfComments.qhelp
│ │ │ │ ├── FLinesOfComments.ql
│ │ │ │ ├── FLinesOfDuplicatedCode.qhelp
│ │ │ │ ├── FLinesOfDuplicatedCode.ql
│ │ │ │ ├── FLinesOfDuplicatedCodeCommon.inc.qhelp
│ │ │ │ ├── FMacroRatio.cpp
│ │ │ │ ├── FMacroRatio.qhelp
│ │ │ │ ├── FMacroRatio.ql
│ │ │ │ ├── FNumberOfClasses.ql
│ │ │ │ ├── FNumberOfTests.qhelp
│ │ │ │ ├── FNumberOfTests.ql
│ │ │ │ ├── FTimeInFrontend.qhelp
│ │ │ │ ├── FTimeInFrontend.ql
│ │ │ │ ├── FTodoComments.qhelp
│ │ │ │ ├── FTodoComments.ql
│ │ │ │ ├── FTransitiveIncludes.qhelp
│ │ │ │ ├── FTransitiveIncludes.ql
│ │ │ │ ├── FTransitiveSourceIncludes.qhelp
│ │ │ │ ├── FTransitiveSourceIncludes.ql
│ │ │ │ ├── FunctionLength.qhelp
│ │ │ │ ├── FunctionLength.ql
│ │ │ │ ├── NumberOfFunctions.qhelp
│ │ │ │ ├── NumberOfFunctions.ql
│ │ │ │ ├── NumberOfGlobals.qhelp
│ │ │ │ ├── NumberOfGlobals.ql
│ │ │ │ ├── NumberOfParameters.qhelp
│ │ │ │ ├── NumberOfParameters.ql
│ │ │ │ ├── NumberOfPublicFunctions.qhelp
│ │ │ │ ├── NumberOfPublicFunctions.ql
│ │ │ │ ├── NumberOfPublicGlobals.qhelp
│ │ │ │ └── NumberOfPublicGlobals.ql
│ │ │ ├── Functions
│ │ │ │ ├── FunCyclomaticComplexity.qhelp
│ │ │ │ ├── FunCyclomaticComplexity.ql
│ │ │ │ ├── FunIterationNestingDepth.ql
│ │ │ │ ├── FunLinesOfCode.qhelp
│ │ │ │ ├── FunLinesOfCode.ql
│ │ │ │ ├── FunLinesOfComments.qhelp
│ │ │ │ ├── FunLinesOfComments.ql
│ │ │ │ ├── FunNumberOfCalls.qhelp
│ │ │ │ ├── FunNumberOfCalls.ql
│ │ │ │ ├── FunNumberOfParameters.qhelp
│ │ │ │ ├── FunNumberOfParameters.ql
│ │ │ │ ├── FunNumberOfStatements.qhelp
│ │ │ │ ├── FunNumberOfStatements.ql
│ │ │ │ ├── FunPercentageOfComments.qhelp
│ │ │ │ ├── FunPercentageOfComments.ql
│ │ │ │ ├── StatementNestingDepth.qhelp
│ │ │ │ └── StatementNestingDepth.ql
│ │ │ ├── History
│ │ │ │ ├── HChurn.qhelp
│ │ │ │ ├── HLinesAdded.qhelp
│ │ │ │ ├── HLinesDeleted.qhelp
│ │ │ │ ├── HNumberOfAuthors.qhelp
│ │ │ │ ├── HNumberOfChanges.qhelp
│ │ │ │ ├── HNumberOfCoCommits.qhelp
│ │ │ │ ├── HNumberOfReCommits.qhelp
│ │ │ │ └── HNumberOfRecentChanges.qhelp
│ │ │ ├── Internal
│ │ │ │ ├── CallableDisplayStrings.ql
│ │ │ │ ├── CallableExtents.ql
│ │ │ │ ├── CallableSourceLinks.ql
│ │ │ │ ├── ReftypeDisplayStrings.ql
│ │ │ │ └── ReftypeSourceLinks.ql
│ │ │ └── Namespaces
│ │ │ │ ├── AbstractNamespaces.qhelp
│ │ │ │ ├── AbstractNamespaces.ql
│ │ │ │ ├── ConcreteNamespaces.qhelp
│ │ │ │ ├── ConcreteNamespaces.ql
│ │ │ │ ├── HighAfferentCouplingNamespaces.qhelp
│ │ │ │ ├── HighAfferentCouplingNamespaces.ql
│ │ │ │ ├── HighDistanceFromMainLineNamespaces.qhelp
│ │ │ │ ├── HighDistanceFromMainLineNamespaces.ql
│ │ │ │ ├── HighEfferentCouplingNamespaces.ql
│ │ │ │ ├── StableNamespaces.qhelp
│ │ │ │ ├── StableNamespaces.ql
│ │ │ │ ├── UnstableNamespaces.qhelp
│ │ │ │ └── UnstableNamespaces.ql
│ │ ├── Microsoft
│ │ │ ├── CallWithNullSAL.ql
│ │ │ ├── IgnoreReturnValueSAL.ql
│ │ │ ├── InconsistentSAL.ql
│ │ │ └── SAL.qll
│ │ ├── Options.qll
│ │ ├── PointsTo
│ │ │ ├── Debug.ql
│ │ │ ├── PreparedStagedPointsTo.ql
│ │ │ ├── Stats.ql
│ │ │ └── TaintedFormatStrings.ql
│ │ ├── Power of 10
│ │ │ ├── Rule 1
│ │ │ │ ├── UseOfGoto.c
│ │ │ │ ├── UseOfGoto.qhelp
│ │ │ │ ├── UseOfGoto.ql
│ │ │ │ ├── UseOfJmp.ql
│ │ │ │ └── UseOfRecursion.ql
│ │ │ ├── Rule 2
│ │ │ │ ├── BoundedLoopIterations.ql
│ │ │ │ └── ExitPermanentLoop.ql
│ │ │ ├── Rule 3
│ │ │ │ └── DynamicAllocAfterInit.ql
│ │ │ ├── Rule 4
│ │ │ │ ├── FunctionTooLong.ql
│ │ │ │ └── OneStmtPerLine.ql
│ │ │ ├── Rule 5
│ │ │ │ ├── AssertionDensity.ql
│ │ │ │ ├── AssertionSideEffect.ql
│ │ │ │ ├── ConstantAssertion.ql
│ │ │ │ └── NonBooleanAssertion.ql
│ │ │ ├── Rule 6
│ │ │ │ ├── GlobalCouldBeStatic.ql
│ │ │ │ └── VariableScopeTooLarge.ql
│ │ │ ├── Rule 7
│ │ │ │ ├── CheckArguments.ql
│ │ │ │ └── CheckReturnValues.ql
│ │ │ ├── Rule 8
│ │ │ │ ├── AvoidConditionalCompilation.ql
│ │ │ │ ├── PartialMacro.ql
│ │ │ │ ├── RestrictPreprocessor.ql
│ │ │ │ └── UndisciplinedMacro.ql
│ │ │ └── Rule 9
│ │ │ │ ├── FunctionPointer.ql
│ │ │ │ ├── HiddenPointerIndirection.ql
│ │ │ │ └── PointerNesting.ql
│ │ ├── Security
│ │ │ └── CWE
│ │ │ │ ├── CWE-014
│ │ │ │ ├── MemsetMayBeDeleted-bad.c
│ │ │ │ ├── MemsetMayBeDeleted-good.c
│ │ │ │ ├── MemsetMayBeDeleted.qhelp
│ │ │ │ └── MemsetMayBeDeleted.ql
│ │ │ │ ├── CWE-020
│ │ │ │ ├── CountUntrustedDataToExternalAPI.qhelp
│ │ │ │ ├── CountUntrustedDataToExternalAPI.ql
│ │ │ │ ├── ExternalAPISinkExample.cpp
│ │ │ │ ├── ExternalAPITaintStepExample.cpp
│ │ │ │ ├── ExternalAPIs.qll
│ │ │ │ ├── ExternalAPIsSpecific.qll
│ │ │ │ ├── IRCountUntrustedDataToExternalAPI.qhelp
│ │ │ │ ├── IRCountUntrustedDataToExternalAPI.ql
│ │ │ │ ├── IRUntrustedDataToExternalAPI.qhelp
│ │ │ │ ├── IRUntrustedDataToExternalAPI.ql
│ │ │ │ ├── SafeExternalAPIFunction.qll
│ │ │ │ ├── UntrustedDataToExternalAPI.qhelp
│ │ │ │ ├── UntrustedDataToExternalAPI.ql
│ │ │ │ └── ir
│ │ │ │ │ ├── ExternalAPIs.qll
│ │ │ │ │ ├── ExternalAPIsSpecific.qll
│ │ │ │ │ └── SafeExternalAPIFunction.qll
│ │ │ │ ├── CWE-022
│ │ │ │ ├── TaintedPath.c
│ │ │ │ ├── TaintedPath.qhelp
│ │ │ │ └── TaintedPath.ql
│ │ │ │ ├── CWE-078
│ │ │ │ ├── ExecTainted.c
│ │ │ │ ├── ExecTainted.qhelp
│ │ │ │ └── ExecTainted.ql
│ │ │ │ ├── CWE-079
│ │ │ │ ├── CgiXss.c
│ │ │ │ ├── CgiXss.qhelp
│ │ │ │ └── CgiXss.ql
│ │ │ │ ├── CWE-089
│ │ │ │ ├── SqlTainted.c
│ │ │ │ ├── SqlTainted.qhelp
│ │ │ │ └── SqlTainted.ql
│ │ │ │ ├── CWE-114
│ │ │ │ ├── UncontrolledProcessOperation.c
│ │ │ │ ├── UncontrolledProcessOperation.qhelp
│ │ │ │ └── UncontrolledProcessOperation.ql
│ │ │ │ ├── CWE-119
│ │ │ │ ├── OverflowBuffer.c
│ │ │ │ ├── OverflowBuffer.qhelp
│ │ │ │ └── OverflowBuffer.ql
│ │ │ │ ├── CWE-120
│ │ │ │ ├── BadlyBoundedWrite.c
│ │ │ │ ├── BadlyBoundedWrite.qhelp
│ │ │ │ ├── BadlyBoundedWrite.ql
│ │ │ │ ├── OverrunWrite.c
│ │ │ │ ├── OverrunWrite.qhelp
│ │ │ │ ├── OverrunWrite.ql
│ │ │ │ ├── OverrunWriteFloat.c
│ │ │ │ ├── OverrunWriteFloat.qhelp
│ │ │ │ ├── OverrunWriteFloat.ql
│ │ │ │ ├── UnboundedWrite.c
│ │ │ │ ├── UnboundedWrite.qhelp
│ │ │ │ └── UnboundedWrite.ql
│ │ │ │ ├── CWE-121
│ │ │ │ ├── UnterminatedVarargsCall.cpp
│ │ │ │ ├── UnterminatedVarargsCall.qhelp
│ │ │ │ └── UnterminatedVarargsCall.ql
│ │ │ │ ├── CWE-129
│ │ │ │ ├── ImproperArrayIndexValidation.qhelp
│ │ │ │ ├── ImproperArrayIndexValidation.ql
│ │ │ │ ├── ImproperArrayIndexValidationBad.c
│ │ │ │ └── ImproperArrayIndexValidationGood.c
│ │ │ │ ├── CWE-131
│ │ │ │ ├── NoSpaceForZeroTerminator.c
│ │ │ │ ├── NoSpaceForZeroTerminator.qhelp
│ │ │ │ └── NoSpaceForZeroTerminator.ql
│ │ │ │ ├── CWE-134
│ │ │ │ ├── UncontrolledFormatString.c
│ │ │ │ ├── UncontrolledFormatString.qhelp
│ │ │ │ ├── UncontrolledFormatString.ql
│ │ │ │ ├── UncontrolledFormatStringThroughGlobalVar.c
│ │ │ │ ├── UncontrolledFormatStringThroughGlobalVar.qhelp
│ │ │ │ └── UncontrolledFormatStringThroughGlobalVar.ql
│ │ │ │ ├── CWE-170
│ │ │ │ ├── ImproperNullTerminationTainted.qhelp
│ │ │ │ ├── ImproperNullTerminationTainted.ql
│ │ │ │ ├── ImproperNullTerminationTaintedBad.cpp
│ │ │ │ └── ImproperNullTerminationTaintedGood.cpp
│ │ │ │ ├── CWE-190
│ │ │ │ ├── ArithmeticTainted.c
│ │ │ │ ├── ArithmeticTainted.qhelp
│ │ │ │ ├── ArithmeticTainted.ql
│ │ │ │ ├── ArithmeticUncontrolled.c
│ │ │ │ ├── ArithmeticUncontrolled.qhelp
│ │ │ │ ├── ArithmeticUncontrolled.ql
│ │ │ │ ├── ArithmeticWithExtremeValues.c
│ │ │ │ ├── ArithmeticWithExtremeValues.qhelp
│ │ │ │ ├── ArithmeticWithExtremeValues.ql
│ │ │ │ ├── ComparisonWithWiderType.c
│ │ │ │ ├── ComparisonWithWiderType.qhelp
│ │ │ │ ├── ComparisonWithWiderType.ql
│ │ │ │ ├── IntegerOverflowTainted.qhelp
│ │ │ │ ├── IntegerOverflowTainted.ql
│ │ │ │ ├── TaintedAllocationSize.c
│ │ │ │ ├── TaintedAllocationSize.qhelp
│ │ │ │ └── TaintedAllocationSize.ql
│ │ │ │ ├── CWE-191
│ │ │ │ ├── UnsignedDifferenceExpressionComparedZero.c
│ │ │ │ ├── UnsignedDifferenceExpressionComparedZero.qhelp
│ │ │ │ └── UnsignedDifferenceExpressionComparedZero.ql
│ │ │ │ ├── CWE-253
│ │ │ │ ├── HResultBooleanConversion.cpp
│ │ │ │ ├── HResultBooleanConversion.qhelp
│ │ │ │ └── HResultBooleanConversion.ql
│ │ │ │ ├── CWE-290
│ │ │ │ ├── AuthenticationBypass.cpp
│ │ │ │ ├── AuthenticationBypass.qhelp
│ │ │ │ └── AuthenticationBypass.ql
│ │ │ │ ├── CWE-311
│ │ │ │ ├── CleartextBufferWrite.qhelp
│ │ │ │ ├── CleartextBufferWrite.ql
│ │ │ │ ├── CleartextFileWrite.qhelp
│ │ │ │ ├── CleartextFileWrite.ql
│ │ │ │ ├── CleartextStorage.c
│ │ │ │ └── CleartextStorage.inc.qhelp
│ │ │ │ ├── CWE-313
│ │ │ │ ├── CleartextSqliteDatabase.c
│ │ │ │ ├── CleartextSqliteDatabase.qhelp
│ │ │ │ └── CleartextSqliteDatabase.ql
│ │ │ │ ├── CWE-327
│ │ │ │ ├── BrokenCryptoAlgorithm.c
│ │ │ │ ├── BrokenCryptoAlgorithm.qhelp
│ │ │ │ ├── BrokenCryptoAlgorithm.ql
│ │ │ │ ├── OpenSslHeartbleed.c
│ │ │ │ ├── OpenSslHeartbleed.qhelp
│ │ │ │ └── OpenSslHeartbleed.ql
│ │ │ │ ├── CWE-367
│ │ │ │ ├── TOCTOUFilesystemRace.qhelp
│ │ │ │ ├── TOCTOUFilesystemRace.ql
│ │ │ │ ├── TOCTOUFilesystemRaceBad.c
│ │ │ │ └── TOCTOUFilesystemRaceGood.c
│ │ │ │ ├── CWE-428
│ │ │ │ ├── UnsafeCreateProcessCall.cpp
│ │ │ │ ├── UnsafeCreateProcessCall.qhelp
│ │ │ │ └── UnsafeCreateProcessCall.ql
│ │ │ │ ├── CWE-457
│ │ │ │ ├── ConditionallyUninitializedVariable.qhelp
│ │ │ │ ├── ConditionallyUninitializedVariable.ql
│ │ │ │ ├── ConditionallyUninitializedVariableBad.c
│ │ │ │ ├── ConditionallyUninitializedVariableGood.c
│ │ │ │ ├── InitializationFunctions.qll
│ │ │ │ └── UninitializedVariables.qll
│ │ │ │ ├── CWE-468
│ │ │ │ ├── IncorrectPointerScaling.cpp
│ │ │ │ ├── IncorrectPointerScaling.qhelp
│ │ │ │ ├── IncorrectPointerScaling.ql
│ │ │ │ ├── IncorrectPointerScalingChar.cpp
│ │ │ │ ├── IncorrectPointerScalingChar.qhelp
│ │ │ │ ├── IncorrectPointerScalingChar.ql
│ │ │ │ ├── IncorrectPointerScalingCommon.qll
│ │ │ │ ├── IncorrectPointerScalingVoid.cpp
│ │ │ │ ├── IncorrectPointerScalingVoid.qhelp
│ │ │ │ ├── IncorrectPointerScalingVoid.ql
│ │ │ │ ├── SuspiciousAddWithSizeof.cpp
│ │ │ │ ├── SuspiciousAddWithSizeof.qhelp
│ │ │ │ └── SuspiciousAddWithSizeof.ql
│ │ │ │ ├── CWE-497
│ │ │ │ ├── ExposedSystemData.qhelp
│ │ │ │ ├── ExposedSystemData.ql
│ │ │ │ ├── ExposedSystemDataCorrect.cpp
│ │ │ │ └── ExposedSystemDataIncorrect.cpp
│ │ │ │ ├── CWE-676
│ │ │ │ ├── DangerousFunctionOverflow.c
│ │ │ │ ├── DangerousFunctionOverflow.qhelp
│ │ │ │ ├── DangerousFunctionOverflow.ql
│ │ │ │ ├── DangerousUseOfCin.cpp
│ │ │ │ ├── DangerousUseOfCin.qhelp
│ │ │ │ ├── DangerousUseOfCin.ql
│ │ │ │ ├── PotentiallyDangerousFunction.c
│ │ │ │ ├── PotentiallyDangerousFunction.qhelp
│ │ │ │ └── PotentiallyDangerousFunction.ql
│ │ │ │ ├── CWE-704
│ │ │ │ ├── WcharCharConversion.cpp
│ │ │ │ ├── WcharCharConversion.qhelp
│ │ │ │ └── WcharCharConversion.ql
│ │ │ │ ├── CWE-732
│ │ │ │ ├── DoNotCreateWorldWritable.c
│ │ │ │ ├── DoNotCreateWorldWritable.qhelp
│ │ │ │ ├── DoNotCreateWorldWritable.ql
│ │ │ │ ├── FilePermissions.qll
│ │ │ │ ├── UnsafeDaclSecurityDescriptor.cpp
│ │ │ │ ├── UnsafeDaclSecurityDescriptor.qhelp
│ │ │ │ └── UnsafeDaclSecurityDescriptor.ql
│ │ │ │ ├── CWE-764
│ │ │ │ ├── LockFlow.qll
│ │ │ │ ├── LockOrderCycle.qhelp
│ │ │ │ ├── LockOrderCycle.ql
│ │ │ │ ├── LockOrderCycleExample.cpp
│ │ │ │ ├── TwiceLocked.qhelp
│ │ │ │ ├── TwiceLocked.ql
│ │ │ │ ├── TwiceLockedBad.cpp
│ │ │ │ ├── TwiceLockedGood.cpp
│ │ │ │ ├── UnreleasedLock.qhelp
│ │ │ │ ├── UnreleasedLock.ql
│ │ │ │ ├── UnreleasedLockBad.cpp
│ │ │ │ └── UnreleasedLockGood.cpp
│ │ │ │ ├── CWE-807
│ │ │ │ ├── TaintedCondition.c
│ │ │ │ ├── TaintedCondition.qhelp
│ │ │ │ └── TaintedCondition.ql
│ │ │ │ └── CWE-835
│ │ │ │ ├── InfiniteLoopBad.c
│ │ │ │ ├── InfiniteLoopGood.c
│ │ │ │ ├── InfiniteLoopWithUnsatisfiableExitCondition.qhelp
│ │ │ │ └── InfiniteLoopWithUnsatisfiableExitCondition.ql
│ │ ├── Summary
│ │ │ └── LinesOfCode.ql
│ │ ├── codeql-suites
│ │ │ ├── cpp-code-scanning.qls
│ │ │ ├── cpp-lgtm-full.qls
│ │ │ ├── cpp-lgtm.qls
│ │ │ ├── cpp-security-and-quality.qls
│ │ │ ├── cpp-security-extended.qls
│ │ │ └── exclude-slow-queries.yml
│ │ ├── cpp.qll
│ │ ├── default.qll
│ │ ├── definitions.ql
│ │ ├── definitions.qll
│ │ ├── experimental
│ │ │ ├── Likely Bugs
│ │ │ │ ├── RedundantNullCheckParam.cpp
│ │ │ │ ├── RedundantNullCheckParam.qhelp
│ │ │ │ └── RedundantNullCheckParam.ql
│ │ │ ├── README.md
│ │ │ ├── Security
│ │ │ │ └── CWE
│ │ │ │ │ ├── CWE-020
│ │ │ │ │ ├── LateCheckOfFunctionArgument.c
│ │ │ │ │ ├── LateCheckOfFunctionArgument.qhelp
│ │ │ │ │ └── LateCheckOfFunctionArgument.ql
│ │ │ │ │ ├── CWE-120
│ │ │ │ │ ├── MemoryUnsafeFunctionScan.cpp
│ │ │ │ │ ├── MemoryUnsafeFunctionScan.qhelp
│ │ │ │ │ └── MemoryUnsafeFunctionScan.ql
│ │ │ │ │ ├── CWE-190
│ │ │ │ │ ├── AllocMultiplicationOverflow.cpp
│ │ │ │ │ ├── AllocMultiplicationOverflow.qhelp
│ │ │ │ │ └── AllocMultiplicationOverflow.ql
│ │ │ │ │ ├── CWE-273
│ │ │ │ │ ├── PrivilegeDroppingOutoforder.c
│ │ │ │ │ ├── PrivilegeDroppingOutoforder.qhelp
│ │ │ │ │ └── PrivilegeDroppingOutoforder.ql
│ │ │ │ │ ├── CWE-359
│ │ │ │ │ ├── PrivateCleartextWrite.qhelp
│ │ │ │ │ └── PrivateCleartextWrite.ql
│ │ │ │ │ ├── CWE-401
│ │ │ │ │ ├── MemoryLeakOnFailedCallToRealloc.c
│ │ │ │ │ ├── MemoryLeakOnFailedCallToRealloc.qhelp
│ │ │ │ │ └── MemoryLeakOnFailedCallToRealloc.ql
│ │ │ │ │ ├── CWE-570
│ │ │ │ │ ├── WrongInDetectingAndHandlingMemoryAllocationErrors.cpp
│ │ │ │ │ ├── WrongInDetectingAndHandlingMemoryAllocationErrors.qhelp
│ │ │ │ │ └── WrongInDetectingAndHandlingMemoryAllocationErrors.ql
│ │ │ │ │ └── CWE-788
│ │ │ │ │ ├── AccessOfMemoryLocationAfterEndOfBufferUsingStrlen.c
│ │ │ │ │ ├── AccessOfMemoryLocationAfterEndOfBufferUsingStrlen.qhelp
│ │ │ │ │ ├── AccessOfMemoryLocationAfterEndOfBufferUsingStrlen.ql
│ │ │ │ │ ├── AccessOfMemoryLocationAfterEndOfBufferUsingStrncat.c
│ │ │ │ │ ├── AccessOfMemoryLocationAfterEndOfBufferUsingStrncat.qhelp
│ │ │ │ │ └── AccessOfMemoryLocationAfterEndOfBufferUsingStrncat.ql
│ │ │ └── semmle
│ │ │ │ └── code
│ │ │ │ └── cpp
│ │ │ │ ├── models
│ │ │ │ └── interfaces
│ │ │ │ │ ├── SimpleRangeAnalysisDefinition.qll
│ │ │ │ │ └── SimpleRangeAnalysisExpr.qll
│ │ │ │ ├── rangeanalysis
│ │ │ │ ├── ArrayLengthAnalysis.qll
│ │ │ │ ├── Bound.qll
│ │ │ │ ├── ExtendedRangeAnalysis.qll
│ │ │ │ ├── InBoundsPointerDeref.qll
│ │ │ │ ├── RangeAnalysis.qll
│ │ │ │ ├── RangeUtils.qll
│ │ │ │ ├── SignAnalysis.qll
│ │ │ │ └── extensions
│ │ │ │ │ ├── ConstantBitwiseAndExprRange.qll
│ │ │ │ │ └── SubtractSelf.qll
│ │ │ │ └── security
│ │ │ │ ├── PrivateCleartextWrite.qll
│ │ │ │ └── PrivateData.qll
│ │ ├── external
│ │ │ ├── CodeDuplication.qll
│ │ │ ├── DefectFilter.qll
│ │ │ ├── DuplicateBlock.ql
│ │ │ ├── DuplicateFunction.qhelp
│ │ │ ├── DuplicateFunction.ql
│ │ │ ├── ExternalArtifact.qll
│ │ │ ├── MetricFilter.qll
│ │ │ ├── MostlyDuplicateClass.qhelp
│ │ │ ├── MostlyDuplicateClass.ql
│ │ │ ├── MostlyDuplicateFile.qhelp
│ │ │ ├── MostlyDuplicateFile.ql
│ │ │ ├── MostlyDuplicateFunction.qhelp
│ │ │ ├── MostlyDuplicateFunction.ql
│ │ │ ├── MostlySimilarFile.qhelp
│ │ │ ├── MostlySimilarFile.ql
│ │ │ └── examples
│ │ │ │ └── filters
│ │ │ │ ├── BumpMetricBy10.ql
│ │ │ │ ├── EditDefectMessage.ql
│ │ │ │ └── ExcludeGeneratedCode.ql
│ │ ├── filters
│ │ │ └── ClassifyFiles.ql
│ │ ├── jsf
│ │ │ ├── 3.02 Code Size and Complexity
│ │ │ │ ├── AV Rule 1.ql
│ │ │ │ ├── AV Rule 2.ql
│ │ │ │ └── AV Rule 3.ql
│ │ │ ├── 4.04 Environment
│ │ │ │ ├── AV Rule 11.ql
│ │ │ │ ├── AV Rule 12.ql
│ │ │ │ ├── AV Rule 13.ql
│ │ │ │ ├── AV Rule 14.ql
│ │ │ │ └── AV Rule 9.ql
│ │ │ ├── 4.05 Libraries
│ │ │ │ ├── AV Rule 17.ql
│ │ │ │ ├── AV Rule 18.ql
│ │ │ │ ├── AV Rule 19.ql
│ │ │ │ ├── AV Rule 20.ql
│ │ │ │ ├── AV Rule 21.ql
│ │ │ │ ├── AV Rule 22.ql
│ │ │ │ ├── AV Rule 23.ql
│ │ │ │ ├── AV Rule 24.cpp
│ │ │ │ ├── AV Rule 24.qhelp
│ │ │ │ ├── AV Rule 24.ql
│ │ │ │ └── AV Rule 25.ql
│ │ │ ├── 4.06 Pre-Processing Directives
│ │ │ │ ├── AV Rule 26.ql
│ │ │ │ ├── AV Rule 27.ql
│ │ │ │ ├── AV Rule 28.ql
│ │ │ │ ├── AV Rule 29.ql
│ │ │ │ ├── AV Rule 30.ql
│ │ │ │ ├── AV Rule 31.ql
│ │ │ │ ├── AV Rule 32.cpp
│ │ │ │ ├── AV Rule 32.qhelp
│ │ │ │ └── AV Rule 32.ql
│ │ │ ├── 4.07 Header Files
│ │ │ │ ├── AV Rule 33.ql
│ │ │ │ ├── AV Rule 35.qhelp
│ │ │ │ ├── AV Rule 35.ql
│ │ │ │ ├── AV Rule 39.ql
│ │ │ │ ├── JSF35-encompassing-bad.cpp
│ │ │ │ ├── JSF35-encompassing-good.cpp
│ │ │ │ ├── JSF35-outermost-bad.cpp
│ │ │ │ ├── JSF35-outermost-good.cpp
│ │ │ │ ├── JSF35-typo-bad.cpp
│ │ │ │ └── JSF35-typo-good.cpp
│ │ │ ├── 4.08 Implementation Files
│ │ │ │ └── AV Rule 40.ql
│ │ │ ├── 4.09 Style
│ │ │ │ ├── AV Rule 41.ql
│ │ │ │ ├── AV Rule 42.ql
│ │ │ │ ├── AV Rule 43.ql
│ │ │ │ ├── AV Rule 44.ql
│ │ │ │ ├── AV Rule 45.ql
│ │ │ │ ├── AV Rule 46.ql
│ │ │ │ ├── AV Rule 47.ql
│ │ │ │ ├── AV Rule 48.ql
│ │ │ │ ├── AV Rule 49.ql
│ │ │ │ ├── AV Rule 50.ql
│ │ │ │ ├── AV Rule 51.ql
│ │ │ │ ├── AV Rule 52.ql
│ │ │ │ ├── AV Rule 53.1.ql
│ │ │ │ ├── AV Rule 53.ql
│ │ │ │ ├── AV Rule 54.ql
│ │ │ │ ├── AV Rule 57.ql
│ │ │ │ ├── AV Rule 58.ql
│ │ │ │ ├── AV Rule 59.ql
│ │ │ │ ├── AV Rule 60.ql
│ │ │ │ ├── AV Rule 61.ql
│ │ │ │ ├── AV Rule 63.ql
│ │ │ │ └── Naming.qll
│ │ │ ├── 4.10 Classes
│ │ │ │ ├── AV Rule 68.ql
│ │ │ │ ├── AV Rule 69.ql
│ │ │ │ ├── AV Rule 70.ql
│ │ │ │ ├── AV Rule 71.1.cpp
│ │ │ │ ├── AV Rule 71.1.qhelp
│ │ │ │ ├── AV Rule 71.1.ql
│ │ │ │ ├── AV Rule 71.ql
│ │ │ │ ├── AV Rule 73.ql
│ │ │ │ ├── AV Rule 74.ql
│ │ │ │ ├── AV Rule 75.ql
│ │ │ │ ├── AV Rule 76.ql
│ │ │ │ ├── AV Rule 77.1.cpp
│ │ │ │ ├── AV Rule 77.1.qhelp
│ │ │ │ ├── AV Rule 77.1.ql
│ │ │ │ ├── AV Rule 78.cpp
│ │ │ │ ├── AV Rule 78.qhelp
│ │ │ │ ├── AV Rule 78.ql
│ │ │ │ ├── AV Rule 79.cpp
│ │ │ │ ├── AV Rule 79.qhelp
│ │ │ │ ├── AV Rule 79.ql
│ │ │ │ ├── AV Rule 81.ql
│ │ │ │ ├── AV Rule 82.cpp
│ │ │ │ ├── AV Rule 82.qhelp
│ │ │ │ ├── AV Rule 82.ql
│ │ │ │ ├── AV Rule 85.cpp
│ │ │ │ ├── AV Rule 85.qhelp
│ │ │ │ ├── AV Rule 85.ql
│ │ │ │ ├── AV Rule 88.1.ql
│ │ │ │ ├── AV Rule 88.cpp
│ │ │ │ ├── AV Rule 88.qhelp
│ │ │ │ ├── AV Rule 88.ql
│ │ │ │ ├── AV Rule 89.qhelp
│ │ │ │ ├── AV Rule 89.ql
│ │ │ │ ├── AV Rule 94.ql
│ │ │ │ ├── AV Rule 95.cpp
│ │ │ │ ├── AV Rule 95.qhelp
│ │ │ │ ├── AV Rule 95.ql
│ │ │ │ ├── AV Rule 96.ql
│ │ │ │ ├── AV Rule 97.1.ql
│ │ │ │ ├── AV Rule 97.cpp
│ │ │ │ ├── AV Rule 97.qhelp
│ │ │ │ └── AV Rule 97.ql
│ │ │ ├── 4.11 Namespaces
│ │ │ │ └── AV Rule 99.ql
│ │ │ ├── 4.12 Templates
│ │ │ │ └── AV Rule 104.ql
│ │ │ ├── 4.13 Functions
│ │ │ │ ├── AV Rule 107.cpp
│ │ │ │ ├── AV Rule 107.qhelp
│ │ │ │ ├── AV Rule 107.ql
│ │ │ │ ├── AV Rule 108.ql
│ │ │ │ ├── AV Rule 110.ql
│ │ │ │ ├── AV Rule 111.cpp
│ │ │ │ ├── AV Rule 111.qhelp
│ │ │ │ ├── AV Rule 111.ql
│ │ │ │ ├── AV Rule 113.ql
│ │ │ │ ├── AV Rule 114.cpp
│ │ │ │ ├── AV Rule 114.qhelp
│ │ │ │ ├── AV Rule 114.ql
│ │ │ │ ├── AV Rule 115.ql
│ │ │ │ └── AV Rule 119.ql
│ │ │ ├── 4.14 Comments
│ │ │ │ ├── AV Rule 126.ql
│ │ │ │ ├── AV Rule 127.ql
│ │ │ │ └── AV Rule 133.ql
│ │ │ ├── 4.15 Declarations and Definitions
│ │ │ │ ├── AV Rule 135.cpp
│ │ │ │ ├── AV Rule 135.qhelp
│ │ │ │ ├── AV Rule 135.ql
│ │ │ │ ├── AV Rule 138.ql
│ │ │ │ ├── AV Rule 139.ql
│ │ │ │ ├── AV Rule 140.cpp
│ │ │ │ ├── AV Rule 140.qhelp
│ │ │ │ └── AV Rule 140.ql
│ │ │ ├── 4.16 Initialization
│ │ │ │ ├── AV Rule 142.ql
│ │ │ │ ├── AV Rule 143.ql
│ │ │ │ ├── AV Rule 145.cpp
│ │ │ │ ├── AV Rule 145.qhelp
│ │ │ │ └── AV Rule 145.ql
│ │ │ ├── 4.17 Types
│ │ │ │ ├── AV Rule 147.cpp
│ │ │ │ ├── AV Rule 147.qhelp
│ │ │ │ ├── AV Rule 147.ql
│ │ │ │ ├── AV Rule 148.cpp
│ │ │ │ ├── AV Rule 148.qhelp
│ │ │ │ └── AV Rule 148.ql
│ │ │ ├── 4.18 Constants
│ │ │ │ ├── AV Rule 149.ql
│ │ │ │ ├── AV Rule 150.ql
│ │ │ │ ├── AV Rule 151.1.cpp
│ │ │ │ ├── AV Rule 151.1.qhelp
│ │ │ │ ├── AV Rule 151.1.ql
│ │ │ │ └── AV Rule 151.ql
│ │ │ ├── 4.19 Variables
│ │ │ │ └── AV Rule 152.ql
│ │ │ ├── 4.20 Unions and Bit Fields
│ │ │ │ ├── AV Rule 153.ql
│ │ │ │ ├── AV Rule 154.cpp
│ │ │ │ ├── AV Rule 154.qhelp
│ │ │ │ ├── AV Rule 154.ql
│ │ │ │ ├── AV Rule 155.ql
│ │ │ │ └── AV Rule 156.ql
│ │ │ ├── 4.21 Operators
│ │ │ │ ├── AV Rule 157.ql
│ │ │ │ ├── AV Rule 158.ql
│ │ │ │ ├── AV Rule 159.ql
│ │ │ │ ├── AV Rule 160.ql
│ │ │ │ ├── AV Rule 162.ql
│ │ │ │ ├── AV Rule 163.ql
│ │ │ │ ├── AV Rule 164.ql
│ │ │ │ ├── AV Rule 165.cpp
│ │ │ │ ├── AV Rule 165.qhelp
│ │ │ │ ├── AV Rule 165.ql
│ │ │ │ ├── AV Rule 166.cpp
│ │ │ │ ├── AV Rule 166.qhelp
│ │ │ │ ├── AV Rule 166.ql
│ │ │ │ └── AV Rule 168.ql
│ │ │ ├── 4.22 Pointers and References
│ │ │ │ ├── AV Rule 170.ql
│ │ │ │ ├── AV Rule 171.ql
│ │ │ │ ├── AV Rule 173.ql
│ │ │ │ ├── AV Rule 175.ql
│ │ │ │ └── AV Rule 176.ql
│ │ │ ├── 4.23 Type Conversions
│ │ │ │ ├── AV Rule 178.ql
│ │ │ │ ├── AV Rule 179.ql
│ │ │ │ ├── AV Rule 180.ql
│ │ │ │ ├── AV Rule 181.ql
│ │ │ │ ├── AV Rule 182.ql
│ │ │ │ ├── AV Rule 184.ql
│ │ │ │ └── AV Rule 185.ql
│ │ │ ├── 4.24 Control Flow Structures
│ │ │ │ ├── AV Rule 186.ql
│ │ │ │ ├── AV Rule 187.ql
│ │ │ │ ├── AV Rule 188.ql
│ │ │ │ ├── AV Rule 189.qhelp
│ │ │ │ ├── AV Rule 189.ql
│ │ │ │ ├── AV Rule 190.ql
│ │ │ │ ├── AV Rule 191.ql
│ │ │ │ ├── AV Rule 192.ql
│ │ │ │ ├── AV Rule 193.ql
│ │ │ │ ├── AV Rule 194.ql
│ │ │ │ ├── AV Rule 195.ql
│ │ │ │ ├── AV Rule 196.cpp
│ │ │ │ ├── AV Rule 196.qhelp
│ │ │ │ ├── AV Rule 196.ql
│ │ │ │ ├── AV Rule 197.cpp
│ │ │ │ ├── AV Rule 197.qhelp
│ │ │ │ ├── AV Rule 197.ql
│ │ │ │ ├── AV Rule 198.ql
│ │ │ │ ├── AV Rule 199.ql
│ │ │ │ ├── AV Rule 200.ql
│ │ │ │ ├── AV Rule 201.cpp
│ │ │ │ ├── AV Rule 201.qhelp
│ │ │ │ └── AV Rule 201.ql
│ │ │ ├── 4.25 Expressions
│ │ │ │ ├── AV Rule 202.ql
│ │ │ │ ├── AV Rule 204.1.ql
│ │ │ │ ├── AV Rule 204.ql
│ │ │ │ └── AV Rule 205.ql
│ │ │ ├── 4.26 Memory Allocation
│ │ │ │ ├── AV Rule 206.ql
│ │ │ │ └── AV Rule 207.ql
│ │ │ ├── 4.27 Fault Handling
│ │ │ │ └── AV Rule 208.ql
│ │ │ ├── 4.28 Portable Code
│ │ │ │ ├── AV Rule 209.ql
│ │ │ │ ├── AV Rule 210.ql
│ │ │ │ ├── AV Rule 212.ql
│ │ │ │ ├── AV Rule 213.ql
│ │ │ │ ├── AV Rule 214.ql
│ │ │ │ └── AV Rule 215.ql
│ │ │ ├── jsfNote.inc.qhelp
│ │ │ └── lib
│ │ │ │ └── section_4_21_Operators
│ │ │ │ └── AV_Rule_166.qll
│ │ ├── localDefinitions.ql
│ │ ├── localReferences.ql
│ │ ├── objc.qll
│ │ ├── printAst.ql
│ │ ├── qlpack.yml
│ │ ├── queries.xml
│ │ ├── semmle
│ │ │ ├── code
│ │ │ │ └── cpp
│ │ │ │ │ ├── ASTConsistency.ql
│ │ │ │ │ ├── AutogeneratedFile.qll
│ │ │ │ │ ├── Class.qll
│ │ │ │ │ ├── Comments.qll
│ │ │ │ │ ├── Compilation.qll
│ │ │ │ │ ├── Declaration.qll
│ │ │ │ │ ├── Diagnostics.qll
│ │ │ │ │ ├── Element.qll
│ │ │ │ │ ├── Enclosing.qll
│ │ │ │ │ ├── Enum.qll
│ │ │ │ │ ├── Field.qll
│ │ │ │ │ ├── File.qll
│ │ │ │ │ ├── FriendDecl.qll
│ │ │ │ │ ├── Function.qll
│ │ │ │ │ ├── Include.qll
│ │ │ │ │ ├── Initializer.qll
│ │ │ │ │ ├── Iteration.qll
│ │ │ │ │ ├── Linkage.qll
│ │ │ │ │ ├── Location.qll
│ │ │ │ │ ├── Macro.qll
│ │ │ │ │ ├── Member.qll
│ │ │ │ │ ├── MemberFunction.qll
│ │ │ │ │ ├── NameQualifiers.qll
│ │ │ │ │ ├── Namespace.qll
│ │ │ │ │ ├── NestedFields.qll
│ │ │ │ │ ├── ObjectiveC.qll
│ │ │ │ │ ├── PODType03.qll
│ │ │ │ │ ├── Parameter.qll
│ │ │ │ │ ├── Preprocessor.qll
│ │ │ │ │ ├── Print.qll
│ │ │ │ │ ├── PrintAST.ql
│ │ │ │ │ ├── PrintAST.qll
│ │ │ │ │ ├── Specifier.qll
│ │ │ │ │ ├── Struct.qll
│ │ │ │ │ ├── TestFile.qll
│ │ │ │ │ ├── Type.qll
│ │ │ │ │ ├── TypedefType.qll
│ │ │ │ │ ├── Union.qll
│ │ │ │ │ ├── UserType.qll
│ │ │ │ │ ├── Variable.qll
│ │ │ │ │ ├── XML.qll
│ │ │ │ │ ├── commons
│ │ │ │ │ ├── Alloc.qll
│ │ │ │ │ ├── Assertions.qll
│ │ │ │ │ ├── Buffer.qll
│ │ │ │ │ ├── CommonType.qll
│ │ │ │ │ ├── DateTime.qll
│ │ │ │ │ ├── Dependency.qll
│ │ │ │ │ ├── Environment.qll
│ │ │ │ │ ├── Exclusions.qll
│ │ │ │ │ ├── File.qll
│ │ │ │ │ ├── NULL.qll
│ │ │ │ │ ├── NullTermination.qll
│ │ │ │ │ ├── PolymorphicClass.qll
│ │ │ │ │ ├── Printf.qll
│ │ │ │ │ ├── Scanf.qll
│ │ │ │ │ ├── Strcat.qll
│ │ │ │ │ ├── StringAnalysis.qll
│ │ │ │ │ ├── StructLikeClass.qll
│ │ │ │ │ ├── Synchronization.qll
│ │ │ │ │ ├── VoidContext.qll
│ │ │ │ │ └── unix
│ │ │ │ │ │ └── Constants.qll
│ │ │ │ │ ├── controlflow
│ │ │ │ │ ├── BasicBlocks.qll
│ │ │ │ │ ├── ControlFlowGraph.qll
│ │ │ │ │ ├── Dataflow.qll
│ │ │ │ │ ├── DefinitionsAndUses.qll
│ │ │ │ │ ├── Dereferenced.qll
│ │ │ │ │ ├── Dominance.qll
│ │ │ │ │ ├── Guards.qll
│ │ │ │ │ ├── IRGuards.qll
│ │ │ │ │ ├── LocalScopeVariableReachability.qll
│ │ │ │ │ ├── Nullness.qll
│ │ │ │ │ ├── SSA.qll
│ │ │ │ │ ├── SSAUtils.qll
│ │ │ │ │ ├── StackVariableReachability.qll
│ │ │ │ │ ├── SubBasicBlocks.qll
│ │ │ │ │ └── internal
│ │ │ │ │ │ ├── CFG.qll
│ │ │ │ │ │ ├── ConstantExprs.qll
│ │ │ │ │ │ └── PrimitiveBasicBlocks.qll
│ │ │ │ │ ├── dataflow
│ │ │ │ │ ├── DataFlow.qll
│ │ │ │ │ ├── DataFlow2.qll
│ │ │ │ │ ├── DataFlow3.qll
│ │ │ │ │ ├── DataFlow4.qll
│ │ │ │ │ ├── EscapesTree.qll
│ │ │ │ │ ├── RecursionPrevention.qll
│ │ │ │ │ ├── StackAddress.qll
│ │ │ │ │ ├── TaintTracking.qll
│ │ │ │ │ ├── TaintTracking2.qll
│ │ │ │ │ └── internal
│ │ │ │ │ │ ├── AddressFlow.qll
│ │ │ │ │ │ ├── DataFlowDispatch.qll
│ │ │ │ │ │ ├── DataFlowImpl.qll
│ │ │ │ │ │ ├── DataFlowImpl2.qll
│ │ │ │ │ │ ├── DataFlowImpl3.qll
│ │ │ │ │ │ ├── DataFlowImpl4.qll
│ │ │ │ │ │ ├── DataFlowImplCommon.qll
│ │ │ │ │ │ ├── DataFlowImplConsistency.qll
│ │ │ │ │ │ ├── DataFlowImplLocal.qll
│ │ │ │ │ │ ├── DataFlowImplSpecific.qll
│ │ │ │ │ │ ├── DataFlowPrivate.qll
│ │ │ │ │ │ ├── DataFlowUtil.qll
│ │ │ │ │ │ ├── FlowVar.qll
│ │ │ │ │ │ ├── SubBasicBlocks.qll
│ │ │ │ │ │ ├── TaintTrackingUtil.qll
│ │ │ │ │ │ ├── tainttracking1
│ │ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ │ │ │ └── tainttracking2
│ │ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ │ │ ├── dispatch
│ │ │ │ │ └── VirtualDispatchPrototype.qll
│ │ │ │ │ ├── exprs
│ │ │ │ │ ├── Access.qll
│ │ │ │ │ ├── ArithmeticOperation.qll
│ │ │ │ │ ├── Assignment.qll
│ │ │ │ │ ├── BitwiseOperation.qll
│ │ │ │ │ ├── BuiltInOperations.qll
│ │ │ │ │ ├── Call.qll
│ │ │ │ │ ├── Cast.qll
│ │ │ │ │ ├── ComparisonOperation.qll
│ │ │ │ │ ├── Expr.qll
│ │ │ │ │ ├── Lambda.qll
│ │ │ │ │ ├── Literal.qll
│ │ │ │ │ ├── LogicalOperation.qll
│ │ │ │ │ └── ObjectiveC.qll
│ │ │ │ │ ├── headers
│ │ │ │ │ └── MultipleInclusion.qll
│ │ │ │ │ ├── internal
│ │ │ │ │ ├── AddressConstantExpression.qll
│ │ │ │ │ ├── QualifiedName.qll
│ │ │ │ │ └── ResolveClass.qll
│ │ │ │ │ ├── ir
│ │ │ │ │ ├── IR.qll
│ │ │ │ │ ├── IRConfiguration.qll
│ │ │ │ │ ├── IRConsistency.ql
│ │ │ │ │ ├── PrintIR.ql
│ │ │ │ │ ├── PrintIR.qll
│ │ │ │ │ ├── ValueNumbering.qll
│ │ │ │ │ ├── dataflow
│ │ │ │ │ │ ├── DataFlow.qll
│ │ │ │ │ │ ├── DataFlow2.qll
│ │ │ │ │ │ ├── DataFlow3.qll
│ │ │ │ │ │ ├── DataFlow4.qll
│ │ │ │ │ │ ├── DefaultTaintTracking.qll
│ │ │ │ │ │ ├── TaintTracking.qll
│ │ │ │ │ │ ├── TaintTracking2.qll
│ │ │ │ │ │ ├── TaintTracking3.qll
│ │ │ │ │ │ └── internal
│ │ │ │ │ │ │ ├── DataFlowDispatch.qll
│ │ │ │ │ │ │ ├── DataFlowImpl.qll
│ │ │ │ │ │ │ ├── DataFlowImpl2.qll
│ │ │ │ │ │ │ ├── DataFlowImpl3.qll
│ │ │ │ │ │ │ ├── DataFlowImpl4.qll
│ │ │ │ │ │ │ ├── DataFlowImplCommon.qll
│ │ │ │ │ │ │ ├── DataFlowImplConsistency.qll
│ │ │ │ │ │ │ ├── DataFlowImplSpecific.qll
│ │ │ │ │ │ │ ├── DataFlowPrivate.qll
│ │ │ │ │ │ │ ├── DataFlowUtil.qll
│ │ │ │ │ │ │ ├── ModelUtil.qll
│ │ │ │ │ │ │ ├── PrintIRLocalFlow.qll
│ │ │ │ │ │ │ ├── TaintTrackingUtil.qll
│ │ │ │ │ │ │ ├── tainttracking1
│ │ │ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ │ │ │ │ ├── tainttracking2
│ │ │ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ │ │ │ │ └── tainttracking3
│ │ │ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ │ │ ├── implementation
│ │ │ │ │ │ ├── EdgeKind.qll
│ │ │ │ │ │ ├── IRConfiguration.qll
│ │ │ │ │ │ ├── IRType.qll
│ │ │ │ │ │ ├── MemoryAccessKind.qll
│ │ │ │ │ │ ├── Opcode.qll
│ │ │ │ │ │ ├── SSA.md
│ │ │ │ │ │ ├── TempVariableTag.qll
│ │ │ │ │ │ ├── UseSoundEscapeAnalysis.qll
│ │ │ │ │ │ ├── aliased_ssa
│ │ │ │ │ │ │ ├── IR.qll
│ │ │ │ │ │ │ ├── IRBlock.qll
│ │ │ │ │ │ │ ├── IRConsistency.ql
│ │ │ │ │ │ │ ├── IRConsistency.qll
│ │ │ │ │ │ │ ├── IRFunction.qll
│ │ │ │ │ │ │ ├── IRVariable.qll
│ │ │ │ │ │ │ ├── Instruction.qll
│ │ │ │ │ │ │ ├── Operand.qll
│ │ │ │ │ │ │ ├── PrintIR.ql
│ │ │ │ │ │ │ ├── PrintIR.qll
│ │ │ │ │ │ │ ├── constant
│ │ │ │ │ │ │ │ ├── ConstantAnalysis.qll
│ │ │ │ │ │ │ │ ├── PrintConstantAnalysis.qll
│ │ │ │ │ │ │ │ └── internal
│ │ │ │ │ │ │ │ │ └── ConstantAnalysisInternal.qll
│ │ │ │ │ │ │ ├── gvn
│ │ │ │ │ │ │ │ ├── PrintValueNumbering.qll
│ │ │ │ │ │ │ │ ├── ValueNumbering.qll
│ │ │ │ │ │ │ │ └── internal
│ │ │ │ │ │ │ │ │ ├── ValueNumberingImports.qll
│ │ │ │ │ │ │ │ │ └── ValueNumberingInternal.qll
│ │ │ │ │ │ │ └── internal
│ │ │ │ │ │ │ │ ├── AliasAnalysis.qll
│ │ │ │ │ │ │ │ ├── AliasAnalysisImports.qll
│ │ │ │ │ │ │ │ ├── AliasAnalysisInternal.qll
│ │ │ │ │ │ │ │ ├── AliasConfiguration.qll
│ │ │ │ │ │ │ │ ├── AliasConfigurationInternal.qll
│ │ │ │ │ │ │ │ ├── AliasedSSA.qll
│ │ │ │ │ │ │ │ ├── IRBlockImports.qll
│ │ │ │ │ │ │ │ ├── IRFunctionImports.qll
│ │ │ │ │ │ │ │ ├── IRImports.qll
│ │ │ │ │ │ │ │ ├── IRInternal.qll
│ │ │ │ │ │ │ │ ├── IRVariableImports.qll
│ │ │ │ │ │ │ │ ├── InstructionImports.qll
│ │ │ │ │ │ │ │ ├── OperandImports.qll
│ │ │ │ │ │ │ │ ├── OperandInternal.qll
│ │ │ │ │ │ │ │ ├── PrintIRImports.qll
│ │ │ │ │ │ │ │ ├── PrintSSA.qll
│ │ │ │ │ │ │ │ ├── SSAConsistency.ql
│ │ │ │ │ │ │ │ ├── SSAConsistency.qll
│ │ │ │ │ │ │ │ ├── SSAConstruction.qll
│ │ │ │ │ │ │ │ ├── SSAConstructionImports.qll
│ │ │ │ │ │ │ │ └── SSAConstructionInternal.qll
│ │ │ │ │ │ ├── internal
│ │ │ │ │ │ │ ├── EdgeKindInternal.qll
│ │ │ │ │ │ │ ├── IRConfigurationInternal.qll
│ │ │ │ │ │ │ ├── IRFunctionBase.qll
│ │ │ │ │ │ │ ├── IRFunctionBaseInternal.qll
│ │ │ │ │ │ │ ├── IRTypeInternal.qll
│ │ │ │ │ │ │ ├── OpcodeImports.qll
│ │ │ │ │ │ │ ├── OperandTag.qll
│ │ │ │ │ │ │ ├── OperandTagInternal.qll
│ │ │ │ │ │ │ ├── TIRVariable.qll
│ │ │ │ │ │ │ ├── TIRVariableInternal.qll
│ │ │ │ │ │ │ ├── TInstruction.qll
│ │ │ │ │ │ │ ├── TInstructionImports.qll
│ │ │ │ │ │ │ ├── TInstructionInternal.qll
│ │ │ │ │ │ │ ├── TOperand.qll
│ │ │ │ │ │ │ └── TempVariableTagInternal.qll
│ │ │ │ │ │ ├── raw
│ │ │ │ │ │ │ ├── IR.qll
│ │ │ │ │ │ │ ├── IRBlock.qll
│ │ │ │ │ │ │ ├── IRBlockImports.qll
│ │ │ │ │ │ │ ├── IRConsistency.ql
│ │ │ │ │ │ │ ├── IRConsistency.qll
│ │ │ │ │ │ │ ├── IRFunction.qll
│ │ │ │ │ │ │ ├── IRVariable.qll
│ │ │ │ │ │ │ ├── Instruction.qll
│ │ │ │ │ │ │ ├── Operand.qll
│ │ │ │ │ │ │ ├── PrintIR.ql
│ │ │ │ │ │ │ ├── PrintIR.qll
│ │ │ │ │ │ │ ├── constant
│ │ │ │ │ │ │ │ ├── ConstantAnalysis.qll
│ │ │ │ │ │ │ │ ├── PrintConstantAnalysis.qll
│ │ │ │ │ │ │ │ └── internal
│ │ │ │ │ │ │ │ │ └── ConstantAnalysisInternal.qll
│ │ │ │ │ │ │ ├── gvn
│ │ │ │ │ │ │ │ ├── PrintValueNumbering.qll
│ │ │ │ │ │ │ │ ├── ValueNumbering.qll
│ │ │ │ │ │ │ │ └── internal
│ │ │ │ │ │ │ │ │ ├── ValueNumberingImports.qll
│ │ │ │ │ │ │ │ │ └── ValueNumberingInternal.qll
│ │ │ │ │ │ │ └── internal
│ │ │ │ │ │ │ │ ├── IRBlockImports.qll
│ │ │ │ │ │ │ │ ├── IRConstruction.qll
│ │ │ │ │ │ │ │ ├── IRFunctionImports.qll
│ │ │ │ │ │ │ │ ├── IRImports.qll
│ │ │ │ │ │ │ │ ├── IRInternal.qll
│ │ │ │ │ │ │ │ ├── IRVariableImports.qll
│ │ │ │ │ │ │ │ ├── InstructionImports.qll
│ │ │ │ │ │ │ │ ├── InstructionTag.qll
│ │ │ │ │ │ │ │ ├── OperandImports.qll
│ │ │ │ │ │ │ │ ├── OperandInternal.qll
│ │ │ │ │ │ │ │ ├── PrintIRImports.qll
│ │ │ │ │ │ │ │ ├── TranslatedCall.qll
│ │ │ │ │ │ │ │ ├── TranslatedCondition.qll
│ │ │ │ │ │ │ │ ├── TranslatedDeclarationEntry.qll
│ │ │ │ │ │ │ │ ├── TranslatedElement.qll
│ │ │ │ │ │ │ │ ├── TranslatedExpr.qll
│ │ │ │ │ │ │ │ ├── TranslatedFunction.qll
│ │ │ │ │ │ │ │ ├── TranslatedInitialization.qll
│ │ │ │ │ │ │ │ ├── TranslatedStmt.qll
│ │ │ │ │ │ │ │ ├── VarArgs.qll
│ │ │ │ │ │ │ │ └── reachability
│ │ │ │ │ │ │ │ ├── Dominance.qll
│ │ │ │ │ │ │ │ ├── DominanceInternal.qll
│ │ │ │ │ │ │ │ ├── PrintDominance.qll
│ │ │ │ │ │ │ │ ├── PrintReachableBlock.qll
│ │ │ │ │ │ │ │ ├── ReachableBlock.qll
│ │ │ │ │ │ │ │ └── ReachableBlockInternal.qll
│ │ │ │ │ │ └── unaliased_ssa
│ │ │ │ │ │ │ ├── IR.qll
│ │ │ │ │ │ │ ├── IRBlock.qll
│ │ │ │ │ │ │ ├── IRConsistency.ql
│ │ │ │ │ │ │ ├── IRConsistency.qll
│ │ │ │ │ │ │ ├── IRFunction.qll
│ │ │ │ │ │ │ ├── IRVariable.qll
│ │ │ │ │ │ │ ├── Instruction.qll
│ │ │ │ │ │ │ ├── Operand.qll
│ │ │ │ │ │ │ ├── PrintIR.ql
│ │ │ │ │ │ │ ├── PrintIR.qll
│ │ │ │ │ │ │ ├── constant
│ │ │ │ │ │ │ ├── ConstantAnalysis.qll
│ │ │ │ │ │ │ ├── PrintConstantAnalysis.qll
│ │ │ │ │ │ │ └── internal
│ │ │ │ │ │ │ │ └── ConstantAnalysisInternal.qll
│ │ │ │ │ │ │ ├── gvn
│ │ │ │ │ │ │ ├── PrintValueNumbering.qll
│ │ │ │ │ │ │ ├── ValueNumbering.qll
│ │ │ │ │ │ │ └── internal
│ │ │ │ │ │ │ │ ├── ValueNumberingImports.qll
│ │ │ │ │ │ │ │ └── ValueNumberingInternal.qll
│ │ │ │ │ │ │ └── internal
│ │ │ │ │ │ │ ├── AliasAnalysis.qll
│ │ │ │ │ │ │ ├── AliasAnalysisImports.qll
│ │ │ │ │ │ │ ├── AliasAnalysisInternal.qll
│ │ │ │ │ │ │ ├── AliasConfiguration.qll
│ │ │ │ │ │ │ ├── AliasConfigurationImports.qll
│ │ │ │ │ │ │ ├── IRBlockImports.qll
│ │ │ │ │ │ │ ├── IRFunctionImports.qll
│ │ │ │ │ │ │ ├── IRImports.qll
│ │ │ │ │ │ │ ├── IRInternal.qll
│ │ │ │ │ │ │ ├── IRVariableImports.qll
│ │ │ │ │ │ │ ├── InstructionImports.qll
│ │ │ │ │ │ │ ├── OperandImports.qll
│ │ │ │ │ │ │ ├── OperandInternal.qll
│ │ │ │ │ │ │ ├── PrintIRImports.qll
│ │ │ │ │ │ │ ├── PrintSSA.qll
│ │ │ │ │ │ │ ├── SSAConsistency.ql
│ │ │ │ │ │ │ ├── SSAConsistency.qll
│ │ │ │ │ │ │ ├── SSAConstruction.qll
│ │ │ │ │ │ │ ├── SSAConstructionImports.qll
│ │ │ │ │ │ │ ├── SSAConstructionInternal.qll
│ │ │ │ │ │ │ ├── SimpleSSA.qll
│ │ │ │ │ │ │ ├── SimpleSSAImports.qll
│ │ │ │ │ │ │ ├── SimpleSSAPublicImports.qll
│ │ │ │ │ │ │ └── reachability
│ │ │ │ │ │ │ ├── Dominance.qll
│ │ │ │ │ │ │ ├── DominanceInternal.qll
│ │ │ │ │ │ │ ├── PrintDominance.qll
│ │ │ │ │ │ │ ├── PrintReachableBlock.qll
│ │ │ │ │ │ │ ├── ReachableBlock.qll
│ │ │ │ │ │ │ └── ReachableBlockInternal.qll
│ │ │ │ │ └── internal
│ │ │ │ │ │ ├── ASTValueNumbering.qll
│ │ │ │ │ │ ├── CppType.qll
│ │ │ │ │ │ ├── IRCppLanguage.qll
│ │ │ │ │ │ ├── IRUtilities.qll
│ │ │ │ │ │ ├── IntegerConstant.qll
│ │ │ │ │ │ ├── IntegerInterval.qll
│ │ │ │ │ │ ├── IntegerPartial.qll
│ │ │ │ │ │ ├── Overlap.qll
│ │ │ │ │ │ └── TempVariableTag.qll
│ │ │ │ │ ├── metrics
│ │ │ │ │ ├── MetricClass.qll
│ │ │ │ │ ├── MetricFile.qll
│ │ │ │ │ ├── MetricFunction.qll
│ │ │ │ │ └── MetricNamespace.qll
│ │ │ │ │ ├── models
│ │ │ │ │ ├── Models.qll
│ │ │ │ │ ├── implementations
│ │ │ │ │ │ ├── Accept.qll
│ │ │ │ │ │ ├── Allocation.qll
│ │ │ │ │ │ ├── Deallocation.qll
│ │ │ │ │ │ ├── Fread.qll
│ │ │ │ │ │ ├── GetDelim.qll
│ │ │ │ │ │ ├── Getenv.qll
│ │ │ │ │ │ ├── Gets.qll
│ │ │ │ │ │ ├── IdentityFunction.qll
│ │ │ │ │ │ ├── Inet.qll
│ │ │ │ │ │ ├── Iterator.qll
│ │ │ │ │ │ ├── MemberFunction.qll
│ │ │ │ │ │ ├── Memcpy.qll
│ │ │ │ │ │ ├── Memset.qll
│ │ │ │ │ │ ├── Poll.qll
│ │ │ │ │ │ ├── Printf.qll
│ │ │ │ │ │ ├── Pure.qll
│ │ │ │ │ │ ├── Recv.qll
│ │ │ │ │ │ ├── Select.qll
│ │ │ │ │ │ ├── Send.qll
│ │ │ │ │ │ ├── SmartPointer.qll
│ │ │ │ │ │ ├── Sscanf.qll
│ │ │ │ │ │ ├── StdContainer.qll
│ │ │ │ │ │ ├── StdMap.qll
│ │ │ │ │ │ ├── StdPair.qll
│ │ │ │ │ │ ├── StdSet.qll
│ │ │ │ │ │ ├── StdString.qll
│ │ │ │ │ │ ├── Strcat.qll
│ │ │ │ │ │ ├── Strcpy.qll
│ │ │ │ │ │ ├── Strcrement.qll
│ │ │ │ │ │ ├── Strdup.qll
│ │ │ │ │ │ ├── Strftime.qll
│ │ │ │ │ │ ├── Strnextc.qll
│ │ │ │ │ │ ├── Strset.qll
│ │ │ │ │ │ ├── Strtok.qll
│ │ │ │ │ │ └── Swap.qll
│ │ │ │ │ └── interfaces
│ │ │ │ │ │ ├── Alias.qll
│ │ │ │ │ │ ├── Allocation.qll
│ │ │ │ │ │ ├── ArrayFunction.qll
│ │ │ │ │ │ ├── DataFlow.qll
│ │ │ │ │ │ ├── Deallocation.qll
│ │ │ │ │ │ ├── FlowSource.qll
│ │ │ │ │ │ ├── FormattingFunction.qll
│ │ │ │ │ │ ├── FunctionInputsAndOutputs.qll
│ │ │ │ │ │ ├── Iterator.qll
│ │ │ │ │ │ ├── SideEffect.qll
│ │ │ │ │ │ └── Taint.qll
│ │ │ │ │ ├── padding
│ │ │ │ │ ├── ConsistencyCheck.ql
│ │ │ │ │ └── Padding.qll
│ │ │ │ │ ├── pointsto
│ │ │ │ │ ├── CallGraph.qll
│ │ │ │ │ └── PointsTo.qll
│ │ │ │ │ ├── rangeanalysis
│ │ │ │ │ ├── NanAnalysis.qll
│ │ │ │ │ ├── PointlessComparison.qll
│ │ │ │ │ ├── RangeAnalysisUtils.qll
│ │ │ │ │ ├── RangeSSA.qll
│ │ │ │ │ └── SimpleRangeAnalysis.qll
│ │ │ │ │ ├── security
│ │ │ │ │ ├── BufferAccess.qll
│ │ │ │ │ ├── BufferWrite.qll
│ │ │ │ │ ├── CommandExecution.qll
│ │ │ │ │ ├── Encryption.qll
│ │ │ │ │ ├── FileWrite.qll
│ │ │ │ │ ├── FlowSources.qll
│ │ │ │ │ ├── FunctionWithWrappers.qll
│ │ │ │ │ ├── OutputWrite.qll
│ │ │ │ │ ├── Overflow.qll
│ │ │ │ │ ├── PrintfLike.qll
│ │ │ │ │ ├── Security.qll
│ │ │ │ │ ├── SecurityOptions.qll
│ │ │ │ │ ├── SensitiveExprs.qll
│ │ │ │ │ ├── TaintTracking.qll
│ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ └── boostorg
│ │ │ │ │ │ └── asio
│ │ │ │ │ │ └── protocols.qll
│ │ │ │ │ ├── stmts
│ │ │ │ │ ├── Block.qll
│ │ │ │ │ └── Stmt.qll
│ │ │ │ │ └── valuenumbering
│ │ │ │ │ ├── GlobalValueNumbering.qll
│ │ │ │ │ ├── GlobalValueNumberingImpl.qll
│ │ │ │ │ └── HashCons.qll
│ │ │ └── files
│ │ │ │ └── FileSystem.qll
│ │ ├── semmlecode.cpp.dbscheme
│ │ ├── semmlecode.cpp.dbscheme.stats
│ │ └── tools
│ │ │ └── instantiate_templates.py
│ └── test
│ │ ├── .project
│ │ ├── .qlpath
│ │ ├── README.md
│ │ ├── TestUtilities
│ │ ├── InlineExpectationsTest.qll
│ │ ├── InlineExpectationsTestPrivate.qll
│ │ └── dataflow
│ │ │ └── FlowTestCommon.qll
│ │ ├── examples
│ │ ├── BadLocking
│ │ │ ├── AV Rule 107.expected
│ │ │ ├── AV Rule 107.qlref
│ │ │ ├── DeclStmts.expected
│ │ │ ├── DeclStmts.ql
│ │ │ ├── LocalVariableHidesGlobalVariable.expected
│ │ │ ├── LocalVariableHidesGlobalVariable.qlref
│ │ │ └── UnintendedDeclaration.cpp
│ │ ├── expressions
│ │ │ ├── AddressOf.c
│ │ │ ├── ArrayToPointer.c
│ │ │ ├── Cast.c
│ │ │ ├── ConditionDecl.cpp
│ │ │ ├── ConstructorCall.cpp
│ │ │ ├── Conversion1.c
│ │ │ ├── Conversion2.c
│ │ │ ├── Conversion3.cpp
│ │ │ ├── Conversion4.c
│ │ │ ├── ConvertVirtualFunctionPointer.cpp
│ │ │ ├── DestructorCall.cpp
│ │ │ ├── DynamicCast.cpp
│ │ │ ├── Parenthesis.c
│ │ │ ├── PointerDereference.c
│ │ │ ├── PrintAST.expected
│ │ │ ├── PrintAST.qlref
│ │ │ ├── ReferenceDereference.cpp
│ │ │ ├── ReferenceTo.cpp
│ │ │ ├── Sizeof.c
│ │ │ ├── StatementExpr.c
│ │ │ ├── StaticMemberAccess.cpp
│ │ │ ├── Subscript.c
│ │ │ ├── Throw.cpp
│ │ │ ├── Typeid.cpp
│ │ │ ├── VacuousDestructorCall.cpp
│ │ │ ├── Varargs.c
│ │ │ ├── macro_etc.c
│ │ │ └── union_etc.cpp
│ │ └── lgtm-query-examples
│ │ │ ├── README.md
│ │ │ ├── assignment_to_parameter.expected
│ │ │ ├── assignment_to_parameter.ql
│ │ │ ├── equality_test_on_boolean.expected
│ │ │ ├── equality_test_on_boolean.ql
│ │ │ ├── non_literal_format_string.expected
│ │ │ ├── non_literal_format_string.ql
│ │ │ └── test.cpp
│ │ ├── experimental
│ │ ├── README.md
│ │ ├── library-tests
│ │ │ └── rangeanalysis
│ │ │ │ ├── arraylengthanalysis
│ │ │ │ ├── ArrayLengthAnalysisTest.expected
│ │ │ │ ├── ArrayLengthAnalysisTest.ql
│ │ │ │ └── test.cpp
│ │ │ │ ├── bitwiseand
│ │ │ │ ├── bitwiseand.cpp
│ │ │ │ ├── bitwiseand.expected
│ │ │ │ └── bitwiseand.ql
│ │ │ │ ├── extended
│ │ │ │ ├── extended.cpp
│ │ │ │ ├── extended.expected
│ │ │ │ └── extended.ql
│ │ │ │ ├── extensibility
│ │ │ │ ├── extensibility.c
│ │ │ │ ├── extensibility.expected
│ │ │ │ └── extensibility.ql
│ │ │ │ ├── inboundsptr
│ │ │ │ ├── InBounds.expected
│ │ │ │ ├── InBounds.ql
│ │ │ │ └── test.cpp
│ │ │ │ ├── rangeanalysis
│ │ │ │ ├── RangeAnalysis.expected
│ │ │ │ ├── RangeAnalysis.ql
│ │ │ │ └── test.cpp
│ │ │ │ └── signanalysis
│ │ │ │ ├── SignAnalysis.expected
│ │ │ │ ├── SignAnalysis.ql
│ │ │ │ ├── binary_logical_operator.c
│ │ │ │ ├── bounded_bounds.c
│ │ │ │ ├── inline_assembly.c
│ │ │ │ ├── minmax.c
│ │ │ │ ├── test.c
│ │ │ │ └── test.cpp
│ │ └── query-tests
│ │ │ └── Security
│ │ │ └── CWE
│ │ │ ├── CWE-020
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── LateCheckOfFunctionArgument.expected
│ │ │ │ ├── LateCheckOfFunctionArgument.qlref
│ │ │ │ └── test.c
│ │ │ ├── CWE-190
│ │ │ └── AllocMultiplicationOverflow
│ │ │ │ ├── AllocMultiplicationOverflow.expected
│ │ │ │ ├── AllocMultiplicationOverflow.qlref
│ │ │ │ └── test.cpp
│ │ │ ├── CWE-359
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── PrivateCleartextWrite.expected
│ │ │ │ ├── PrivateCleartextWrite.qlref
│ │ │ │ └── test.cpp
│ │ │ ├── CWE-401
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── MemoryLeakOnFailedCallToRealloc.expected
│ │ │ │ ├── MemoryLeakOnFailedCallToRealloc.qlref
│ │ │ │ └── test.c
│ │ │ ├── CWE-570
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── WrongInDetectingAndHandlingMemoryAllocationErrors.expected
│ │ │ │ ├── WrongInDetectingAndHandlingMemoryAllocationErrors.qlref
│ │ │ │ └── test.cpp
│ │ │ ├── CWE-788
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── AccessOfMemoryLocationAfterEndOfBufferUsingStrlen.expected
│ │ │ │ ├── AccessOfMemoryLocationAfterEndOfBufferUsingStrlen.qlref
│ │ │ │ ├── AccessOfMemoryLocationAfterEndOfBufferUsingStrncat.expected
│ │ │ │ ├── AccessOfMemoryLocationAfterEndOfBufferUsingStrncat.qlref
│ │ │ │ └── test.c
│ │ │ └── semmle
│ │ │ └── tests
│ │ │ ├── MemoryUnsafeFunctionScan.cpp
│ │ │ ├── MemoryUnsafeFunctionScan.expected
│ │ │ └── MemoryUnsafeFunctionScan.qlref
│ │ ├── format.json
│ │ ├── header-variant-tests
│ │ ├── clang-pch
│ │ │ ├── _.c
│ │ │ ├── a.c
│ │ │ ├── a.h
│ │ │ ├── b.c
│ │ │ ├── b.h
│ │ │ ├── c.c
│ │ │ ├── clang-pch.expected
│ │ │ ├── clang-pch.ql
│ │ │ ├── d.c
│ │ │ ├── d.h
│ │ │ ├── e.c
│ │ │ ├── f.c
│ │ │ ├── g.c
│ │ │ ├── h.c
│ │ │ ├── h1.h
│ │ │ ├── h2.h
│ │ │ └── i.c
│ │ ├── deduplication
│ │ │ ├── bar.h
│ │ │ ├── classes.expected
│ │ │ ├── classes.ql
│ │ │ ├── foo.h
│ │ │ ├── functions.expected
│ │ │ ├── functions.ql
│ │ │ ├── main1.cpp
│ │ │ ├── main2.cpp
│ │ │ ├── variables.expected
│ │ │ └── variables.ql
│ │ ├── functions-in-headers
│ │ │ ├── a.h
│ │ │ ├── both_variants.expected
│ │ │ ├── both_variants.ql
│ │ │ ├── one.cpp
│ │ │ ├── one_x.expected
│ │ │ ├── one_x.ql
│ │ │ └── two.cpp
│ │ ├── iquote
│ │ │ ├── dir1
│ │ │ │ ├── a.h
│ │ │ │ └── b.h
│ │ │ ├── dir2
│ │ │ │ └── a.h
│ │ │ ├── iquote.c
│ │ │ ├── iquote.expected
│ │ │ └── iquote.ql
│ │ ├── isysroot
│ │ │ ├── isysroot.c
│ │ │ ├── isysroot.expected
│ │ │ ├── isysroot.ql
│ │ │ ├── other
│ │ │ │ └── b.h
│ │ │ └── usr
│ │ │ │ └── include
│ │ │ │ └── a.h
│ │ ├── line-directives-in-functions
│ │ │ ├── main.c
│ │ │ ├── main.expected
│ │ │ └── main.ql
│ │ ├── microsoft-pch
│ │ │ ├── _.c
│ │ │ ├── a.c
│ │ │ ├── a.h
│ │ │ ├── b.c
│ │ │ ├── c.c
│ │ │ ├── microsoft-pch.expected
│ │ │ └── microsoft-pch.ql
│ │ ├── multi-target-includes
│ │ │ ├── arrays.expected
│ │ │ ├── arrays.ql
│ │ │ ├── common.h
│ │ │ ├── define1.h
│ │ │ ├── define2.h
│ │ │ ├── defines_issue.h
│ │ │ ├── includes.expected
│ │ │ ├── includes.ql
│ │ │ ├── main1.cpp
│ │ │ ├── main2.cpp
│ │ │ ├── nameclash.h
│ │ │ ├── subdir1
│ │ │ │ └── nameclash.h
│ │ │ └── subdir2
│ │ │ │ └── nameclash.h
│ │ └── type_variants
│ │ │ ├── common.h
│ │ │ ├── debug.cpp
│ │ │ ├── release.cpp
│ │ │ ├── variants.expected
│ │ │ └── variants.ql
│ │ ├── library-tests
│ │ ├── CPP-205
│ │ │ ├── CPP-205.cpp
│ │ │ ├── diags.expected
│ │ │ ├── diags.ql
│ │ │ ├── elements.expected
│ │ │ └── elements.ql
│ │ ├── CPP-206
│ │ │ ├── CPP-206.cpp
│ │ │ ├── CPP-206.expected
│ │ │ └── CPP-206.ql
│ │ ├── CPP-207
│ │ │ ├── CPP-207.cpp
│ │ │ ├── CPP-207.expected
│ │ │ ├── CPP-207.ql
│ │ │ └── options
│ │ ├── __builtin_constant_p
│ │ │ ├── __builtin_constant_p.c
│ │ │ ├── diag.expected
│ │ │ ├── diag.ql
│ │ │ └── options
│ │ ├── abi
│ │ │ ├── diag.expected
│ │ │ ├── diag.ql
│ │ │ ├── options
│ │ │ └── packed.c
│ │ ├── access
│ │ │ ├── DerivationAccess
│ │ │ │ ├── DerivationAccess.cpp
│ │ │ │ ├── actual_member.expected
│ │ │ │ ├── actual_member.ql
│ │ │ │ ├── hypothetical_member.expected
│ │ │ │ └── hypothetical_member.ql
│ │ │ ├── FieldAccess
│ │ │ │ ├── FieldAccess.cpp
│ │ │ │ ├── FieldAccess.expected
│ │ │ │ └── FieldAccess.ql
│ │ │ ├── MemberOrFriend
│ │ │ │ ├── MemberOrFriend.cpp
│ │ │ │ ├── MemberOrFriend.expected
│ │ │ │ └── MemberOrFriend.ql
│ │ │ ├── canAccessClass
│ │ │ │ ├── canAccessClass.cpp
│ │ │ │ ├── canAccessClass.expected
│ │ │ │ └── canAccessClass.ql
│ │ │ ├── canAccessMember
│ │ │ │ ├── canAccessMember.cpp
│ │ │ │ ├── canAccessMember.expected
│ │ │ │ └── canAccessMember.ql
│ │ │ └── noPublic
│ │ │ │ ├── noPublic.cpp
│ │ │ │ ├── noPublic.expected
│ │ │ │ └── noPublic.ql
│ │ ├── alias_templates
│ │ │ ├── alias_templates.cpp
│ │ │ ├── enum_const_parents.expected
│ │ │ └── enum_const_parents.ql
│ │ ├── allocators
│ │ │ ├── allocators.cpp
│ │ │ ├── allocators.expected
│ │ │ └── allocators.ql
│ │ ├── anachronisms
│ │ │ ├── options
│ │ │ ├── test.cpp
│ │ │ ├── virtfunptrexpr.expected
│ │ │ └── virtfunptrexpr.ql
│ │ ├── arg_matching
│ │ │ ├── arg_matching.expected
│ │ │ ├── arg_matching.ql
│ │ │ └── args.cpp
│ │ ├── arguments
│ │ │ ├── arguments.c
│ │ │ ├── arguments.expected
│ │ │ └── arguments.ql
│ │ ├── array_expr
│ │ │ ├── array_expr.c
│ │ │ ├── parts.expected
│ │ │ └── parts.ql
│ │ ├── array_sizes
│ │ │ ├── arr1.expected
│ │ │ ├── arr1.ql
│ │ │ ├── arr2.expected
│ │ │ ├── arr2.ql
│ │ │ ├── array_sizes.c
│ │ │ └── array_sizes.cpp
│ │ ├── atomic
│ │ │ ├── atomic.cpp
│ │ │ ├── options
│ │ │ ├── variables.expected
│ │ │ └── variables.ql
│ │ ├── attributes
│ │ │ ├── alignment
│ │ │ │ ├── alignment.cpp
│ │ │ │ ├── alignment.expected
│ │ │ │ └── alignment.ql
│ │ │ ├── availability
│ │ │ │ ├── availability.c
│ │ │ │ ├── availability.expected
│ │ │ │ ├── availability.ql
│ │ │ │ └── options
│ │ │ ├── deprecated_with_msg
│ │ │ │ ├── clang421.c
│ │ │ │ ├── clang450.c
│ │ │ │ ├── deprecated_with_msg.expected
│ │ │ │ ├── deprecated_with_msg.ql
│ │ │ │ ├── gcc421.c
│ │ │ │ └── gcc450.c
│ │ │ ├── enumerators
│ │ │ │ ├── enumerators.c
│ │ │ │ ├── enumerators.expected
│ │ │ │ ├── enumerators.ql
│ │ │ │ └── options
│ │ │ ├── exclusive_locks_required
│ │ │ │ ├── attributes.expected
│ │ │ │ ├── attributes.ql
│ │ │ │ └── test.cpp
│ │ │ ├── field_attributes
│ │ │ │ ├── field_attributes.cpp
│ │ │ │ ├── field_attributes.expected
│ │ │ │ └── field_attributes.ql
│ │ │ ├── gnu_visibility
│ │ │ │ ├── visibility.c
│ │ │ │ ├── visibility.expected
│ │ │ │ └── visibility.ql
│ │ │ ├── ms_repeated
│ │ │ │ ├── ms_repeated.c
│ │ │ │ ├── ms_repeated.expected
│ │ │ │ ├── ms_repeated.ql
│ │ │ │ └── options
│ │ │ ├── nonnull
│ │ │ │ ├── attrs.expected
│ │ │ │ ├── attrs.ql
│ │ │ │ └── nonnull.c
│ │ │ ├── routine_attributes
│ │ │ │ ├── arguments.expected
│ │ │ │ ├── arguments.ql
│ │ │ │ ├── declspec.cpp
│ │ │ │ ├── header.h
│ │ │ │ ├── header_export.cpp
│ │ │ │ ├── header_import.cpp
│ │ │ │ ├── routine_attributes.c
│ │ │ │ ├── routine_attributes.expected
│ │ │ │ └── routine_attributes.ql
│ │ │ ├── sal
│ │ │ │ ├── options
│ │ │ │ ├── sal.cpp
│ │ │ │ ├── sal.expected
│ │ │ │ └── sal.ql
│ │ │ ├── stmt_attributes
│ │ │ │ ├── all_attributes.expected
│ │ │ │ ├── all_attributes.ql
│ │ │ │ ├── clang_fallthrough.cpp
│ │ │ │ ├── clang_fallthrough.expected
│ │ │ │ └── clang_fallthrough.ql
│ │ │ ├── type_attributes
│ │ │ │ ├── arguments.expected
│ │ │ │ ├── arguments.ql
│ │ │ │ ├── type_attributes.c
│ │ │ │ ├── type_attributes.expected
│ │ │ │ ├── type_attributes.ql
│ │ │ │ └── type_attributes_ms.cpp
│ │ │ └── var_attributes
│ │ │ │ ├── ms_var_attributes.cpp
│ │ │ │ ├── ms_var_attributes.h
│ │ │ │ ├── var_attributes.c
│ │ │ │ ├── var_attributes.expected
│ │ │ │ └── var_attributes.ql
│ │ ├── basic_blocks
│ │ │ ├── bb_cfg.expected
│ │ │ ├── bb_cfg.ql
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── test.c
│ │ ├── blocks
│ │ │ ├── c
│ │ │ │ ├── blocks.c
│ │ │ │ ├── blocks.expected
│ │ │ │ ├── blocks.ql
│ │ │ │ ├── code_blocks.expected
│ │ │ │ ├── code_blocks.ql
│ │ │ │ ├── exprs.expected
│ │ │ │ ├── exprs.ql
│ │ │ │ └── options
│ │ │ ├── capture
│ │ │ │ ├── capture.c
│ │ │ │ ├── capture.expected
│ │ │ │ ├── capture.ql
│ │ │ │ ├── options
│ │ │ │ ├── quals.expected
│ │ │ │ └── quals.ql
│ │ │ ├── cpp
│ │ │ │ ├── blocks.cpp
│ │ │ │ ├── blocks.expected
│ │ │ │ ├── blocks.ql
│ │ │ │ ├── code_blocks.expected
│ │ │ │ ├── code_blocks.ql
│ │ │ │ ├── exprs.expected
│ │ │ │ ├── exprs.ql
│ │ │ │ └── options
│ │ │ └── deduplication
│ │ │ │ ├── deduplication.expected
│ │ │ │ ├── deduplication.ql
│ │ │ │ ├── functions.expected
│ │ │ │ ├── functions.ql
│ │ │ │ ├── options
│ │ │ │ ├── primary.c
│ │ │ │ └── secondary.c
│ │ ├── bugs
│ │ │ └── odasa-2709
│ │ │ │ ├── one.expected
│ │ │ │ ├── one.ql
│ │ │ │ ├── test1.c
│ │ │ │ └── test2.c
│ │ ├── builtins
│ │ │ ├── builtins
│ │ │ │ ├── atomic.cpp
│ │ │ │ ├── builtins.expected
│ │ │ │ ├── builtins.ql
│ │ │ │ ├── calls.expected
│ │ │ │ ├── calls.ql
│ │ │ │ ├── choose_expr.c
│ │ │ │ ├── types.c
│ │ │ │ └── varargs.c
│ │ │ ├── complex
│ │ │ │ ├── builtin.expected
│ │ │ │ ├── builtin.ql
│ │ │ │ └── complex.c
│ │ │ ├── edg
│ │ │ │ ├── edg.c
│ │ │ │ ├── expr.expected
│ │ │ │ ├── expr.ql
│ │ │ │ ├── intaddr.expected
│ │ │ │ └── intaddr.ql
│ │ │ ├── functions_file
│ │ │ │ ├── builtins.txt
│ │ │ │ ├── isbuiltin.expected
│ │ │ │ ├── isbuiltin.ql
│ │ │ │ └── test.c
│ │ │ ├── type_traits
│ │ │ │ ├── expr.expected
│ │ │ │ ├── expr.ql
│ │ │ │ ├── ms.cpp
│ │ │ │ └── options
│ │ │ └── types
│ │ │ │ ├── types.c
│ │ │ │ ├── types.expected
│ │ │ │ └── types.ql
│ │ ├── c++_exceptions
│ │ │ ├── ODASA-5692.cpp
│ │ │ ├── anycatch.expected
│ │ │ ├── anycatch.ql
│ │ │ ├── catchparams.expected
│ │ │ ├── catchparams.ql
│ │ │ ├── exceptions.cpp
│ │ │ ├── graphable.expected
│ │ │ ├── graphable.ql
│ │ │ ├── handler.expected
│ │ │ ├── handler.ql
│ │ │ ├── ms.cpp
│ │ │ ├── unreachable.expected
│ │ │ └── unreachable.ql
│ │ ├── c11_generic
│ │ │ ├── generic.c
│ │ │ ├── generic.cpp
│ │ │ ├── test.expected
│ │ │ └── test.ql
│ │ ├── c_overload
│ │ │ ├── c_overload.c
│ │ │ ├── c_overload.expected
│ │ │ ├── c_overload.ql
│ │ │ ├── calls.expected
│ │ │ ├── calls.ql
│ │ │ └── options
│ │ ├── calls
│ │ │ ├── Calls1.expected
│ │ │ ├── Calls1.ql
│ │ │ ├── Calls3.expected
│ │ │ ├── Calls3.ql
│ │ │ ├── args.expected
│ │ │ ├── args.ql
│ │ │ ├── calls.expected
│ │ │ ├── calls.ql
│ │ │ ├── calls1.cpp
│ │ │ ├── calls1.h
│ │ │ ├── calls2.cpp
│ │ │ ├── calls3.cpp
│ │ │ └── calls4.cpp
│ │ ├── cast_specifiers
│ │ │ ├── cast_specifiers.c
│ │ │ ├── cast_specifiers.expected
│ │ │ └── cast_specifiers.ql
│ │ ├── clang_builtin_macros
│ │ │ ├── addressof.c
│ │ │ ├── addressof.expected
│ │ │ ├── addressof.ql
│ │ │ ├── bar.h
│ │ │ ├── diag.expected
│ │ │ ├── diag.ql
│ │ │ ├── extended.cpp
│ │ │ ├── gcc492.c
│ │ │ ├── h1.h
│ │ │ ├── h2.h
│ │ │ ├── options
│ │ │ ├── test.cpp
│ │ │ ├── values.expected
│ │ │ └── values.ql
│ │ ├── clang_c99_default
│ │ │ ├── c89.c
│ │ │ ├── c99.c
│ │ │ ├── clang_c99_default.expected
│ │ │ └── clang_c99_default.ql
│ │ ├── clang_cpp14_17
│ │ │ ├── cpp14.cpp
│ │ │ ├── cpp17.cpp
│ │ │ ├── test.expected
│ │ │ └── test.ql
│ │ ├── clang_ms
│ │ │ ├── clang_ms.cpp
│ │ │ ├── declspec.expected
│ │ │ ├── declspec.ql
│ │ │ ├── element.expected
│ │ │ ├── element.ql
│ │ │ └── options
│ │ ├── classes
│ │ │ ├── base_classes
│ │ │ │ ├── base_classes.cpp
│ │ │ │ ├── base_classes.expected
│ │ │ │ └── base_classes.ql
│ │ │ ├── classes
│ │ │ │ ├── Classes.ms.cpp
│ │ │ │ ├── Classes1.expected
│ │ │ │ ├── Classes1.ql
│ │ │ │ ├── Classes2.expected
│ │ │ │ ├── Classes2.ql
│ │ │ │ ├── Classes3.expected
│ │ │ │ ├── Classes3.ql
│ │ │ │ ├── Classes4.expected
│ │ │ │ ├── Classes4.ql
│ │ │ │ ├── Classes5.expected
│ │ │ │ ├── Classes5.ql
│ │ │ │ ├── Classes6.expected
│ │ │ │ ├── Classes6.ql
│ │ │ │ ├── Classes7.expected
│ │ │ │ ├── Classes7.ql
│ │ │ │ ├── Classes8.expected
│ │ │ │ ├── Classes8.ql
│ │ │ │ ├── MetricClasses1.expected
│ │ │ │ ├── MetricClasses1.ql
│ │ │ │ ├── MetricClasses2.expected
│ │ │ │ ├── MetricClasses2.ql
│ │ │ │ ├── classes.cpp
│ │ │ │ └── more_classes.cpp
│ │ │ ├── defcon
│ │ │ │ ├── defcon.cpp
│ │ │ │ ├── defcon.expected
│ │ │ │ └── defcon.ql
│ │ │ ├── derivations
│ │ │ │ ├── derivations
│ │ │ │ │ ├── common.h
│ │ │ │ │ ├── derivations.expected
│ │ │ │ │ ├── derivations.ql
│ │ │ │ │ ├── one.cpp
│ │ │ │ │ └── two.cpp
│ │ │ │ └── offsets
│ │ │ │ │ ├── field_offset_in.expected
│ │ │ │ │ ├── field_offset_in.ql
│ │ │ │ │ ├── offset_in.expected
│ │ │ │ │ ├── offset_in.ql
│ │ │ │ │ ├── offsets.cpp
│ │ │ │ │ ├── offsets.expected
│ │ │ │ │ ├── offsets.ql
│ │ │ │ │ ├── vboffsets.expected
│ │ │ │ │ └── vboffsets.ql
│ │ │ ├── structlikeclass
│ │ │ │ ├── StructLikeClass.cpp
│ │ │ │ ├── StructLikeClass.expected
│ │ │ │ └── StructLikeClass.ql
│ │ │ └── variadic
│ │ │ │ ├── expr.expected
│ │ │ │ ├── expr.ql
│ │ │ │ └── test.cpp
│ │ ├── comments
│ │ │ ├── binding
│ │ │ │ ├── a.c
│ │ │ │ ├── b.c
│ │ │ │ ├── cb.h
│ │ │ │ ├── commentBinding.expected
│ │ │ │ ├── commentBinding.ql
│ │ │ │ ├── h.h
│ │ │ │ ├── i.h
│ │ │ │ ├── macros.c
│ │ │ │ ├── multi.c
│ │ │ │ └── templates.cpp
│ │ │ └── comments
│ │ │ │ ├── comments.c
│ │ │ │ ├── comments.expected
│ │ │ │ ├── comments.ql
│ │ │ │ ├── comments_99.c
│ │ │ │ ├── comments_cpp.cpp
│ │ │ │ ├── shared.h
│ │ │ │ ├── shared1.c
│ │ │ │ └── shared2.c
│ │ ├── compiler_generated
│ │ │ ├── c.c
│ │ │ ├── compilerGenerated.expected
│ │ │ ├── compilerGenerated.ql
│ │ │ └── cpp.cpp
│ │ ├── complex_numbers
│ │ │ ├── conjugation.c
│ │ │ ├── expr.expected
│ │ │ ├── expr.ql
│ │ │ └── test.c
│ │ ├── complexity
│ │ │ ├── Complexity.expected
│ │ │ ├── Complexity.ql
│ │ │ └── complexity.c
│ │ ├── conditions
│ │ │ ├── diag.expected
│ │ │ ├── diag.ql
│ │ │ ├── elements.expected
│ │ │ ├── elements.ql
│ │ │ ├── options
│ │ │ ├── test.cpp
│ │ │ ├── vars.expected
│ │ │ └── vars.ql
│ │ ├── constants
│ │ │ ├── .gitattributes
│ │ │ ├── addresses
│ │ │ │ ├── addresses.cpp
│ │ │ │ ├── addresses.expected
│ │ │ │ └── addresses.ql
│ │ │ ├── constants
│ │ │ │ ├── aggregates.expected
│ │ │ │ ├── aggregates.ql
│ │ │ │ ├── chars.expected
│ │ │ │ ├── chars.ql
│ │ │ │ ├── constants.cpp
│ │ │ │ ├── ints.expected
│ │ │ │ ├── ints.ql
│ │ │ │ ├── ms_agg_2.c
│ │ │ │ ├── strings.expected
│ │ │ │ └── strings.ql
│ │ │ ├── initializerexpr
│ │ │ │ ├── clang.c
│ │ │ │ ├── initializerexpr.cpp
│ │ │ │ ├── initializerexpr.expected
│ │ │ │ └── initializerexpr.ql
│ │ │ ├── initializers
│ │ │ │ ├── initializers.c
│ │ │ │ ├── initializers.cpp
│ │ │ │ ├── initializers.expected
│ │ │ │ └── initializers.ql
│ │ │ └── strlen
│ │ │ │ ├── expr.expected
│ │ │ │ ├── expr.ql
│ │ │ │ └── strlen.cpp
│ │ ├── constexpr_if
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ ├── stmts.expected
│ │ │ ├── stmts.ql
│ │ │ └── test.cpp
│ │ ├── controlflow
│ │ │ ├── assume
│ │ │ │ ├── cfg.expected
│ │ │ │ ├── cfg.ql
│ │ │ │ ├── interesting.expected
│ │ │ │ ├── interesting.ql
│ │ │ │ ├── options
│ │ │ │ ├── simple.cpp
│ │ │ │ └── switch.cpp
│ │ │ ├── controlflow
│ │ │ │ ├── SsaCompleteness.expected
│ │ │ │ ├── SsaCompleteness.ql
│ │ │ │ ├── SsaCorrespondence.expected
│ │ │ │ ├── SsaCorrespondence.ql
│ │ │ │ ├── SsaDefUsePairs.expected
│ │ │ │ ├── SsaDefUsePairs.ql
│ │ │ │ ├── SsaDefinedByParameter.expected
│ │ │ │ ├── SsaDefinedByParameter.ql
│ │ │ │ ├── SsaDominance.expected
│ │ │ │ ├── SsaDominance.ql
│ │ │ │ ├── SsaLt.expected
│ │ │ │ ├── SsaLt.ql
│ │ │ │ ├── SsaPhiInputs.expected
│ │ │ │ ├── SsaPhiInputs.ql
│ │ │ │ ├── SsaUniqueness.expected
│ │ │ │ ├── SsaUniqueness.ql
│ │ │ │ ├── pass_by_ref.cpp
│ │ │ │ ├── test.c
│ │ │ │ └── test.cpp
│ │ │ ├── dominance
│ │ │ │ ├── bbIDominates.expected
│ │ │ │ ├── bbIDominates.ql
│ │ │ │ ├── dominatedByStart.expected
│ │ │ │ ├── dominatedByStart.ql
│ │ │ │ ├── dominator.expected
│ │ │ │ ├── dominator.ql
│ │ │ │ ├── dominatorExists.expected
│ │ │ │ ├── dominatorExists.ql
│ │ │ │ ├── dominatorUnique.expected
│ │ │ │ ├── dominatorUnique.ql
│ │ │ │ ├── staticFalse.c
│ │ │ │ └── test.c
│ │ │ ├── exits
│ │ │ │ ├── exits.expected
│ │ │ │ ├── exits.ql
│ │ │ │ ├── test.cpp
│ │ │ │ └── test.ms.cpp
│ │ │ ├── guards-ir
│ │ │ │ ├── test.c
│ │ │ │ ├── test.cpp
│ │ │ │ ├── tests.expected
│ │ │ │ └── tests.ql
│ │ │ ├── guards
│ │ │ │ ├── Guards.expected
│ │ │ │ ├── Guards.ql
│ │ │ │ ├── GuardsCompare.expected
│ │ │ │ ├── GuardsCompare.ql
│ │ │ │ ├── GuardsControl.expected
│ │ │ │ ├── GuardsControl.ql
│ │ │ │ ├── GuardsEnsure.expected
│ │ │ │ ├── GuardsEnsure.ql
│ │ │ │ ├── test.c
│ │ │ │ └── test.cpp
│ │ │ ├── loopentrycondition
│ │ │ │ ├── forstmt.cpp
│ │ │ │ ├── forstmt01.expected
│ │ │ │ ├── forstmt01.ql
│ │ │ │ ├── whilestmt.cpp
│ │ │ │ ├── whilestmt01.expected
│ │ │ │ └── whilestmt01.ql
│ │ │ ├── primitives
│ │ │ │ ├── cfg.expected
│ │ │ │ ├── cfg.ql
│ │ │ │ ├── cpp.cpp
│ │ │ │ ├── falseSucc.expected
│ │ │ │ ├── falseSucc.ql
│ │ │ │ ├── ms.cpp
│ │ │ │ ├── test.c
│ │ │ │ ├── trueSucc.expected
│ │ │ │ └── trueSucc.ql
│ │ │ └── stackvariablereachability
│ │ │ │ ├── StackVariableReachabilityWithReassignment.expected
│ │ │ │ ├── StackVariableReachabilityWithReassignment.ql
│ │ │ │ ├── stackVariableReachability.c
│ │ │ │ ├── stackVariableReachability.expected
│ │ │ │ └── stackVariableReachability.ql
│ │ ├── controlflow_stresstest
│ │ │ ├── SsaDefUsePairs.expected
│ │ │ ├── SsaDefUsePairs.ql
│ │ │ └── ssa_stress.c
│ │ ├── conversions
│ │ │ ├── complex.c
│ │ │ ├── consistency.expected
│ │ │ ├── consistency.qlref
│ │ │ ├── conversions.cpp
│ │ │ ├── conversions.expected
│ │ │ └── conversions.ql
│ │ ├── cpp11_g
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── cpp11_g.cpp
│ │ ├── cpp_builtin_types
│ │ │ ├── bool
│ │ │ │ ├── Variables.expected
│ │ │ │ ├── Variables.ql
│ │ │ │ ├── a-source.cpp
│ │ │ │ └── c-source.c
│ │ │ └── wchar_t
│ │ │ │ ├── Variables.expected
│ │ │ │ ├── Variables.ql
│ │ │ │ ├── a-source.cpp
│ │ │ │ └── c-source.c
│ │ ├── ctorinits
│ │ │ ├── calls.expected
│ │ │ ├── calls.ql
│ │ │ ├── ctorinits.cpp
│ │ │ ├── ctors.expected
│ │ │ ├── ctors.ql
│ │ │ ├── dtors.expected
│ │ │ └── dtors.ql
│ │ ├── dataflow
│ │ │ ├── DefaultTaintTracking
│ │ │ │ ├── annotate_path_to_sink
│ │ │ │ │ ├── dispatch.cpp
│ │ │ │ │ ├── tainted.expected
│ │ │ │ │ ├── tainted.ql
│ │ │ │ │ └── test_diff.cpp
│ │ │ │ ├── annotate_sinks_only
│ │ │ │ │ ├── defaulttainttracking.cpp
│ │ │ │ │ ├── remote-flow-sink.expected
│ │ │ │ │ ├── remote-flow-sink.ql
│ │ │ │ │ ├── stl.cpp
│ │ │ │ │ ├── tainted.expected
│ │ │ │ │ └── tainted.ql
│ │ │ │ ├── globals
│ │ │ │ │ ├── global.expected
│ │ │ │ │ ├── global.ql
│ │ │ │ │ └── globals.cpp
│ │ │ │ └── shared.h
│ │ │ ├── additional-flow-to-parameter
│ │ │ │ ├── standardFlow.expected
│ │ │ │ ├── standardFlow.ql
│ │ │ │ ├── test.cpp
│ │ │ │ ├── withAdditionalFlow.expected
│ │ │ │ └── withAdditionalFlow.ql
│ │ │ ├── crement
│ │ │ │ ├── crements.cpp
│ │ │ │ ├── from0.expected
│ │ │ │ └── from0.ql
│ │ │ ├── dataflow-edge-tests
│ │ │ │ ├── additionalEdges.expected
│ │ │ │ ├── additionalEdges.ql
│ │ │ │ ├── standardEdges.expected
│ │ │ │ ├── standardEdges.ql
│ │ │ │ └── tryExcept.c
│ │ │ ├── dataflow-tests
│ │ │ │ ├── BarrierGuard.cpp
│ │ │ │ ├── acrossLinkTargets.cpp
│ │ │ │ ├── clang.cpp
│ │ │ │ ├── dataflow-consistency.expected
│ │ │ │ ├── dataflow-consistency.ql
│ │ │ │ ├── dataflow-ir-consistency.expected
│ │ │ │ ├── dataflow-ir-consistency.ql
│ │ │ │ ├── dispatch.cpp
│ │ │ │ ├── example.c
│ │ │ │ ├── globals.cpp
│ │ │ │ ├── lambdas.cpp
│ │ │ │ ├── localFlow.expected
│ │ │ │ ├── localFlow.ql
│ │ │ │ ├── ref.cpp
│ │ │ │ ├── test.cpp
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ ├── true_upon_entry.cpp
│ │ │ │ ├── uninitialized.expected
│ │ │ │ └── uninitialized.ql
│ │ │ ├── fields
│ │ │ │ ├── A.cpp
│ │ │ │ ├── ASTConfiguration.qll
│ │ │ │ ├── B.cpp
│ │ │ │ ├── C.cpp
│ │ │ │ ├── D.cpp
│ │ │ │ ├── E.cpp
│ │ │ │ ├── IRConfiguration.qll
│ │ │ │ ├── Nodes.qll
│ │ │ │ ├── aliasing.cpp
│ │ │ │ ├── arrays.cpp
│ │ │ │ ├── by_reference.cpp
│ │ │ │ ├── complex.cpp
│ │ │ │ ├── conflated.cpp
│ │ │ │ ├── constructors.cpp
│ │ │ │ ├── dataflow-consistency.expected
│ │ │ │ ├── dataflow-consistency.ql
│ │ │ │ ├── dataflow-ir-consistency.expected
│ │ │ │ ├── dataflow-ir-consistency.ql
│ │ │ │ ├── flow.expected
│ │ │ │ ├── flow.ql
│ │ │ │ ├── ir-path-flow.expected
│ │ │ │ ├── ir-path-flow.ql
│ │ │ │ ├── partial-definition-diff.expected
│ │ │ │ ├── partial-definition-diff.ql
│ │ │ │ ├── partial-definition-ir.expected
│ │ │ │ ├── partial-definition-ir.ql
│ │ │ │ ├── partial-definition.expected
│ │ │ │ ├── partial-definition.ql
│ │ │ │ ├── path-flow.expected
│ │ │ │ ├── path-flow.ql
│ │ │ │ ├── qualifiers.cpp
│ │ │ │ ├── realistic.cpp
│ │ │ │ ├── simple.cpp
│ │ │ │ └── struct_init.c
│ │ │ ├── partialdefinitions
│ │ │ │ ├── partialdefinitions.cpp
│ │ │ │ ├── partialdefinitions.expected
│ │ │ │ └── partialdefinitions.ql
│ │ │ ├── recursion
│ │ │ │ ├── chained_use.expected
│ │ │ │ ├── chained_use.ql
│ │ │ │ └── recursion.c
│ │ │ ├── security-taint
│ │ │ │ ├── tainted.expected
│ │ │ │ ├── tainted.ql
│ │ │ │ ├── tainted_diff.expected
│ │ │ │ ├── tainted_diff.ql
│ │ │ │ ├── tainted_ir.expected
│ │ │ │ ├── tainted_ir.ql
│ │ │ │ └── test.cpp
│ │ │ ├── stackaddress
│ │ │ │ ├── StackPointerFlowsToUse.expected
│ │ │ │ ├── StackPointerFlowsToUse.ql
│ │ │ │ └── test.cpp
│ │ │ ├── taint-tests
│ │ │ │ ├── arrayassignment.cpp
│ │ │ │ ├── bsd.cpp
│ │ │ │ ├── constructor_delegation.cpp
│ │ │ │ ├── copyableclass.cpp
│ │ │ │ ├── copyableclass_declonly.cpp
│ │ │ │ ├── format.cpp
│ │ │ │ ├── localTaint.expected
│ │ │ │ ├── localTaint.ql
│ │ │ │ ├── map.cpp
│ │ │ │ ├── movableclass.cpp
│ │ │ │ ├── set.cpp
│ │ │ │ ├── smart_pointer.cpp
│ │ │ │ ├── standalone_iterators.cpp
│ │ │ │ ├── stl.h
│ │ │ │ ├── string.cpp
│ │ │ │ ├── stringstream.cpp
│ │ │ │ ├── structlikeclass.cpp
│ │ │ │ ├── swap.h
│ │ │ │ ├── swap1.cpp
│ │ │ │ ├── swap2.cpp
│ │ │ │ ├── taint.cpp
│ │ │ │ ├── taint.expected
│ │ │ │ ├── taint.ql
│ │ │ │ ├── type_traits.h
│ │ │ │ └── vector.cpp
│ │ │ └── variable
│ │ │ │ ├── noInit.c
│ │ │ │ ├── noInit.expected
│ │ │ │ └── noInit.ql
│ │ ├── declaration
│ │ │ ├── IsMember.expected
│ │ │ ├── IsMember.ql
│ │ │ └── declaration.cpp
│ │ ├── declarationEntry
│ │ │ ├── declarationEntry
│ │ │ │ ├── declarationEntry.c
│ │ │ │ ├── declarationEntry.cpp
│ │ │ │ ├── declarationEntry.expected
│ │ │ │ ├── declarationEntry.ql
│ │ │ │ ├── fde.expected
│ │ │ │ ├── fde.ql
│ │ │ │ └── macro.c
│ │ │ ├── local
│ │ │ │ ├── declarationEntry.expected
│ │ │ │ ├── declarationEntry.ql
│ │ │ │ └── test.cpp
│ │ │ ├── more
│ │ │ │ ├── declarationEntry.expected
│ │ │ │ ├── declarationEntry.ql
│ │ │ │ └── test.cpp
│ │ │ └── template
│ │ │ │ ├── declarationEntry.expected
│ │ │ │ ├── declarationEntry.ql
│ │ │ │ ├── src1.cpp
│ │ │ │ ├── src2.cpp
│ │ │ │ ├── src3.cpp
│ │ │ │ ├── src4.cpp
│ │ │ │ ├── src5.cpp
│ │ │ │ ├── src5.fwd.hpp
│ │ │ │ ├── src6.cpp
│ │ │ │ ├── usertype.expected
│ │ │ │ └── usertype.ql
│ │ ├── declspec
│ │ │ └── guard
│ │ │ │ ├── test.cpp
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ ├── declstmt
│ │ │ ├── cpp.cpp
│ │ │ ├── declstmt.c
│ │ │ ├── getDeclaration.expected
│ │ │ ├── getDeclaration.ql
│ │ │ ├── getDeclarationEntry.expected
│ │ │ └── getDeclarationEntry.ql
│ │ ├── default_parameters
│ │ │ ├── exprs.expected
│ │ │ ├── exprs.ql
│ │ │ ├── test.cpp
│ │ │ ├── variables.expected
│ │ │ └── variables.ql
│ │ ├── defuse
│ │ │ ├── addressOf.cpp
│ │ │ ├── definition.expected
│ │ │ ├── definition.ql
│ │ │ ├── definitionUsePair.expected
│ │ │ ├── definitionUsePair.ql
│ │ │ ├── definitionUsePairEquivalence.expected
│ │ │ ├── definitionUsePairEquivalence.ql
│ │ │ ├── exprDefinition.expected
│ │ │ ├── exprDefinition.ql
│ │ │ ├── indirect_use.cpp
│ │ │ ├── isAddressOfAccess.expected
│ │ │ ├── isAddressOfAccess.ql
│ │ │ ├── parameterUsePair.expected
│ │ │ ├── parameterUsePair.ql
│ │ │ ├── pass_by_ref.cpp
│ │ │ ├── test.cpp
│ │ │ ├── useOfVar.expected
│ │ │ ├── useOfVar.ql
│ │ │ ├── useOfVarActual.expected
│ │ │ ├── useOfVarActual.ql
│ │ │ ├── useUsePair.expected
│ │ │ └── useUsePair.ql
│ │ ├── depends_addressable
│ │ │ ├── DependsAddressable1.expected
│ │ │ ├── DependsAddressable1.ql
│ │ │ └── addressable.cpp
│ │ ├── depends_friends
│ │ │ ├── Friend1.expected
│ │ │ ├── Friend1.ql
│ │ │ └── friends.cpp
│ │ ├── depends_initializers
│ │ │ ├── InitializerAccesses.expected
│ │ │ ├── InitializerAccesses.ql
│ │ │ ├── InitializerCFG.expected
│ │ │ ├── InitializerCFG.ql
│ │ │ ├── InitializerCalls.expected
│ │ │ ├── InitializerCalls.ql
│ │ │ ├── VariableInitializers.expected
│ │ │ ├── VariableInitializers.ql
│ │ │ ├── initializers.cpp
│ │ │ ├── template_static.cpp
│ │ │ └── template_static_instantiated.cpp
│ │ ├── derived_types
│ │ │ ├── DerivedTypesBaseType.expected
│ │ │ ├── DerivedTypesBaseType.ql
│ │ │ └── derivedtype.cpp
│ │ ├── destructors
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ ├── destructors.cpp
│ │ │ ├── destructors2.cpp
│ │ │ ├── jump_destructs.expected
│ │ │ ├── jump_destructs.ql
│ │ │ └── mkdot.pl
│ │ ├── diagnostics
│ │ │ ├── diagnostics.c
│ │ │ ├── diags.expected
│ │ │ ├── diags.ql
│ │ │ └── options
│ │ ├── digraphs
│ │ │ ├── digraphs.cpp
│ │ │ ├── digraphs.expected
│ │ │ ├── digraphs.ql
│ │ │ └── options
│ │ ├── enums
│ │ │ ├── enums
│ │ │ │ ├── Enums1.expected
│ │ │ │ ├── Enums1.ql
│ │ │ │ ├── Enums2.expected
│ │ │ │ ├── Enums2.ql
│ │ │ │ ├── Enums3.expected
│ │ │ │ ├── Enums3.ql
│ │ │ │ ├── enums.cpp
│ │ │ │ ├── enums.ms.c
│ │ │ │ └── scoped.cpp
│ │ │ ├── multi_file
│ │ │ │ ├── a.c
│ │ │ │ ├── a.h
│ │ │ │ ├── b.c
│ │ │ │ ├── eca.expected
│ │ │ │ ├── eca.ql
│ │ │ │ ├── enumConstant.expected
│ │ │ │ └── enumConstant.ql
│ │ │ └── typedefs
│ │ │ │ ├── exprs.expected
│ │ │ │ ├── exprs.ql
│ │ │ │ └── test.c
│ │ ├── environment
│ │ │ ├── environmentRead.expected
│ │ │ ├── environmentRead.ql
│ │ │ ├── stdlib.h
│ │ │ └── test.c
│ │ ├── exclusions
│ │ │ ├── exclusions.cpp
│ │ │ ├── exclusions.expected
│ │ │ └── exclusions.ql
│ │ ├── exprs
│ │ │ ├── comparison_operation
│ │ │ │ ├── comparison_operation.expected
│ │ │ │ ├── comparison_operation.ql
│ │ │ │ └── test.cpp
│ │ │ ├── conditional_decl
│ │ │ │ ├── conditionaldeclexpr.cpp
│ │ │ │ ├── conditionaldeclexpr.expected
│ │ │ │ └── conditionaldeclexpr.ql
│ │ │ ├── min_max
│ │ │ │ ├── expr.expected
│ │ │ │ ├── expr.ql
│ │ │ │ └── test.cpp
│ │ │ ├── unary_operation
│ │ │ │ ├── test.cpp
│ │ │ │ ├── unary_operation.expected
│ │ │ │ └── unary_operation.ql
│ │ │ ├── unevaluated
│ │ │ │ ├── test.cpp
│ │ │ │ ├── typeinfo.h
│ │ │ │ ├── unevaluated.expected
│ │ │ │ └── unevaluated.ql
│ │ │ └── value_categories
│ │ │ │ ├── loads.expected
│ │ │ │ ├── loads.ql
│ │ │ │ ├── value_categories.cpp
│ │ │ │ ├── value_categories.expected
│ │ │ │ └── value_categories.ql
│ │ ├── exprs_basic
│ │ │ ├── ExprsBasic1.expected
│ │ │ ├── ExprsBasic1.ql
│ │ │ ├── ExprsBasic3.expected
│ │ │ ├── ExprsBasic3.ql
│ │ │ ├── ExprsBasic4.expected
│ │ │ ├── ExprsBasic4.ql
│ │ │ ├── ExprsBasic5.expected
│ │ │ ├── ExprsBasic5.ql
│ │ │ ├── ExprsBasic7.expected
│ │ │ ├── ExprsBasic7.ql
│ │ │ ├── ExprsBasic8.expected
│ │ │ ├── ExprsBasic8.ql
│ │ │ ├── ExprsBasic9.expected
│ │ │ ├── ExprsBasic9.ql
│ │ │ └── exprs_basic1.cpp
│ │ ├── exprs_cast
│ │ │ ├── ExprsCast1.expected
│ │ │ ├── ExprsCast1.ql
│ │ │ ├── ExprsCast2.expected
│ │ │ ├── ExprsCast2.ql
│ │ │ ├── exprs_cast.cpp
│ │ │ └── options
│ │ ├── fields
│ │ │ ├── fields
│ │ │ │ ├── EnumConst.expected
│ │ │ │ ├── EnumConst.ql
│ │ │ │ ├── Fields.expected
│ │ │ │ ├── Fields.ql
│ │ │ │ ├── MemberVariable.expected
│ │ │ │ ├── MemberVariable.ql
│ │ │ │ └── fields.cpp
│ │ │ └── segfault
│ │ │ │ ├── exprs.expected
│ │ │ │ ├── exprs.ql
│ │ │ │ └── segfault.cpp
│ │ ├── files
│ │ │ ├── Files.expected
│ │ │ ├── Files.ql
│ │ │ ├── c.c
│ │ │ ├── files1.cpp
│ │ │ ├── files1.h
│ │ │ └── files2.cpp
│ │ ├── floats
│ │ │ ├── float128
│ │ │ │ ├── errors.expected
│ │ │ │ ├── errors.ql
│ │ │ │ ├── float128.cpp
│ │ │ │ ├── functions.expected
│ │ │ │ ├── functions.ql
│ │ │ │ ├── usertypes.expected
│ │ │ │ └── usertypes.ql
│ │ │ └── floats
│ │ │ │ ├── floats.c
│ │ │ │ ├── floats.expected
│ │ │ │ └── floats.ql
│ │ ├── fold
│ │ │ ├── fold.cpp
│ │ │ ├── fold.expected
│ │ │ └── fold.ql
│ │ ├── friends
│ │ │ ├── friends
│ │ │ │ ├── friends.cpp
│ │ │ │ ├── instantiated_template_class.expected
│ │ │ │ ├── instantiated_template_class.ql
│ │ │ │ ├── nesting.expected
│ │ │ │ ├── nesting.ql
│ │ │ │ ├── prototype_template_class.expected
│ │ │ │ └── prototype_template_class.ql
│ │ │ └── loop
│ │ │ │ ├── friends.expected
│ │ │ │ ├── friends.ql
│ │ │ │ └── loop.cpp
│ │ ├── fun_decl
│ │ │ ├── compile1.cpp
│ │ │ ├── compile2.cpp
│ │ │ ├── fwd.h
│ │ │ ├── test.expected
│ │ │ └── test.ql
│ │ ├── funcdname
│ │ │ ├── funcdname.cpp
│ │ │ ├── funcdname.expected
│ │ │ ├── funcdname.ql
│ │ │ └── options
│ │ ├── function_try_stmt
│ │ │ ├── function_try_stmt.cpp
│ │ │ ├── function_try_stmt.expected
│ │ │ └── function_try_stmt.ql
│ │ ├── functionpointerish
│ │ │ ├── functionpointerish.cpp
│ │ │ ├── functionpointerish.expected
│ │ │ ├── functionpointerish.ql
│ │ │ └── options
│ │ ├── functions
│ │ │ ├── arguments
│ │ │ │ ├── arguments.expected
│ │ │ │ ├── arguments.ql
│ │ │ │ ├── num_arguments.expected
│ │ │ │ ├── num_arguments.ql
│ │ │ │ └── test.c
│ │ │ ├── constexpr
│ │ │ │ ├── constexpr.cpp
│ │ │ │ ├── constexpr.expected
│ │ │ │ └── constexpr.ql
│ │ │ ├── fde_get_block
│ │ │ │ ├── fde_get_block.c
│ │ │ │ ├── fde_get_block.expected
│ │ │ │ └── fde_get_block.ql
│ │ │ ├── functionaccess
│ │ │ │ ├── FunctionAccess.cpp
│ │ │ │ ├── FunctionAccess.expected
│ │ │ │ └── FunctionAccess.ql
│ │ │ ├── functions
│ │ │ │ ├── FunctionCalls.expected
│ │ │ │ ├── FunctionCalls.ql
│ │ │ │ ├── Functions1.expected
│ │ │ │ ├── Functions1.ql
│ │ │ │ ├── Functions2.expected
│ │ │ │ ├── Functions2.ql
│ │ │ │ ├── ODASA-5186.cpp
│ │ │ │ ├── ODASA-5186.hpp
│ │ │ │ ├── ODASA-5722.cpp
│ │ │ │ └── functions.cpp
│ │ │ ├── generated
│ │ │ │ ├── a.cpp
│ │ │ │ ├── a.h
│ │ │ │ ├── b.cpp
│ │ │ │ ├── calls.expected
│ │ │ │ └── calls.ql
│ │ │ ├── getathrowntype
│ │ │ │ ├── getAThrownType.expected
│ │ │ │ ├── getAThrownType.ql
│ │ │ │ └── test.cpp
│ │ │ ├── override
│ │ │ │ ├── override.cpp
│ │ │ │ ├── override.expected
│ │ │ │ └── override.ql
│ │ │ ├── qualifiers
│ │ │ │ ├── a.cpp
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ └── routinetype
│ │ │ │ ├── routinetype.cpp
│ │ │ │ ├── types.expected
│ │ │ │ └── types.ql
│ │ ├── identifiers
│ │ │ └── qualified_names
│ │ │ │ ├── qualifiedNames.cpp
│ │ │ │ ├── qualifiedNames.expected
│ │ │ │ ├── qualifiedNames.ql
│ │ │ │ ├── unnamed.expected
│ │ │ │ └── unnamed.ql
│ │ ├── identity_string
│ │ │ ├── identity_string.cpp
│ │ │ ├── identity_string.expected
│ │ │ └── identity_string.ql
│ │ ├── includes
│ │ │ ├── include_next
│ │ │ │ ├── a
│ │ │ │ │ └── test.h
│ │ │ │ ├── b
│ │ │ │ │ ├── loop.h
│ │ │ │ │ └── test.h
│ │ │ │ ├── foo.c
│ │ │ │ ├── includes.expected
│ │ │ │ └── includes.ql
│ │ │ ├── includes
│ │ │ │ ├── bar.h
│ │ │ │ ├── includes.c
│ │ │ │ ├── locations.expected
│ │ │ │ └── locations.ql
│ │ │ └── non_existent
│ │ │ │ ├── diags.expected
│ │ │ │ ├── diags.ql
│ │ │ │ ├── options
│ │ │ │ └── test.c
│ │ ├── instantiations
│ │ │ ├── test.cpp
│ │ │ ├── test.expected
│ │ │ └── test.ql
│ │ ├── ir
│ │ │ ├── constant_func
│ │ │ │ ├── constant_func.cpp
│ │ │ │ ├── constant_func.expected
│ │ │ │ └── constant_func.ql
│ │ │ ├── constants
│ │ │ │ ├── constants.cpp
│ │ │ │ ├── constants.expected
│ │ │ │ └── constants.ql
│ │ │ ├── escape
│ │ │ │ ├── escape.cpp
│ │ │ │ ├── escape.expected
│ │ │ │ ├── escape.ql
│ │ │ │ ├── ssa_escape.expected
│ │ │ │ └── ssa_escape.ql
│ │ │ ├── ir
│ │ │ │ ├── PrintAST.expected
│ │ │ │ ├── PrintAST.qlref
│ │ │ │ ├── aliased_ssa_consistency.expected
│ │ │ │ ├── aliased_ssa_consistency.ql
│ │ │ │ ├── aliased_ssa_consistency_unsound.expected
│ │ │ │ ├── aliased_ssa_consistency_unsound.qlref
│ │ │ │ ├── aliased_ssa_ssa_consistency.expected
│ │ │ │ ├── aliased_ssa_ssa_consistency.ql
│ │ │ │ ├── aliased_ssa_ssa_consistency_unsound.expected
│ │ │ │ ├── aliased_ssa_ssa_consistency_unsound.qlref
│ │ │ │ ├── bad_asts.cpp
│ │ │ │ ├── clang.cpp
│ │ │ │ ├── complex.c
│ │ │ │ ├── ir.cpp
│ │ │ │ ├── perf-regression.cpp
│ │ │ │ ├── raw_consistency.expected
│ │ │ │ ├── raw_consistency.qlref
│ │ │ │ ├── raw_ir.expected
│ │ │ │ ├── raw_ir.qlref
│ │ │ │ ├── struct_init.cpp
│ │ │ │ ├── unaliased_ssa_consistency.expected
│ │ │ │ ├── unaliased_ssa_consistency.ql
│ │ │ │ ├── unaliased_ssa_consistency_unsound.expected
│ │ │ │ ├── unaliased_ssa_consistency_unsound.qlref
│ │ │ │ ├── unaliased_ssa_ssa_consistency.expected
│ │ │ │ ├── unaliased_ssa_ssa_consistency.ql
│ │ │ │ ├── unaliased_ssa_ssa_consistency_unsound.expected
│ │ │ │ └── unaliased_ssa_ssa_consistency_unsound.qlref
│ │ │ ├── points_to
│ │ │ │ ├── points_to.cpp
│ │ │ │ ├── points_to.expected
│ │ │ │ └── points_to.ql
│ │ │ ├── ssa
│ │ │ │ ├── aliased_ssa_consistency.expected
│ │ │ │ ├── aliased_ssa_consistency.ql
│ │ │ │ ├── aliased_ssa_consistency_unsound.expected
│ │ │ │ ├── aliased_ssa_consistency_unsound.qlref
│ │ │ │ ├── aliased_ssa_ir.expected
│ │ │ │ ├── aliased_ssa_ir.ql
│ │ │ │ ├── aliased_ssa_ir_unsound.expected
│ │ │ │ ├── aliased_ssa_ir_unsound.qlref
│ │ │ │ ├── aliased_ssa_ssa_consistency.expected
│ │ │ │ ├── aliased_ssa_ssa_consistency.ql
│ │ │ │ ├── aliased_ssa_ssa_consistency_unsound.expected
│ │ │ │ ├── aliased_ssa_ssa_consistency_unsound.qlref
│ │ │ │ ├── ssa.cpp
│ │ │ │ ├── unaliased_ssa_consistency.expected
│ │ │ │ ├── unaliased_ssa_consistency.ql
│ │ │ │ ├── unaliased_ssa_consistency_unsound.expected
│ │ │ │ ├── unaliased_ssa_consistency_unsound.qlref
│ │ │ │ ├── unaliased_ssa_ir.expected
│ │ │ │ ├── unaliased_ssa_ir.ql
│ │ │ │ ├── unaliased_ssa_ir_unsound.expected
│ │ │ │ ├── unaliased_ssa_ir_unsound.qlref
│ │ │ │ ├── unaliased_ssa_ssa_consistency.expected
│ │ │ │ ├── unaliased_ssa_ssa_consistency.ql
│ │ │ │ ├── unaliased_ssa_ssa_consistency_unsound.expected
│ │ │ │ └── unaliased_ssa_ssa_consistency_unsound.qlref
│ │ │ └── types
│ │ │ │ ├── complex.c
│ │ │ │ ├── irtypes.cpp
│ │ │ │ ├── irtypes.expected
│ │ │ │ └── irtypes.ql
│ │ ├── lambdas
│ │ │ ├── calling_conv
│ │ │ │ ├── calling_conv.expected
│ │ │ │ ├── calling_conv.ql
│ │ │ │ ├── gnu.cpp
│ │ │ │ ├── ms.cpp
│ │ │ │ └── ms32.cpp
│ │ │ ├── captures
│ │ │ │ ├── captures.cpp
│ │ │ │ ├── captures.expected
│ │ │ │ ├── captures.ql
│ │ │ │ ├── elements.expected
│ │ │ │ ├── elements.ql
│ │ │ │ └── end_pos.cpp
│ │ │ └── cfg
│ │ │ │ ├── cfg.expected
│ │ │ │ ├── cfg.ql
│ │ │ │ ├── lambda_cfg.cpp
│ │ │ │ ├── reachability.expected
│ │ │ │ ├── reachability.ql
│ │ │ │ ├── stmts.expected
│ │ │ │ └── stmts.ql
│ │ ├── languages
│ │ │ ├── a.c
│ │ │ ├── b.cpp
│ │ │ ├── exprs.expected
│ │ │ ├── exprs.ql
│ │ │ └── h.h
│ │ ├── large_expressions
│ │ │ ├── exprs.expected
│ │ │ ├── exprs.ql
│ │ │ └── test.c
│ │ ├── literal_locations
│ │ │ ├── duplicate_literal_locations.c
│ │ │ ├── duplicate_literal_locations.expected
│ │ │ ├── duplicate_literal_locations.ql
│ │ │ ├── literal_locations.c
│ │ │ ├── literal_locations.expected
│ │ │ └── literal_locations.ql
│ │ ├── literals
│ │ │ ├── aggregate_literals
│ │ │ │ ├── aggregate_literals.c
│ │ │ │ ├── aggregate_literals_cpp.cpp
│ │ │ │ ├── arrays.expected
│ │ │ │ ├── arrays.ql
│ │ │ │ ├── arrays_child_exprs.expected
│ │ │ │ ├── arrays_child_exprs.ql
│ │ │ │ ├── arrays_value_init.expected
│ │ │ │ ├── arrays_value_init.ql
│ │ │ │ ├── classes.expected
│ │ │ │ ├── classes.ql
│ │ │ │ ├── classes_child_exprs.expected
│ │ │ │ ├── classes_child_exprs.ql
│ │ │ │ ├── classes_value_init.expected
│ │ │ │ └── classes_value_init.ql
│ │ │ ├── aggregates
│ │ │ │ ├── aggregates.c
│ │ │ │ ├── count.expected
│ │ │ │ └── count.ql
│ │ │ ├── literals
│ │ │ │ ├── literals.c
│ │ │ │ ├── literals.expected
│ │ │ │ └── literals.ql
│ │ │ └── uuidof
│ │ │ │ ├── uuidof.cpp
│ │ │ │ ├── uuidof.expected
│ │ │ │ └── uuidof.ql
│ │ ├── locations
│ │ │ ├── aggregate_literals
│ │ │ │ ├── nested.cpp
│ │ │ │ ├── nested.expected
│ │ │ │ └── nested.ql
│ │ │ ├── calls
│ │ │ │ ├── calls.expected
│ │ │ │ ├── calls.ql
│ │ │ │ └── holder.cpp
│ │ │ ├── constants
│ │ │ │ ├── c.c
│ │ │ │ ├── cpp.cpp
│ │ │ │ ├── locations.expected
│ │ │ │ └── locations.ql
│ │ │ ├── enum_initialisers
│ │ │ │ ├── enum_initialisers.c
│ │ │ │ ├── enum_initialisers.expected
│ │ │ │ └── enum_initialisers.ql
│ │ │ ├── overloaded_operators
│ │ │ │ ├── locations.expected
│ │ │ │ ├── locations.ql
│ │ │ │ └── test.cpp
│ │ │ └── udt_implicit_conversions
│ │ │ │ ├── four.cpp
│ │ │ │ ├── udt_implicit_conversions.expected
│ │ │ │ └── udt_implicit_conversions.ql
│ │ ├── loops
│ │ │ ├── loops.cpp
│ │ │ ├── loops.expected
│ │ │ ├── loops.ql
│ │ │ └── rbfl.cpp
│ │ ├── lossy_pointer_cast
│ │ │ ├── lossy_pointer_cast.c
│ │ │ ├── lossy_pointer_cast.expected
│ │ │ └── lossy_pointer_cast.qlref
│ │ ├── macros
│ │ │ ├── affects
│ │ │ │ ├── affects.expected
│ │ │ │ ├── affects.ql
│ │ │ │ └── test.c
│ │ │ ├── arguments
│ │ │ │ ├── ascii_nul.c
│ │ │ │ ├── macro_arguments.expected
│ │ │ │ ├── macro_arguments.ql
│ │ │ │ ├── split1.h
│ │ │ │ ├── split2.h
│ │ │ │ ├── test.c
│ │ │ │ └── top_and_nested.h
│ │ │ ├── inmacroexpansion
│ │ │ │ ├── inmacroexpansion.expected
│ │ │ │ ├── inmacroexpansion.ql
│ │ │ │ └── test.cpp
│ │ │ ├── macros
│ │ │ │ ├── affectedbymacroexpansion.expected
│ │ │ │ ├── affectedbymacroexpansion.ql
│ │ │ │ ├── inmacroexpansion.expected
│ │ │ │ ├── inmacroexpansion.ql
│ │ │ │ └── test.c
│ │ │ └── redefines
│ │ │ │ ├── ppds.expected
│ │ │ │ ├── ppds.ql
│ │ │ │ └── redefines.c
│ │ ├── members
│ │ │ ├── getters
│ │ │ │ ├── members.expected
│ │ │ │ ├── members.ql
│ │ │ │ └── test.cpp
│ │ │ ├── members
│ │ │ │ ├── diags.expected
│ │ │ │ ├── diags.ql
│ │ │ │ ├── functions.expected
│ │ │ │ ├── functions.ql
│ │ │ │ └── non-existent.cpp
│ │ │ ├── templates
│ │ │ │ ├── c1.cpp
│ │ │ │ ├── c2.cpp
│ │ │ │ ├── h.h
│ │ │ │ ├── members.expected
│ │ │ │ └── members.ql
│ │ │ └── this
│ │ │ │ ├── test.cpp
│ │ │ │ ├── this.expected
│ │ │ │ └── this.ql
│ │ ├── multiple_declarations
│ │ │ ├── conditional_field
│ │ │ │ ├── conditional_field.expected
│ │ │ │ ├── conditional_field.ql
│ │ │ │ ├── has_a.c
│ │ │ │ ├── header.h
│ │ │ │ └── no_a.c
│ │ │ ├── functions
│ │ │ │ ├── arity2.c
│ │ │ │ ├── count_f.expected
│ │ │ │ ├── count_f.ql
│ │ │ │ ├── getParameter.expected
│ │ │ │ ├── getParameter.ql
│ │ │ │ ├── getTarget.expected
│ │ │ │ ├── getTarget.ql
│ │ │ │ ├── incompatible_decl.c
│ │ │ │ └── main.c
│ │ │ ├── macroinvocations
│ │ │ │ ├── a.c
│ │ │ │ ├── b.c
│ │ │ │ ├── header.h
│ │ │ │ ├── multiple_macro_invocations.expected
│ │ │ │ └── multiple_macro_invocations.ql
│ │ │ ├── preprocbranch
│ │ │ │ ├── preprocbranch.cpp
│ │ │ │ ├── preprocbranch.expected
│ │ │ │ └── preprocbranch.ql
│ │ │ └── variable_types
│ │ │ │ ├── extracted_once.h
│ │ │ │ ├── extracted_twice.h
│ │ │ │ ├── file1.c
│ │ │ │ ├── file2.c
│ │ │ │ ├── varType.expected
│ │ │ │ └── varType.ql
│ │ ├── naked_attribute
│ │ │ ├── naked.expected
│ │ │ ├── naked.gnu.cpp
│ │ │ ├── naked.ms.cpp
│ │ │ └── naked.ql
│ │ ├── name_qualifiers
│ │ │ ├── NameQualifiers1.expected
│ │ │ ├── NameQualifiers1.ql
│ │ │ ├── NameQualifiers2.expected
│ │ │ ├── NameQualifiers2.ql
│ │ │ ├── inconsistency.cpp
│ │ │ └── name_qualifiers.cpp
│ │ ├── namespaces
│ │ │ ├── namespaces
│ │ │ │ ├── decls.expected
│ │ │ │ ├── decls.ql
│ │ │ │ ├── namequalifiable.expected
│ │ │ │ ├── namequalifiable.ql
│ │ │ │ ├── namespaces.cpp
│ │ │ │ ├── namespaces.expected
│ │ │ │ └── namespaces.ql
│ │ │ └── same_name
│ │ │ │ ├── decls.expected
│ │ │ │ ├── decls.ql
│ │ │ │ └── same_name.cpp
│ │ ├── nested_functions
│ │ │ └── nested_functions
│ │ │ │ ├── namespaces.expected
│ │ │ │ ├── namespaces.ql
│ │ │ │ ├── nested_functions.c
│ │ │ │ ├── nested_functions.cpp
│ │ │ │ ├── nested_functions.expected
│ │ │ │ ├── nested_functions.ql
│ │ │ │ ├── var_uses.expected
│ │ │ │ └── var_uses.ql
│ │ ├── noexcept
│ │ │ ├── copy_from_prototype
│ │ │ │ ├── copy_from_prototype.cpp
│ │ │ │ ├── copy_from_prototype.expected
│ │ │ │ └── copy_from_prototype.ql
│ │ │ └── noexcept
│ │ │ │ ├── box.cpp
│ │ │ │ ├── box.h
│ │ │ │ ├── noexcept.cpp
│ │ │ │ ├── noexcept_expr.expected
│ │ │ │ ├── noexcept_expr.ql
│ │ │ │ ├── noexcept_specifier.expected
│ │ │ │ └── noexcept_specifier.ql
│ │ ├── nulltermination
│ │ │ ├── mayAddNullTerminator.expected
│ │ │ ├── mayAddNullTerminator.ql
│ │ │ ├── test.c
│ │ │ ├── variableMustBeNullTerminated.expected
│ │ │ └── variableMustBeNullTerminated.ql
│ │ ├── numlines
│ │ │ ├── numlines.cpp
│ │ │ ├── numlines.expected
│ │ │ └── numlines.ql
│ │ ├── odasa2646
│ │ │ ├── cfi.expected
│ │ │ ├── cfi.ql
│ │ │ └── odasa2646.cpp
│ │ ├── operators
│ │ │ ├── operators.cpp
│ │ │ ├── operators.expected
│ │ │ └── operators.ql
│ │ ├── opts
│ │ │ ├── main.cpp
│ │ │ ├── options
│ │ │ ├── options.expected
│ │ │ └── options.ql
│ │ ├── padding
│ │ │ ├── bitfields.c
│ │ │ ├── cpp.cpp
│ │ │ ├── padding.expected
│ │ │ ├── padding.ql
│ │ │ ├── size_asserts.h
│ │ │ └── test.c
│ │ ├── parameters
│ │ │ ├── catch
│ │ │ │ ├── catch.cpp
│ │ │ │ ├── parameters.expected
│ │ │ │ └── parameters.ql
│ │ │ ├── parameters
│ │ │ │ ├── Parameters1.expected
│ │ │ │ ├── Parameters1.ql
│ │ │ │ ├── Parameters2.expected
│ │ │ │ ├── Parameters2.ql
│ │ │ │ ├── Parameters3.expected
│ │ │ │ ├── Parameters3.ql
│ │ │ │ └── parameters.cpp
│ │ │ └── toStrings
│ │ │ │ ├── params.expected
│ │ │ │ ├── params.ql
│ │ │ │ └── test.c
│ │ ├── permissive
│ │ │ ├── accesses.expected
│ │ │ ├── accesses.ql
│ │ │ ├── calls.expected
│ │ │ ├── calls.ql
│ │ │ ├── diags.expected
│ │ │ ├── diags.ql
│ │ │ ├── non_permissive.cpp
│ │ │ └── permissive.cpp
│ │ ├── pod
│ │ │ ├── isPOD.expected
│ │ │ ├── isPOD.ql
│ │ │ ├── isPOD03.expected
│ │ │ ├── isPOD03.ql
│ │ │ ├── test1.cpp
│ │ │ ├── test2.cpp
│ │ │ ├── test3.cpp
│ │ │ ├── test4.cpp
│ │ │ ├── test5.c
│ │ │ └── test6.cpp
│ │ ├── pointsto
│ │ │ ├── address-of-assign
│ │ │ │ ├── PointsToExpr.expected
│ │ │ │ ├── PointsToExpr.ql
│ │ │ │ └── test.cpp
│ │ │ ├── arguments
│ │ │ │ ├── Report.expected
│ │ │ │ ├── Report.ql
│ │ │ │ └── calls.c
│ │ │ ├── basic
│ │ │ │ ├── PointsToExpr.expected
│ │ │ │ ├── PointsToExpr.ql
│ │ │ │ ├── anythingPointsToExpr.expected
│ │ │ │ ├── anythingPointsToExpr.ql
│ │ │ │ ├── compoundEdge.expected
│ │ │ │ ├── compoundEdge.ql
│ │ │ │ ├── flow.expected
│ │ │ │ ├── flow.ql
│ │ │ │ ├── lvalue.expected
│ │ │ │ ├── lvalue.ql
│ │ │ │ ├── pointer.expected
│ │ │ │ ├── pointer.ql
│ │ │ │ ├── sets.expected
│ │ │ │ ├── sets.ql
│ │ │ │ └── test.cpp
│ │ │ ├── more
│ │ │ │ ├── PointsToExpr.expected
│ │ │ │ ├── PointsToExpr.ql
│ │ │ │ ├── aggregate_init.c
│ │ │ │ ├── classes.cpp
│ │ │ │ └── structs.c
│ │ │ └── new-virtual
│ │ │ │ ├── PointsToNew.expected
│ │ │ │ ├── PointsToNew.ql
│ │ │ │ └── test.cpp
│ │ ├── predefines
│ │ │ ├── expr.expected
│ │ │ ├── expr.ql
│ │ │ ├── localVariables.expected
│ │ │ ├── localVariables.ql
│ │ │ └── predefines.c
│ │ ├── preprocessor
│ │ │ ├── dependent_defs
│ │ │ │ ├── a.c
│ │ │ │ ├── b.c
│ │ │ │ ├── block.expected
│ │ │ │ ├── block.ql
│ │ │ │ ├── getType.expected
│ │ │ │ ├── getType.ql
│ │ │ │ ├── h.h
│ │ │ │ ├── init.expected
│ │ │ │ └── init.ql
│ │ │ ├── hashing
│ │ │ │ ├── hashing
│ │ │ │ │ ├── a.c
│ │ │ │ │ ├── b.c
│ │ │ │ │ ├── h.h
│ │ │ │ │ ├── loca.c
│ │ │ │ │ ├── locb.c
│ │ │ │ │ ├── loch.h
│ │ │ │ │ ├── lochx.h
│ │ │ │ │ ├── macroAccess.expected
│ │ │ │ │ └── macroAccess.ql
│ │ │ │ └── undef
│ │ │ │ │ ├── a.c
│ │ │ │ │ ├── b.c
│ │ │ │ │ ├── h.h
│ │ │ │ │ ├── preproc.expected
│ │ │ │ │ └── preproc.ql
│ │ │ ├── include
│ │ │ │ ├── guarded.h
│ │ │ │ ├── include.expected
│ │ │ │ ├── include.ql
│ │ │ │ ├── main.cpp
│ │ │ │ └── unguarded.h
│ │ │ ├── linedirective
│ │ │ │ ├── header.h
│ │ │ │ ├── line.h
│ │ │ │ ├── linedirective.expected
│ │ │ │ ├── linedirective.ql
│ │ │ │ ├── main.cpp
│ │ │ │ └── system.h
│ │ │ ├── macroinvocations
│ │ │ │ ├── getanaffectedelement.expected
│ │ │ │ ├── getanaffectedelement.ql
│ │ │ │ ├── header1.h
│ │ │ │ ├── header2.h
│ │ │ │ ├── in_class.h
│ │ │ │ ├── in_function.h
│ │ │ │ ├── macroinvocations.cpp
│ │ │ │ ├── macroinvocations.expected
│ │ │ │ ├── macroinvocations.ql
│ │ │ │ └── nested.h
│ │ │ ├── pragma
│ │ │ │ ├── pragma.expected
│ │ │ │ ├── pragma.ql
│ │ │ │ └── test.c
│ │ │ └── preprocessor
│ │ │ │ ├── a.h
│ │ │ │ ├── more_headers
│ │ │ │ └── a.h
│ │ │ │ ├── pp.cpp
│ │ │ │ ├── pp.h
│ │ │ │ ├── preproc.expected
│ │ │ │ └── preproc.ql
│ │ ├── proxy_class
│ │ │ ├── is_proxy_class_for.expected
│ │ │ ├── is_proxy_class_for.ql
│ │ │ ├── locations.expected
│ │ │ ├── locations.ql
│ │ │ └── proxy_class.cpp
│ │ ├── ptr_to_member
│ │ │ └── segfault
│ │ │ │ ├── exprs.expected
│ │ │ │ ├── exprs.ql
│ │ │ │ └── segfault.cpp
│ │ ├── qualifiers
│ │ │ └── class-enum
│ │ │ │ ├── decls.expected
│ │ │ │ ├── decls.ql
│ │ │ │ ├── expr.expected
│ │ │ │ ├── expr.ql
│ │ │ │ └── test.cpp
│ │ ├── question_mark_colon
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ ├── question_mark_colon.c
│ │ │ ├── ternary.expected
│ │ │ └── ternary.ql
│ │ ├── range_based_for
│ │ │ ├── range_based_for.expected
│ │ │ ├── range_based_for.ql
│ │ │ └── test.cpp
│ │ ├── rangeanalysis
│ │ │ ├── RangeSSA
│ │ │ │ ├── RangeSsaCompleteness.expected
│ │ │ │ ├── RangeSsaCompleteness.ql
│ │ │ │ ├── RangeSsaCorrespondence.expected
│ │ │ │ ├── RangeSsaCorrespondence.ql
│ │ │ │ ├── RangeSsaDefUsePairs.expected
│ │ │ │ ├── RangeSsaDefUsePairs.ql
│ │ │ │ ├── RangeSsaDefinedByParameter.expected
│ │ │ │ ├── RangeSsaDefinedByParameter.ql
│ │ │ │ ├── RangeSsaDominance.expected
│ │ │ │ ├── RangeSsaDominance.ql
│ │ │ │ ├── RangeSsaPhiInputs.expected
│ │ │ │ ├── RangeSsaPhiInputs.ql
│ │ │ │ ├── RangeSsaUniqueness.expected
│ │ │ │ ├── RangeSsaUniqueness.ql
│ │ │ │ ├── test.c
│ │ │ │ └── test.cpp
│ │ │ └── SimpleRangeAnalysis
│ │ │ │ ├── inline_assembly.c
│ │ │ │ ├── lowerBound.expected
│ │ │ │ ├── lowerBound.ql
│ │ │ │ ├── minmax.c
│ │ │ │ ├── ternaryLower.expected
│ │ │ │ ├── ternaryLower.ql
│ │ │ │ ├── ternaryUpper.expected
│ │ │ │ ├── ternaryUpper.ql
│ │ │ │ ├── test.c
│ │ │ │ ├── test.cpp
│ │ │ │ ├── upperBound.expected
│ │ │ │ └── upperBound.ql
│ │ ├── reachability
│ │ │ ├── reachability.c
│ │ │ ├── reachability.expected
│ │ │ └── reachability.ql
│ │ ├── rvalueCast
│ │ │ ├── default.cpp
│ │ │ ├── diag.expected
│ │ │ ├── diag.ql
│ │ │ ├── disabled.cpp
│ │ │ ├── enabled.cpp
│ │ │ ├── rvalueCast.expected
│ │ │ └── rvalueCast.ql
│ │ ├── rvaluerefs
│ │ │ ├── rvaluerefs.cpp
│ │ │ ├── xargs.expected
│ │ │ └── xargs.ql
│ │ ├── sal
│ │ │ ├── sal.expected
│ │ │ ├── sal.h
│ │ │ ├── sal.ql
│ │ │ └── test.cpp
│ │ ├── scanf
│ │ │ ├── ms.cpp
│ │ │ ├── scanfFormatLiteral.expected
│ │ │ ├── scanfFormatLiteral.ql
│ │ │ ├── scanfFunctionCall.expected
│ │ │ ├── scanfFunctionCall.ql
│ │ │ └── test.c
│ │ ├── scopes
│ │ │ ├── includes
│ │ │ │ ├── a.cpp
│ │ │ │ ├── b.cpp
│ │ │ │ ├── function_info.expected
│ │ │ │ ├── function_info.ql
│ │ │ │ ├── h.h
│ │ │ │ ├── h2.h
│ │ │ │ └── h3.h
│ │ │ ├── parents
│ │ │ │ ├── parents.cpp
│ │ │ │ ├── parents.expected
│ │ │ │ └── parents.ql
│ │ │ └── scopes
│ │ │ │ ├── Scopes1.expected
│ │ │ │ ├── Scopes1.ql
│ │ │ │ ├── Scopes2.expected
│ │ │ │ ├── Scopes2.ql
│ │ │ │ ├── Scopes3.expected
│ │ │ │ ├── Scopes3.ql
│ │ │ │ ├── Scopes4.expected
│ │ │ │ ├── Scopes4.ql
│ │ │ │ ├── Scopes5.expected
│ │ │ │ ├── Scopes5.ql
│ │ │ │ └── scopes.cpp
│ │ ├── security
│ │ │ └── encryption
│ │ │ │ ├── test.cpp
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ ├── sideEffects
│ │ │ ├── exprs
│ │ │ │ ├── exprs.c
│ │ │ │ ├── exprs.cpp
│ │ │ │ ├── exprs.expected
│ │ │ │ └── exprs.ql
│ │ │ ├── functions
│ │ │ │ ├── cpp.cpp
│ │ │ │ ├── error.cpp
│ │ │ │ ├── sideEffects.c
│ │ │ │ ├── sideEffects.expected
│ │ │ │ ├── sideEffects.ql
│ │ │ │ └── templates.cpp
│ │ │ └── stmts
│ │ │ │ ├── stmts.c
│ │ │ │ ├── stmts.cpp
│ │ │ │ ├── stmts.expected
│ │ │ │ └── stmts.ql
│ │ ├── special_members
│ │ │ ├── detect
│ │ │ │ ├── detect.cpp
│ │ │ │ ├── detect.expected
│ │ │ │ └── detect.ql
│ │ │ └── generated_copy
│ │ │ │ ├── assign.expected
│ │ │ │ ├── assign.ql
│ │ │ │ ├── copy.cpp
│ │ │ │ ├── ctor.expected
│ │ │ │ ├── ctor.ql
│ │ │ │ ├── functions.expected
│ │ │ │ └── functions.ql
│ │ ├── specifiers
│ │ │ ├── Specifiers1.expected
│ │ │ ├── Specifiers1.ql
│ │ │ ├── Specifiers2.expected
│ │ │ ├── Specifiers2.ql
│ │ │ ├── Specifiers3.expected
│ │ │ ├── Specifiers3.ql
│ │ │ └── specifiers.cpp
│ │ ├── specifiers2
│ │ │ ├── cpp20.cpp
│ │ │ ├── specifiers2.c
│ │ │ ├── specifiers2.expected
│ │ │ ├── specifiers2.ql
│ │ │ ├── specifiers2d.expected
│ │ │ ├── specifiers2d.ql
│ │ │ └── specifiers2pp.cpp
│ │ ├── specifiers3
│ │ │ ├── structs.c
│ │ │ ├── unspecified_member_var_types.expected
│ │ │ └── unspecified_member_var_types.ql
│ │ ├── static_assert
│ │ │ ├── expr.expected
│ │ │ ├── expr.ql
│ │ │ ├── options
│ │ │ ├── static_assert.cpp
│ │ │ ├── static_assert.expected
│ │ │ └── static_assert.ql
│ │ ├── static_cast
│ │ │ ├── expr.expected
│ │ │ ├── expr.ql
│ │ │ ├── ms.cpp
│ │ │ └── options
│ │ ├── std_layout
│ │ │ ├── test.c
│ │ │ ├── test.cpp
│ │ │ ├── test.expected
│ │ │ └── test.ql
│ │ ├── stmt
│ │ │ ├── break
│ │ │ │ ├── break.expected
│ │ │ │ ├── break.ql
│ │ │ │ ├── continue.expected
│ │ │ │ ├── continue.ql
│ │ │ │ └── test.c
│ │ │ ├── computed_goto
│ │ │ │ ├── computedgoto.c
│ │ │ │ ├── computedgoto.expected
│ │ │ │ ├── computedgoto.ql
│ │ │ │ ├── labelliteral.expected
│ │ │ │ ├── labelliteral.ql
│ │ │ │ ├── labelstmt.expected
│ │ │ │ └── labelstmt.ql
│ │ │ ├── generated_blocks
│ │ │ │ ├── options
│ │ │ │ ├── stmt.expected
│ │ │ │ ├── stmt.ql
│ │ │ │ └── test.c
│ │ │ └── stmt
│ │ │ │ ├── stmt.c
│ │ │ │ ├── stmt.expected
│ │ │ │ └── stmt.ql
│ │ ├── stmt_expr
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── stmt_expr.cpp
│ │ ├── store_pointer_to_member
│ │ │ ├── ast.expected
│ │ │ ├── ast.ql
│ │ │ ├── main.cpp
│ │ │ └── options
│ │ ├── string_analysis
│ │ │ ├── StringAnalysis.expected
│ │ │ ├── StringAnalysis.ql
│ │ │ └── string_analysis.cpp
│ │ ├── string_literals
│ │ │ ├── string_literals.c
│ │ │ ├── string_literals.expected
│ │ │ └── string_literals.ql
│ │ ├── string_literals_nul
│ │ │ ├── string_literals_nul.c
│ │ │ ├── string_literals_nul.expected
│ │ │ └── string_literals_nul.ql
│ │ ├── structs
│ │ │ ├── compatible_c
│ │ │ │ ├── a1.c
│ │ │ │ ├── a2.c
│ │ │ │ ├── b1.c
│ │ │ │ ├── b2.c
│ │ │ │ ├── c1_gnu.c
│ │ │ │ ├── c2_gnu.c
│ │ │ │ ├── compatible.expected
│ │ │ │ ├── compatible.ql
│ │ │ │ ├── compatible_types.expected
│ │ │ │ └── compatible_types.ql
│ │ │ ├── compatible_cpp
│ │ │ │ ├── a1.cpp
│ │ │ │ ├── a2.cpp
│ │ │ │ ├── b1.cpp
│ │ │ │ ├── b2.cpp
│ │ │ │ ├── compatible.expected
│ │ │ │ ├── compatible.ql
│ │ │ │ ├── compatible_types.expected
│ │ │ │ └── compatible_types.ql
│ │ │ ├── compatible_routines
│ │ │ │ ├── a.cpp
│ │ │ │ ├── a.h
│ │ │ │ ├── b.cpp
│ │ │ │ ├── c.cpp
│ │ │ │ ├── compatible.expected
│ │ │ │ ├── compatible.ql
│ │ │ │ └── s.h
│ │ │ ├── compatible_variables
│ │ │ │ ├── a.c
│ │ │ │ ├── b.c
│ │ │ │ ├── h.h
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── incomplete_definition
│ │ │ │ ├── a.h
│ │ │ │ ├── pointerbasetype.expected
│ │ │ │ ├── pointerbasetype.ql
│ │ │ │ ├── x.cpp
│ │ │ │ └── y.cpp
│ │ │ ├── mutual_recursion
│ │ │ │ ├── a.c
│ │ │ │ ├── b.c
│ │ │ │ ├── compatible_members.expected
│ │ │ │ ├── compatible_members.ql
│ │ │ │ ├── compatible_structs.expected
│ │ │ │ └── compatible_structs.ql
│ │ │ ├── qualified_names
│ │ │ │ ├── c1.cpp
│ │ │ │ ├── c2.cpp
│ │ │ │ ├── decls.cpp
│ │ │ │ ├── defs.cpp
│ │ │ │ ├── header.h
│ │ │ │ ├── pointerBaseType.expected
│ │ │ │ └── pointerBaseType.ql
│ │ │ └── structs
│ │ │ │ ├── structs.c
│ │ │ │ ├── structs.cpp
│ │ │ │ ├── structs.expected
│ │ │ │ └── structs.ql
│ │ ├── sub_basic_blocks
│ │ │ ├── cut.expected
│ │ │ ├── cut.ql
│ │ │ ├── getNode.expected
│ │ │ ├── getNode.ql
│ │ │ ├── no_cut.expected
│ │ │ ├── no_cut.ql
│ │ │ ├── sbb_test.qll
│ │ │ └── test.c
│ │ ├── switch
│ │ │ ├── blocks.expected
│ │ │ ├── blocks.ql
│ │ │ ├── switch.c
│ │ │ ├── switch.cpp
│ │ │ ├── switch_gnu99.c
│ │ │ ├── switchcase.expected
│ │ │ ├── switchcase.ql
│ │ │ ├── switchstmt.expected
│ │ │ └── switchstmt.ql
│ │ ├── switch_cfg
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── switch.c
│ │ ├── synchronization
│ │ │ ├── mutextype.expected
│ │ │ ├── mutextype.ql
│ │ │ ├── synchronization.expected
│ │ │ ├── synchronization.ql
│ │ │ ├── test.cpp
│ │ │ └── testoptions.qll
│ │ ├── syntax-zoo
│ │ │ ├── CPP-309.cpp
│ │ │ ├── FunctionTryStmt.cpp
│ │ │ ├── VacuousDestructorCall.cpp
│ │ │ ├── abortingfunctions.cpp
│ │ │ ├── aggregateinitializer.c
│ │ │ ├── aliased_ssa_consistency.expected
│ │ │ ├── aliased_ssa_consistency.qlref
│ │ │ ├── allocators.cpp
│ │ │ ├── array_delete.cpp
│ │ │ ├── assignexpr.cpp
│ │ │ ├── assume0.cpp
│ │ │ ├── bad_asts.cpp
│ │ │ ├── break_labels.c
│ │ │ ├── builtin.c
│ │ │ ├── builtin.cpp
│ │ │ ├── condition_decl_int.cpp
│ │ │ ├── condition_decls.cpp
│ │ │ ├── conditional_destructors.cpp
│ │ │ ├── constmemberaccess.cpp
│ │ │ ├── constructorinitializer.cpp
│ │ │ ├── cpp11.cpp
│ │ │ ├── cpp17.cpp
│ │ │ ├── dataflow-consistency.expected
│ │ │ ├── dataflow-consistency.ql
│ │ │ ├── dataflow-ir-consistency.expected
│ │ │ ├── dataflow-ir-consistency.ql
│ │ │ ├── defconstructornewexpr.cpp
│ │ │ ├── defdestructordeleteexpr.cpp
│ │ │ ├── deleteexpr.cpp
│ │ │ ├── destructors.cpp
│ │ │ ├── dostmt.c
│ │ │ ├── duff.c
│ │ │ ├── duff2.c
│ │ │ ├── dummyblock.c
│ │ │ ├── ellipsisexceptionhandler.cpp
│ │ │ ├── emptyblock.c
│ │ │ ├── enum.c
│ │ │ ├── exceptionhandler.cpp
│ │ │ ├── exprstmt.c
│ │ │ ├── fieldaccess.cpp
│ │ │ ├── forstmt.cpp
│ │ │ ├── gotostmt.c
│ │ │ ├── ifelsestmt.c
│ │ │ ├── ifstmt.c
│ │ │ ├── initializer.c
│ │ │ ├── ir.cpp
│ │ │ ├── landexpr.c
│ │ │ ├── lorexpr.c
│ │ │ ├── ltrbinopexpr.c
│ │ │ ├── membercallexpr.cpp
│ │ │ ├── membercallexpr_args.cpp
│ │ │ ├── misc.c
│ │ │ ├── modeled-functions.cpp
│ │ │ ├── ms_assume.cpp
│ │ │ ├── ms_try_except.cpp
│ │ │ ├── ms_try_mix.cpp
│ │ │ ├── newexpr.cpp
│ │ │ ├── no_dynamic_init.cpp
│ │ │ ├── nodefaultswitchstmt.c
│ │ │ ├── nonmembercallexpr.c
│ │ │ ├── nonmemberfp2callexpr.c
│ │ │ ├── nonmemberfpcallexpr.c
│ │ │ ├── ops.cpp
│ │ │ ├── parameterinitializer.cpp
│ │ │ ├── pmcallexpr.cpp
│ │ │ ├── pointer_to_member.cpp
│ │ │ ├── pruning.c
│ │ │ ├── questionexpr.c
│ │ │ ├── range_analysis.c
│ │ │ ├── raw_consistency.expected
│ │ │ ├── raw_consistency.qlref
│ │ │ ├── rethrow_error.cpp
│ │ │ ├── returnstmt.c
│ │ │ ├── revsubscriptexpr.c
│ │ │ ├── shortforstmt.cpp
│ │ │ ├── statements.cpp
│ │ │ ├── statements.h
│ │ │ ├── static_init_templates.cpp
│ │ │ ├── staticlocals.cpp
│ │ │ ├── staticmembercallexpr.cpp
│ │ │ ├── staticmembercallexpr_args.cpp
│ │ │ ├── stmt_expr.cpp
│ │ │ ├── stmt_in_type.cpp
│ │ │ ├── stream_it.cpp
│ │ │ ├── subscriptexpr.c
│ │ │ ├── switchbody.c
│ │ │ ├── switchstmt.c
│ │ │ ├── test.c
│ │ │ ├── tinyforstmt.c
│ │ │ ├── try_catch.cpp
│ │ │ ├── unaliased_ssa_consistency.expected
│ │ │ ├── unaliased_ssa_consistency.qlref
│ │ │ ├── unaryopexpr.c
│ │ │ ├── vacuous_dtor_call.cpp
│ │ │ ├── vla.c
│ │ │ ├── void_bug.cpp
│ │ │ ├── void_bug.h
│ │ │ └── whilestmt.c
│ │ ├── templates
│ │ │ ├── CPP-172-template-members
│ │ │ │ ├── test.cpp
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── CPP-202
│ │ │ │ ├── template_args.expected
│ │ │ │ ├── template_args.ql
│ │ │ │ └── test.cpp
│ │ │ ├── CPP-203
│ │ │ │ ├── decls.expected
│ │ │ │ ├── decls.ql
│ │ │ │ └── test.cpp
│ │ │ ├── CPP-204
│ │ │ │ ├── element.expected
│ │ │ │ ├── element.ql
│ │ │ │ └── test.cpp
│ │ │ ├── CPP-223
│ │ │ │ ├── decls.expected
│ │ │ │ ├── decls.ql
│ │ │ │ └── test.cpp
│ │ │ ├── ambiguous_cctor
│ │ │ │ ├── ambiguous_cctor.cpp
│ │ │ │ ├── ambiguous_cctor.expected
│ │ │ │ └── ambiguous_cctor.ql
│ │ │ ├── bug
│ │ │ │ ├── ODASA-6115.cpp
│ │ │ │ ├── class.expected
│ │ │ │ ├── class.ql
│ │ │ │ └── test.cpp
│ │ │ ├── decls
│ │ │ │ ├── decls.cpp
│ │ │ │ ├── decls.expected
│ │ │ │ └── decls.ql
│ │ │ ├── dependent_template_alias
│ │ │ │ ├── test.cpp
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── destructors
│ │ │ │ ├── destructors.cpp
│ │ │ │ ├── destructors.expected
│ │ │ │ └── destructors.ql
│ │ │ ├── diagnostics
│ │ │ │ ├── diagnostics.cpp
│ │ │ │ ├── diagnostics.expected
│ │ │ │ ├── diagnostics.ql
│ │ │ │ └── parameter_names.cpp
│ │ │ ├── extern
│ │ │ │ ├── elements.expected
│ │ │ │ ├── elements.ql
│ │ │ │ └── extern.cpp
│ │ │ ├── friends
│ │ │ │ ├── decls.expected
│ │ │ │ ├── decls.ql
│ │ │ │ └── friends.cpp
│ │ │ ├── functions
│ │ │ │ ├── functions.expected
│ │ │ │ ├── functions.ql
│ │ │ │ └── template_functions.cpp
│ │ │ ├── incomplete_instantiations
│ │ │ │ ├── a.cpp
│ │ │ │ ├── b.cpp
│ │ │ │ ├── h.h
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── instantiation_directive
│ │ │ │ ├── functions.expected
│ │ │ │ ├── functions.ql
│ │ │ │ └── test.cpp
│ │ │ ├── instantiations_functions
│ │ │ │ ├── elements.expected
│ │ │ │ ├── elements.ql
│ │ │ │ ├── header.h
│ │ │ │ └── test.cpp
│ │ │ ├── isfromtemplateinstantiation
│ │ │ │ ├── instantiations.expected
│ │ │ │ ├── instantiations.ql
│ │ │ │ ├── isfromtemplateinstantiation.cpp
│ │ │ │ ├── isfromtemplateinstantiation.expected
│ │ │ │ ├── isfromtemplateinstantiation.ql
│ │ │ │ ├── isfromuninstantiatedtemplate.expected
│ │ │ │ ├── isfromuninstantiatedtemplate.ql
│ │ │ │ ├── load.cpp
│ │ │ │ ├── template_is_template.expected
│ │ │ │ └── template_is_template.ql
│ │ │ ├── nontype_instantiations
│ │ │ │ ├── classes
│ │ │ │ │ ├── test.cpp
│ │ │ │ │ ├── test.expected
│ │ │ │ │ └── test.ql
│ │ │ │ ├── functions
│ │ │ │ │ ├── test.cpp
│ │ │ │ │ ├── test.expected
│ │ │ │ │ └── test.ql
│ │ │ │ └── general
│ │ │ │ │ ├── test.cpp
│ │ │ │ │ ├── test.expected
│ │ │ │ │ └── test.ql
│ │ │ ├── prototype_bodies
│ │ │ │ ├── add_expr.expected
│ │ │ │ ├── add_expr.ql
│ │ │ │ ├── call_operands.expected
│ │ │ │ ├── call_operands.ql
│ │ │ │ ├── initialiser.expected
│ │ │ │ ├── initialiser.ql
│ │ │ │ ├── isdef_hasblock.expected
│ │ │ │ ├── isdef_hasblock.ql
│ │ │ │ └── main.cpp
│ │ │ ├── segfault
│ │ │ │ ├── segfault.cpp
│ │ │ │ ├── vars.expected
│ │ │ │ └── vars.ql
│ │ │ ├── segfault2
│ │ │ │ ├── expr.expected
│ │ │ │ ├── expr.ql
│ │ │ │ └── test.cpp
│ │ │ ├── switch
│ │ │ │ ├── test.cpp
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── type_instantiations
│ │ │ │ ├── test.cpp
│ │ │ │ ├── test.h
│ │ │ │ ├── types.expected
│ │ │ │ └── types.ql
│ │ │ ├── typedefs
│ │ │ │ ├── template_typedefs.cpp
│ │ │ │ ├── template_typedefs.expected
│ │ │ │ └── template_typedefs.ql
│ │ │ └── variables
│ │ │ │ ├── options
│ │ │ │ ├── template_variables.expected
│ │ │ │ ├── template_variables.ql
│ │ │ │ └── variables.cpp
│ │ ├── ti_compiler
│ │ │ ├── function.expected
│ │ │ ├── function.ql
│ │ │ ├── options
│ │ │ ├── ti.c
│ │ │ ├── variable.expected
│ │ │ └── variable.ql
│ │ ├── type_sizes
│ │ │ ├── a.cpp
│ │ │ ├── options
│ │ │ ├── type_sizes.expected
│ │ │ └── type_sizes.ql
│ │ ├── type_strings
│ │ │ ├── exprs.expected
│ │ │ ├── exprs.ql
│ │ │ ├── ms_types.cpp
│ │ │ ├── type_strings.cpp
│ │ │ ├── type_strings.expected
│ │ │ └── type_strings.ql
│ │ ├── typedefs
│ │ │ ├── ODASA-6095-A.hpp
│ │ │ ├── ODASA-6095-B.hpp
│ │ │ ├── ODASA-6095.cpp
│ │ │ ├── ODASA-6095.expected
│ │ │ ├── ODASA-6095.ql
│ │ │ ├── Typedefs1.expected
│ │ │ ├── Typedefs1.ql
│ │ │ ├── Typedefs2.expected
│ │ │ ├── Typedefs2.ql
│ │ │ ├── Typedefs3.expected
│ │ │ ├── Typedefs3.ql
│ │ │ └── typedefs.cpp
│ │ ├── typename
│ │ │ ├── typename.cpp
│ │ │ ├── typename.expected
│ │ │ └── typename.ql
│ │ ├── types
│ │ │ ├── __wchar_t
│ │ │ │ ├── ms.cpp
│ │ │ │ ├── options
│ │ │ │ ├── wchar_t.expected
│ │ │ │ └── wchar_t.ql
│ │ │ ├── alignof
│ │ │ │ ├── alignof.cpp
│ │ │ │ ├── alignof.expected
│ │ │ │ └── alignof.ql
│ │ │ ├── error
│ │ │ │ ├── exprs.expected
│ │ │ │ ├── exprs.ql
│ │ │ │ └── test.cpp
│ │ │ ├── integral_types
│ │ │ │ ├── integral_type.expected
│ │ │ │ ├── integral_type.ql
│ │ │ │ └── integral_types.cpp
│ │ │ ├── integral_types_ms
│ │ │ │ ├── integral_type.expected
│ │ │ │ ├── integral_type.qlref
│ │ │ │ ├── integral_types.cpp
│ │ │ │ ├── options
│ │ │ │ ├── vars.expected
│ │ │ │ └── vars.ql
│ │ │ ├── pointertypes
│ │ │ │ ├── options
│ │ │ │ ├── pointertypes.c
│ │ │ │ ├── pointertypes.expected
│ │ │ │ └── pointertypes.ql
│ │ │ ├── refersTo
│ │ │ │ ├── refersTo.cpp
│ │ │ │ ├── refersTo.expected
│ │ │ │ └── refersTo.ql
│ │ │ ├── scope
│ │ │ │ ├── expr.expected
│ │ │ │ ├── expr.ql
│ │ │ │ ├── scope.c
│ │ │ │ └── scope.cpp
│ │ │ ├── segfault
│ │ │ │ ├── segfault.c
│ │ │ │ ├── vars.expected
│ │ │ │ └── vars.ql
│ │ │ ├── sizeof
│ │ │ │ ├── sizeof.cpp
│ │ │ │ ├── sizeof.expected
│ │ │ │ └── sizeof.ql
│ │ │ ├── typeid
│ │ │ │ ├── typeid.cpp
│ │ │ │ ├── typeid.expected
│ │ │ │ └── typeid.ql
│ │ │ ├── types
│ │ │ │ ├── Types.expected
│ │ │ │ ├── Types.ql
│ │ │ │ ├── options
│ │ │ │ └── types.cpp
│ │ │ ├── unspecified
│ │ │ │ ├── exprs.expected
│ │ │ │ ├── exprs.ql
│ │ │ │ └── test.cpp
│ │ │ └── wchar_t_typedef
│ │ │ │ ├── ms.c
│ │ │ │ ├── options
│ │ │ │ ├── wchar_t.expected
│ │ │ │ └── wchar_t.ql
│ │ ├── udl
│ │ │ ├── options
│ │ │ ├── udl.cpp
│ │ │ ├── udl.expected
│ │ │ └── udl.ql
│ │ ├── unions
│ │ │ ├── Unions1.expected
│ │ │ ├── Unions1.ql
│ │ │ ├── options
│ │ │ └── unions.cpp
│ │ ├── unnamed
│ │ │ ├── elements.expected
│ │ │ ├── elements.ql
│ │ │ └── test.c
│ │ ├── unspecified_type
│ │ │ ├── types
│ │ │ │ ├── types.cpp
│ │ │ │ ├── unspecified_type.expected
│ │ │ │ └── unspecified_type.ql
│ │ │ └── unspecified_type
│ │ │ │ ├── strip_top_level.expected
│ │ │ │ ├── strip_top_level.ql
│ │ │ │ ├── unspecified_type.cpp
│ │ │ │ ├── unspecified_type.expected
│ │ │ │ └── unspecified_type.ql
│ │ ├── using-aliases
│ │ │ ├── using-alias.cpp
│ │ │ ├── using-alias.expected
│ │ │ └── using-alias.ql
│ │ ├── usings
│ │ │ ├── Usings1.expected
│ │ │ ├── Usings1.ql
│ │ │ ├── templates.cpp
│ │ │ └── usings.cpp
│ │ ├── valuenumbering
│ │ │ ├── GlobalValueNumbering
│ │ │ │ ├── ast_gvn.expected
│ │ │ │ ├── ast_gvn.ql
│ │ │ │ ├── ast_ir_gvn.expected
│ │ │ │ ├── ast_ir_gvn.ql
│ │ │ │ ├── ast_uniqueness.expected
│ │ │ │ ├── ast_uniqueness.ql
│ │ │ │ ├── diff_ir_expr.expected
│ │ │ │ ├── diff_ir_expr.ql
│ │ │ │ ├── ir_gvn.expected
│ │ │ │ ├── ir_gvn.ql
│ │ │ │ ├── ir_uniqueness.expected
│ │ │ │ ├── ir_uniqueness.ql
│ │ │ │ └── test.cpp
│ │ │ └── HashCons
│ │ │ │ ├── HashCons.expected
│ │ │ │ ├── HashCons.ql
│ │ │ │ ├── Uniqueness.expected
│ │ │ │ ├── Uniqueness.ql
│ │ │ │ └── test.cpp
│ │ ├── variables
│ │ │ ├── constexpr
│ │ │ │ ├── constexpr.cpp
│ │ │ │ ├── constexpr.expected
│ │ │ │ └── constexpr.ql
│ │ │ ├── getanassignedvalue
│ │ │ │ ├── getanassignedvalue.expected
│ │ │ │ ├── getanassignedvalue.ql
│ │ │ │ └── test.cpp
│ │ │ ├── global
│ │ │ │ ├── a.c
│ │ │ │ ├── a.h
│ │ │ │ ├── b.c
│ │ │ │ ├── vardecl.expected
│ │ │ │ ├── vardecl.ql
│ │ │ │ ├── variables.expected
│ │ │ │ └── variables.ql
│ │ │ ├── thread_local
│ │ │ │ ├── thread_local.cpp
│ │ │ │ ├── thread_local.expected
│ │ │ │ └── thread_local.ql
│ │ │ └── variables
│ │ │ │ ├── structs.expected
│ │ │ │ ├── structs.ql
│ │ │ │ ├── types.expected
│ │ │ │ ├── types.ql
│ │ │ │ ├── variable.expected
│ │ │ │ ├── variable.ql
│ │ │ │ └── variables.cpp
│ │ ├── vector_sizes
│ │ │ ├── code.c
│ │ │ ├── test.expected
│ │ │ └── test.ql
│ │ ├── vector_types
│ │ │ ├── builtin_ops.expected
│ │ │ ├── builtin_ops.ql
│ │ │ ├── builtins.expected
│ │ │ ├── builtins.ql
│ │ │ ├── fill.expected
│ │ │ ├── fill.ql
│ │ │ ├── options
│ │ │ ├── subscripting.expected
│ │ │ ├── subscripting.ql
│ │ │ ├── variables.expected
│ │ │ ├── variables.ql
│ │ │ ├── vector_ops.expected
│ │ │ ├── vector_ops.ql
│ │ │ └── vector_types.cpp
│ │ ├── virtual_functions
│ │ │ ├── cfg
│ │ │ │ ├── cfg.expected
│ │ │ │ ├── cfg.ql
│ │ │ │ └── virtual.cpp
│ │ │ └── virtual_functions
│ │ │ │ ├── VirtualFunctions4.expected
│ │ │ │ ├── VirtualFunctions4.ql
│ │ │ │ ├── classes.expected
│ │ │ │ ├── classes.ql
│ │ │ │ └── virtual_functions.cpp
│ │ └── vla
│ │ │ ├── blocks.expected
│ │ │ ├── blocks.ql
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ ├── declstmt.expected
│ │ │ ├── declstmt.ql
│ │ │ ├── type.expected
│ │ │ ├── type.ql
│ │ │ ├── variable.expected
│ │ │ ├── variable.ql
│ │ │ ├── vds.expected
│ │ │ ├── vds.ql
│ │ │ └── vla.c
│ │ ├── qlpack.yml
│ │ ├── queries.xml
│ │ ├── query-tests
│ │ ├── AlertSuppression
│ │ │ ├── .gitattributes
│ │ │ ├── AlertSuppression.expected
│ │ │ ├── AlertSuppression.qlref
│ │ │ ├── tst.c
│ │ │ └── tstWindows.c
│ │ ├── Architecture
│ │ │ ├── FeatureEnvy
│ │ │ │ ├── FeatureEnvy.expected
│ │ │ │ ├── FeatureEnvy.qlref
│ │ │ │ ├── a.cpp
│ │ │ │ ├── b.cpp
│ │ │ │ └── b.h
│ │ │ ├── InappropriateIntimacy
│ │ │ │ ├── InappropriateIntimacy.expected
│ │ │ │ ├── InappropriateIntimacy.qlref
│ │ │ │ ├── a.c
│ │ │ │ ├── a.h
│ │ │ │ ├── b.c
│ │ │ │ ├── b.h
│ │ │ │ ├── c.cpp
│ │ │ │ ├── c.h
│ │ │ │ ├── d.cpp
│ │ │ │ └── d.h
│ │ │ └── Refactoring Opportunities
│ │ │ │ ├── ClassesWithManyFields
│ │ │ │ ├── cwmf.cpp
│ │ │ │ ├── cwmf.expected
│ │ │ │ ├── cwmf.qlref
│ │ │ │ ├── different_types.h
│ │ │ │ ├── different_types_a.cpp
│ │ │ │ └── different_types_b.cpp
│ │ │ │ └── ComplexFunctions
│ │ │ │ ├── ComplexFunctions.expected
│ │ │ │ ├── ComplexFunctions.qlref
│ │ │ │ └── complex.c
│ │ ├── Best Practices
│ │ │ ├── Hiding
│ │ │ │ ├── DeclarationHidesParameter
│ │ │ │ │ ├── DeclarationHidesParameter.expected
│ │ │ │ │ ├── DeclarationHidesParameter.qlref
│ │ │ │ │ ├── hiding.cpp
│ │ │ │ │ └── hiding.h
│ │ │ │ ├── DeclarationHidesVariable
│ │ │ │ │ ├── DeclarationHidesVariable.expected
│ │ │ │ │ ├── DeclarationHidesVariable.qlref
│ │ │ │ │ └── hiding.cpp
│ │ │ │ └── LocalVariableHidesGlobalVariable
│ │ │ │ │ ├── DeclarationHidesVariable.expected
│ │ │ │ │ ├── DeclarationHidesVariable.qlref
│ │ │ │ │ ├── Hiding.c
│ │ │ │ │ ├── LocalVariableHidesGlobalVariable.expected
│ │ │ │ │ └── LocalVariableHidesGlobalVariable.qlref
│ │ │ ├── Likely Errors
│ │ │ │ ├── EmptyBlock
│ │ │ │ │ ├── EmptyBlock.expected
│ │ │ │ │ ├── EmptyBlock.qlref
│ │ │ │ │ └── empty_block.cpp
│ │ │ │ ├── OffsetUseBeforeRangeCheck
│ │ │ │ │ ├── OffsetUseBeforeRangeCheck.expected
│ │ │ │ │ ├── OffsetUseBeforeRangeCheck.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ └── Slicing
│ │ │ │ │ ├── Slicing.expected
│ │ │ │ │ ├── Slicing.qlref
│ │ │ │ │ └── test.cpp
│ │ │ ├── Magic Constants
│ │ │ │ ├── Japanese Era
│ │ │ │ │ ├── ConstructorOrMethodWithExactDate.cpp
│ │ │ │ │ ├── JapaneseEraDate.expected
│ │ │ │ │ ├── JapaneseEraDate.qlref
│ │ │ │ │ └── StructWithExactDate.cpp
│ │ │ │ ├── MagicConstantsNumbers
│ │ │ │ │ ├── MagicConstantsNumbers.expected
│ │ │ │ │ ├── MagicConstantsNumbers.qlref
│ │ │ │ │ ├── a123.c
│ │ │ │ │ ├── b123.c
│ │ │ │ │ ├── c123.c
│ │ │ │ │ ├── case.c
│ │ │ │ │ ├── constants.h
│ │ │ │ │ ├── d123.c
│ │ │ │ │ ├── e123.c
│ │ │ │ │ ├── functions.h
│ │ │ │ │ ├── templates.cpp
│ │ │ │ │ ├── test.c
│ │ │ │ │ └── test.cpp
│ │ │ │ └── MagicConstantsString
│ │ │ │ │ ├── MagicConstantsString.expected
│ │ │ │ │ ├── MagicConstantsString.qlref
│ │ │ │ │ ├── constants.h
│ │ │ │ │ ├── joining.cpp
│ │ │ │ │ └── test.c
│ │ │ ├── RuleOfTwo
│ │ │ │ ├── RuleOfTwo.cpp
│ │ │ │ ├── RuleOfTwo.expected
│ │ │ │ └── RuleOfTwo.qlref
│ │ │ ├── SloppyGlobal
│ │ │ │ ├── SloppyGlobal.expected
│ │ │ │ ├── SloppyGlobal.qlref
│ │ │ │ └── main.cpp
│ │ │ └── Unused Entities
│ │ │ │ ├── UnusedIncludes
│ │ │ │ ├── a.h
│ │ │ │ ├── b.h
│ │ │ │ ├── c.h
│ │ │ │ ├── d.hpp
│ │ │ │ ├── e.hpp
│ │ │ │ ├── f.fwd.hpp
│ │ │ │ ├── g
│ │ │ │ ├── unusedIncludes.cpp
│ │ │ │ ├── unusedIncludes.expected
│ │ │ │ └── unusedIncludes.qlref
│ │ │ │ ├── UnusedLocals
│ │ │ │ ├── UnusedLocals.expected
│ │ │ │ ├── UnusedLocals.qlref
│ │ │ │ ├── code.c
│ │ │ │ ├── code.cpp
│ │ │ │ ├── code2.cpp
│ │ │ │ └── errors.c
│ │ │ │ ├── UnusedStaticFunctions
│ │ │ │ ├── UnusedStaticFunctions.expected
│ │ │ │ ├── UnusedStaticFunctions.qlref
│ │ │ │ ├── unused_functions.c
│ │ │ │ ├── unused_mut.c
│ │ │ │ ├── unused_static_functions.cpp
│ │ │ │ └── used_by_var_ref.c
│ │ │ │ └── UnusedStaticVariables
│ │ │ │ ├── UnusedStaticVariables.expected
│ │ │ │ ├── UnusedStaticVariables.qlref
│ │ │ │ └── test.cpp
│ │ ├── Critical
│ │ │ ├── DeadCodeFunction
│ │ │ │ ├── DeadCodeFunction.expected
│ │ │ │ ├── DeadCodeFunction.qlref
│ │ │ │ └── test.cpp
│ │ │ ├── DeadCodeGoto
│ │ │ │ ├── DeadCodeGoto.expected
│ │ │ │ ├── DeadCodeGoto.qlref
│ │ │ │ └── test.cpp
│ │ │ ├── FileClosed
│ │ │ │ ├── FileMayNotBeClosed.expected
│ │ │ │ ├── FileMayNotBeClosed.qlref
│ │ │ │ ├── FileNeverClosed.expected
│ │ │ │ ├── FileNeverClosed.qlref
│ │ │ │ └── file.c
│ │ │ ├── LargeParameter
│ │ │ │ ├── LargeParameter.expected
│ │ │ │ ├── LargeParameter.qlref
│ │ │ │ └── test.cpp
│ │ │ ├── MemoryFreed
│ │ │ │ ├── MemoryFreed.expected
│ │ │ │ ├── MemoryFreed.ql
│ │ │ │ ├── MemoryMayNotBeFreed.expected
│ │ │ │ ├── MemoryMayNotBeFreed.qlref
│ │ │ │ ├── MemoryNeverFreed.expected
│ │ │ │ ├── MemoryNeverFreed.qlref
│ │ │ │ ├── my_auto_ptr.cpp
│ │ │ │ ├── test.cpp
│ │ │ │ └── virtual.cpp
│ │ │ ├── MissingNullTest
│ │ │ │ ├── MissingNullTest.expected
│ │ │ │ ├── MissingNullTest.qlref
│ │ │ │ └── test.cpp
│ │ │ ├── NewFree
│ │ │ │ ├── NewArrayDeleteMismatch.expected
│ │ │ │ ├── NewArrayDeleteMismatch.qlref
│ │ │ │ ├── NewDeleteArrayMismatch.expected
│ │ │ │ ├── NewDeleteArrayMismatch.qlref
│ │ │ │ ├── NewFreeMismatch.expected
│ │ │ │ ├── NewFreeMismatch.qlref
│ │ │ │ ├── options
│ │ │ │ ├── test.cpp
│ │ │ │ └── test2.cpp
│ │ │ ├── OverflowCalculated
│ │ │ │ ├── NoSpaceForZeroTerminator.expected
│ │ │ │ ├── NoSpaceForZeroTerminator.qlref
│ │ │ │ ├── OverflowCalculated.expected
│ │ │ │ ├── OverflowCalculated.qlref
│ │ │ │ ├── tests1.cpp
│ │ │ │ ├── tests2.cpp
│ │ │ │ └── tests3.cpp
│ │ │ ├── OverflowStatic
│ │ │ │ ├── OverflowStatic.expected
│ │ │ │ ├── OverflowStatic.qlref
│ │ │ │ ├── test.c
│ │ │ │ ├── test.cpp
│ │ │ │ └── test2.c
│ │ │ ├── ReturnValueIgnored
│ │ │ │ ├── ReturnValueIgnored.expected
│ │ │ │ ├── ReturnValueIgnored.qlref
│ │ │ │ └── test.cpp
│ │ │ ├── SizeCheck
│ │ │ │ ├── SizeCheck.expected
│ │ │ │ ├── SizeCheck.qlref
│ │ │ │ ├── SizeCheck2.expected
│ │ │ │ ├── SizeCheck2.qlref
│ │ │ │ ├── test.c
│ │ │ │ └── test2.c
│ │ │ └── UnsafeUseOfThis
│ │ │ │ ├── UnsafeUseOfThis.expected
│ │ │ │ ├── UnsafeUseOfThis.qlref
│ │ │ │ └── test.cpp
│ │ ├── Documentation
│ │ │ ├── CommentedOutCode
│ │ │ │ ├── CommentedOutCode.expected
│ │ │ │ ├── CommentedOutCode.qlref
│ │ │ │ ├── config.h
│ │ │ │ ├── emacs_folding.c
│ │ │ │ ├── test.c
│ │ │ │ └── test2.cpp
│ │ │ ├── DocumentApi
│ │ │ │ ├── DocumentApi.expected
│ │ │ │ ├── DocumentApi.qlref
│ │ │ │ ├── comment_prototypes.c
│ │ │ │ ├── comment_prototypes.h
│ │ │ │ ├── comment_prototypes_caller1.c
│ │ │ │ ├── comment_prototypes_caller2.c
│ │ │ │ ├── definition.c
│ │ │ │ ├── user1.c
│ │ │ │ └── user2.c
│ │ │ └── TodoComments
│ │ │ │ ├── .gitattributes
│ │ │ │ ├── FixmeComments.expected
│ │ │ │ ├── FixmeComments.qlref
│ │ │ │ ├── TodoComments.expected
│ │ │ │ ├── TodoComments.qlref
│ │ │ │ ├── todo.c
│ │ │ │ └── todo_fixme.cpp
│ │ ├── Header Cleanup
│ │ │ └── Cleanup-DuplicateIncludeGuard
│ │ │ │ ├── Cleanup-DuplicateIncludeGuard.expected
│ │ │ │ ├── Cleanup-DuplicateIncludeGuard.qlref
│ │ │ │ ├── header1.h
│ │ │ │ ├── header2.h
│ │ │ │ ├── header3.h
│ │ │ │ ├── header4.h
│ │ │ │ ├── header6.h
│ │ │ │ ├── header7.h
│ │ │ │ ├── main.c
│ │ │ │ └── subfolder
│ │ │ │ ├── header4.h
│ │ │ │ └── header5.h
│ │ ├── JPL_C
│ │ │ ├── LOC-3
│ │ │ │ ├── Rule 13
│ │ │ │ │ ├── LimitedScopeFile
│ │ │ │ │ │ ├── LimitedScopeFile.expected
│ │ │ │ │ │ ├── LimitedScopeFile.qlref
│ │ │ │ │ │ ├── file1.c
│ │ │ │ │ │ ├── file1.h
│ │ │ │ │ │ └── file2.c
│ │ │ │ │ └── LimitedScopeFunction
│ │ │ │ │ │ ├── LimitedScopeFunction.expected
│ │ │ │ │ │ ├── LimitedScopeFunction.qlref
│ │ │ │ │ │ ├── test.c
│ │ │ │ │ │ └── test.h
│ │ │ │ └── Rule 17
│ │ │ │ │ ├── BasicIntTypes.expected
│ │ │ │ │ ├── BasicIntTypes.qlref
│ │ │ │ │ └── test.c
│ │ │ └── LOC-4
│ │ │ │ ├── Rule 29
│ │ │ │ └── NonConstFunctionPointer
│ │ │ │ │ ├── NonConstFunctionPointer.expected
│ │ │ │ │ ├── NonConstFunctionPointer.qlref
│ │ │ │ │ └── test.c
│ │ │ │ └── Rule 30
│ │ │ │ └── FunctionPointerConversions
│ │ │ │ ├── FunctionPointerConversions.expected
│ │ │ │ ├── FunctionPointerConversions.qlref
│ │ │ │ └── test.c
│ │ ├── Likely Bugs
│ │ │ ├── AmbiguouslySignedBitField
│ │ │ │ ├── AmbiguouslySignedBitField.expected
│ │ │ │ ├── AmbiguouslySignedBitField.qlref
│ │ │ │ └── test.cpp
│ │ │ ├── Arithmetic
│ │ │ │ ├── BadAdditionOverflowCheck
│ │ │ │ │ ├── BadAdditionOverflowCheck.expected
│ │ │ │ │ ├── BadAdditionOverflowCheck.qlref
│ │ │ │ │ ├── ComparisonWithCancelingSubExpr.expected
│ │ │ │ │ ├── ComparisonWithCancelingSubExpr.qlref
│ │ │ │ │ ├── PointlessSelfComparison.expected
│ │ │ │ │ ├── PointlessSelfComparison.qlref
│ │ │ │ │ ├── SignedOverflowCheck.cpp
│ │ │ │ │ ├── SignedOverflowCheck.expected
│ │ │ │ │ ├── SignedOverflowCheck.qlref
│ │ │ │ │ ├── templates.cpp
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── BadCheckOdd
│ │ │ │ │ ├── BadCheckOdd.expected
│ │ │ │ │ ├── BadCheckOdd.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── BitwiseSignCheck
│ │ │ │ │ ├── BitwiseSignCheck.expected
│ │ │ │ │ ├── BitwiseSignCheck.qlref
│ │ │ │ │ └── bsc.cpp
│ │ │ │ ├── ComparisonPrecedence
│ │ │ │ │ ├── ComparisonPrecedence.expected
│ │ │ │ │ ├── ComparisonPrecedence.qlref
│ │ │ │ │ ├── template.cpp
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── FloatComparison
│ │ │ │ │ ├── FloatComparison.expected
│ │ │ │ │ ├── FloatComparison.qlref
│ │ │ │ │ └── c.c
│ │ │ │ ├── IntMultToLong
│ │ │ │ │ ├── IntMultToLong.c
│ │ │ │ │ ├── IntMultToLong.cpp
│ │ │ │ │ ├── IntMultToLong.expected
│ │ │ │ │ └── IntMultToLong.qlref
│ │ │ │ ├── PointlessComparison
│ │ │ │ │ ├── ConstVirtual.cpp
│ │ │ │ │ ├── PointlessComparison.c
│ │ │ │ │ ├── PointlessComparison.cpp
│ │ │ │ │ ├── PointlessComparison.expected
│ │ │ │ │ ├── PointlessComparison.qlref
│ │ │ │ │ ├── RegressionTests.cpp
│ │ │ │ │ ├── Templates.cpp
│ │ │ │ │ ├── UnsignedGEZero.expected
│ │ │ │ │ └── UnsignedGEZero.qlref
│ │ │ │ └── UnsignedGEZero
│ │ │ │ │ ├── Templates.cpp
│ │ │ │ │ ├── UnsignedGEZero.c
│ │ │ │ │ ├── UnsignedGEZero.cpp
│ │ │ │ │ ├── UnsignedGEZero.expected
│ │ │ │ │ ├── UnsignedGEZero.qlref
│ │ │ │ │ └── assert.h
│ │ │ ├── ContinueInFalseLoop
│ │ │ │ ├── ContinueInFalseLoop.expected
│ │ │ │ ├── ContinueInFalseLoop.qlref
│ │ │ │ └── test.cpp
│ │ │ ├── Conversion
│ │ │ │ ├── ArrayArgSizeMismatch
│ │ │ │ │ ├── ArrayArgSizeMismatch.expected
│ │ │ │ │ ├── ArrayArgSizeMismatch.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── CastArrayPointerArithmetic
│ │ │ │ │ ├── CastArrayPointerArithmetic.expected
│ │ │ │ │ ├── CastArrayPointerArithmetic.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── ImplicitDowncastFromBitfield
│ │ │ │ │ ├── ImplicitDowncastFromBitfield.expected
│ │ │ │ │ ├── ImplicitDowncastFromBitfield.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ └── LossyFunctionResultCast
│ │ │ │ │ ├── ImplicitDowncastFromBitfield.expected
│ │ │ │ │ ├── ImplicitDowncastFromBitfield.qlref
│ │ │ │ │ └── test.cpp
│ │ │ ├── Format
│ │ │ │ ├── NonConstantFormat
│ │ │ │ │ ├── NonConstantFormat.c
│ │ │ │ │ ├── NonConstantFormat.expected
│ │ │ │ │ ├── NonConstantFormat.qlref
│ │ │ │ │ ├── a.c
│ │ │ │ │ ├── b.c
│ │ │ │ │ ├── nested.cpp
│ │ │ │ │ ├── performance.c
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── SnprintfOverflow
│ │ │ │ │ ├── SnprintfOverflow.expected
│ │ │ │ │ ├── SnprintfOverflow.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── WrongNumberOfFormatArguments
│ │ │ │ │ ├── TooManyFormatArguments.expected
│ │ │ │ │ ├── TooManyFormatArguments.qlref
│ │ │ │ │ ├── WrongNumberOfFormatArguments.expected
│ │ │ │ │ ├── WrongNumberOfFormatArguments.qlref
│ │ │ │ │ ├── a.c
│ │ │ │ │ ├── b.c
│ │ │ │ │ ├── c.c
│ │ │ │ │ ├── custom_printf.cpp
│ │ │ │ │ ├── macros.cpp
│ │ │ │ │ └── test.c
│ │ │ │ └── WrongTypeFormatArguments
│ │ │ │ │ ├── Linux_mixed_byte_wprintf
│ │ │ │ │ ├── WrongTypeFormatArguments.expected
│ │ │ │ │ ├── WrongTypeFormatArguments.qlref
│ │ │ │ │ ├── formattingFunction.expected
│ │ │ │ │ ├── formattingFunction.ql
│ │ │ │ │ └── tests.cpp
│ │ │ │ │ ├── Linux_mixed_word_size
│ │ │ │ │ ├── WrongTypeFormatArguments.expected
│ │ │ │ │ ├── WrongTypeFormatArguments.qlref
│ │ │ │ │ ├── tests_32.cpp
│ │ │ │ │ └── tests_64.cpp
│ │ │ │ │ ├── Linux_signed_chars
│ │ │ │ │ ├── WrongTypeFormatArguments.expected
│ │ │ │ │ ├── WrongTypeFormatArguments.qlref
│ │ │ │ │ ├── a.c
│ │ │ │ │ ├── b.c
│ │ │ │ │ ├── common.h
│ │ │ │ │ ├── format.h
│ │ │ │ │ ├── linux.cpp
│ │ │ │ │ ├── linux_c.c
│ │ │ │ │ ├── options
│ │ │ │ │ ├── pri_macros.h
│ │ │ │ │ ├── printf1.h
│ │ │ │ │ ├── real_world.h
│ │ │ │ │ └── wide_string.h
│ │ │ │ │ ├── Linux_two_byte_wprintf
│ │ │ │ │ ├── WrongTypeFormatArguments.expected
│ │ │ │ │ ├── WrongTypeFormatArguments.qlref
│ │ │ │ │ ├── formattingFunction.expected
│ │ │ │ │ ├── formattingFunction.ql
│ │ │ │ │ └── printf.cpp
│ │ │ │ │ ├── Linux_unsigned_chars
│ │ │ │ │ ├── WrongTypeFormatArguments.expected
│ │ │ │ │ ├── WrongTypeFormatArguments.qlref
│ │ │ │ │ ├── common.h
│ │ │ │ │ ├── format.h
│ │ │ │ │ ├── formattingFunction.expected
│ │ │ │ │ ├── formattingFunction.ql
│ │ │ │ │ ├── linux.cpp
│ │ │ │ │ ├── options
│ │ │ │ │ ├── pri_macros.h
│ │ │ │ │ ├── printf1.h
│ │ │ │ │ ├── real_world.h
│ │ │ │ │ └── wide_string.h
│ │ │ │ │ ├── Microsoft
│ │ │ │ │ ├── WrongTypeFormatArguments.expected
│ │ │ │ │ ├── WrongTypeFormatArguments.qlref
│ │ │ │ │ ├── common.h
│ │ │ │ │ ├── format.h
│ │ │ │ │ ├── ms.cpp
│ │ │ │ │ ├── options
│ │ │ │ │ ├── pri_macros.h
│ │ │ │ │ ├── printf1.h
│ │ │ │ │ ├── real_world.h
│ │ │ │ │ └── wide_string.h
│ │ │ │ │ └── Microsoft_no_wchar
│ │ │ │ │ ├── WrongTypeFormatArguments.expected
│ │ │ │ │ ├── WrongTypeFormatArguments.qlref
│ │ │ │ │ ├── common.h
│ │ │ │ │ ├── format.h
│ │ │ │ │ ├── ms_no_wchar.cpp
│ │ │ │ │ ├── options
│ │ │ │ │ ├── pri_macros.h
│ │ │ │ │ ├── printf1.h
│ │ │ │ │ ├── real_world.h
│ │ │ │ │ └── wide_string.h
│ │ │ ├── InconsistentCheckReturnNull
│ │ │ │ ├── InconsistentCheckReturnNull.expected
│ │ │ │ ├── InconsistentCheckReturnNull.qlref
│ │ │ │ └── test.c
│ │ │ ├── Leap Year
│ │ │ │ ├── Adding365DaysPerYear
│ │ │ │ │ ├── Adding365daysPerYear.expected
│ │ │ │ │ ├── Adding365daysPerYear.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── UncheckedLeapYearAfterYearModification
│ │ │ │ │ ├── UncheckedLeapYearAfterYearModification.expected
│ │ │ │ │ ├── UncheckedLeapYearAfterYearModification.qlref
│ │ │ │ │ ├── UncheckedReturnValueForTimeFunctions.expected
│ │ │ │ │ ├── UncheckedReturnValueForTimeFunctions.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ └── UnsafeArrayForDaysOfYear
│ │ │ │ │ ├── UnsafeArrayForDaysOfYear.expected
│ │ │ │ │ ├── UnsafeArrayForDaysOfYear.qlref
│ │ │ │ │ └── test.cpp
│ │ │ ├── Likely Typos
│ │ │ │ ├── AssignWhereCompareMeant
│ │ │ │ │ ├── AssignWhereCompareMeant.expected
│ │ │ │ │ ├── AssignWhereCompareMeant.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── CompareWhereAssignMeant
│ │ │ │ │ ├── CompareWhereAssignMeant.expected
│ │ │ │ │ ├── CompareWhereAssignMeant.qlref
│ │ │ │ │ ├── ExprHasNoEffect.expected
│ │ │ │ │ ├── ExprHasNoEffect.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── DubiousNullCheck
│ │ │ │ │ ├── DubiousNullCheck.cpp
│ │ │ │ │ ├── DubiousNullCheck.expected
│ │ │ │ │ └── DubiousNullCheck.qlref
│ │ │ │ ├── ExprHasNoEffect
│ │ │ │ │ ├── ExprHasNoEffect.expected
│ │ │ │ │ ├── ExprHasNoEffect.qlref
│ │ │ │ │ ├── calls.cpp
│ │ │ │ │ ├── expr.cpp
│ │ │ │ │ ├── macros.c
│ │ │ │ │ ├── preproc.c
│ │ │ │ │ ├── template.cpp
│ │ │ │ │ ├── templatey.cpp
│ │ │ │ │ ├── test.c
│ │ │ │ │ ├── test.cpp
│ │ │ │ │ ├── volatile.c
│ │ │ │ │ └── weak.c
│ │ │ │ ├── IncorrectNotOperatorUsage
│ │ │ │ │ ├── IncorrectNotOperatorUsage.c
│ │ │ │ │ ├── IncorrectNotOperatorUsage.cpp
│ │ │ │ │ ├── IncorrectNotOperatorUsage.expected
│ │ │ │ │ └── IncorrectNotOperatorUsage.qlref
│ │ │ │ ├── ShortCircuitBitMask
│ │ │ │ │ ├── ShortCircuitBitMask.expected
│ │ │ │ │ ├── ShortCircuitBitMask.qlref
│ │ │ │ │ └── big_ints.cpp
│ │ │ │ ├── UsingStrcpyAsBoolean
│ │ │ │ │ ├── UsingStrcpyAsBoolean.expected
│ │ │ │ │ ├── UsingStrcpyAsBoolean.qlref
│ │ │ │ │ ├── test.c
│ │ │ │ │ └── test.cpp
│ │ │ │ └── inconsistentLoopDirection
│ │ │ │ │ ├── inconsistentLoopDirection.c
│ │ │ │ │ ├── inconsistentLoopDirection.cpp
│ │ │ │ │ ├── inconsistentLoopDirection.expected
│ │ │ │ │ └── inconsistentLoopDirection.qlref
│ │ │ ├── Memory Management
│ │ │ │ ├── AllocaInLoop
│ │ │ │ │ ├── AllocaInLoop.expected
│ │ │ │ │ ├── AllocaInLoop.qlref
│ │ │ │ │ ├── AllocaInLoop1.cpp
│ │ │ │ │ ├── AllocaInLoop1ms.cpp
│ │ │ │ │ ├── AllocaInLoop2.c
│ │ │ │ │ ├── AllocaInLoop3.cpp
│ │ │ │ │ ├── BoundedLoop.cpp
│ │ │ │ │ └── malloc.h
│ │ │ │ ├── NtohlArrayNoBound
│ │ │ │ │ ├── NtohlArrayNoBound.expected
│ │ │ │ │ ├── NtohlArrayNoBound.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── Padding
│ │ │ │ │ ├── More64BitWaste
│ │ │ │ │ │ ├── More64BitWaste.expected
│ │ │ │ │ │ ├── More64BitWaste.qlref
│ │ │ │ │ │ └── test.cpp
│ │ │ │ │ ├── NonPortablePrintf
│ │ │ │ │ │ ├── NonPortablePrintf.expected
│ │ │ │ │ │ ├── NonPortablePrintf.qlref
│ │ │ │ │ │ └── test.cpp
│ │ │ │ │ └── Suboptimal64BitType
│ │ │ │ │ │ ├── Suboptimal64BitType.expected
│ │ │ │ │ │ ├── Suboptimal64BitType.qlref
│ │ │ │ │ │ └── types.c
│ │ │ │ ├── PointerOverflow
│ │ │ │ │ ├── PointerOverflow.expected
│ │ │ │ │ ├── PointerOverflow.qlref
│ │ │ │ │ ├── no_strict_overflow.c
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── ReturnCstrOfLocalStdString
│ │ │ │ │ ├── ReturnCstrOfLocalStdString.expected
│ │ │ │ │ ├── ReturnCstrOfLocalStdString.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── ReturnStackAllocatedMemory
│ │ │ │ │ ├── ReturnStackAllocatedMemory.expected
│ │ │ │ │ ├── ReturnStackAllocatedMemory.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── StackAddressEscapes
│ │ │ │ │ ├── ArrayTypeTest.cpp
│ │ │ │ │ ├── ArrayTypeTest.expected
│ │ │ │ │ ├── ArrayTypeTest.ql
│ │ │ │ │ ├── StackAddressEscapes.expected
│ │ │ │ │ ├── StackAddressEscapes.qlref
│ │ │ │ │ ├── manager.cpp
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── StrncpyFlippedArgs
│ │ │ │ │ ├── StrncpyFlippedArgs.expected
│ │ │ │ │ ├── StrncpyFlippedArgs.qlref
│ │ │ │ │ ├── test.c
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── SuspiciousCallToMemset
│ │ │ │ │ ├── SuspiciousCallToMemset.expected
│ │ │ │ │ ├── SuspiciousCallToMemset.qlref
│ │ │ │ │ ├── doc_tests.c
│ │ │ │ │ ├── extractor_tests.c
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── SuspiciousCallToStrncat
│ │ │ │ │ ├── SuspiciousCallToStrncat.expected
│ │ │ │ │ ├── SuspiciousCallToStrncat.qlref
│ │ │ │ │ └── test.c
│ │ │ │ ├── SuspiciousSizeof
│ │ │ │ │ ├── SuspiciousSizeof.expected
│ │ │ │ │ ├── SuspiciousSizeof.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ └── UnsafeUseOfStrcat
│ │ │ │ │ ├── strcat.c
│ │ │ │ │ ├── strcat.expected
│ │ │ │ │ └── strcat.qlref
│ │ │ ├── OO
│ │ │ │ ├── IncorrectConstructorDelegation
│ │ │ │ │ ├── IncorrectConstructorDelegation.expected
│ │ │ │ │ ├── IncorrectConstructorDelegation.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── NonVirtualDestructorInBaseClass
│ │ │ │ │ ├── NonVirtualDestructorInBaseClass.cpp
│ │ │ │ │ ├── NonVirtualDestructorInBaseClass.expected
│ │ │ │ │ └── NonVirtualDestructorInBaseClass.qlref
│ │ │ │ └── ThrowInDestructor
│ │ │ │ │ ├── ThrowInDestructor.expected
│ │ │ │ │ ├── ThrowInDestructor.qlref
│ │ │ │ │ └── test.cpp
│ │ │ ├── Protocols
│ │ │ │ ├── TlsSettingsMisconfiguration.expected
│ │ │ │ ├── TlsSettingsMisconfiguration.qlref
│ │ │ │ ├── UseOfDeprecatedHardcodedProtocol.expected
│ │ │ │ ├── UseOfDeprecatedHardcodedProtocol.qlref
│ │ │ │ ├── asio
│ │ │ │ │ └── boost_simulation.hpp
│ │ │ │ ├── test.cpp
│ │ │ │ ├── test2.cpp
│ │ │ │ └── test3.cpp
│ │ │ ├── RedundantNullCheckSimple
│ │ │ │ ├── RedundantNullCheckSimple.cpp
│ │ │ │ ├── RedundantNullCheckSimple.expected
│ │ │ │ └── RedundantNullCheckSimple.qlref
│ │ │ ├── ReturnConstType
│ │ │ │ ├── ReturnConstType.expected
│ │ │ │ ├── ReturnConstType.qlref
│ │ │ │ └── test.cpp
│ │ │ ├── ReturnConstTypeMember
│ │ │ │ ├── ReturnConstTypeMember.expected
│ │ │ │ ├── ReturnConstTypeMember.qlref
│ │ │ │ ├── templates.cpp
│ │ │ │ └── test.cpp
│ │ │ ├── ShortLoopVarName
│ │ │ │ ├── ShortLoopVarName.cpp
│ │ │ │ ├── ShortLoopVarName.expected
│ │ │ │ └── ShortLoopVarName.qlref
│ │ │ ├── Underspecified Functions
│ │ │ │ ├── ImplicitFunctionDeclaration.expected
│ │ │ │ ├── ImplicitFunctionDeclaration.qlref
│ │ │ │ ├── MistypedFunctionArguments.expected
│ │ │ │ ├── MistypedFunctionArguments.qlref
│ │ │ │ ├── TooFewArguments.expected
│ │ │ │ ├── TooFewArguments.qlref
│ │ │ │ ├── TooManyArguments.expected
│ │ │ │ ├── TooManyArguments.qlref
│ │ │ │ ├── test.c
│ │ │ │ ├── test.cpp
│ │ │ │ └── test2.c
│ │ │ └── UseInOwnInitializer
│ │ │ │ ├── UseInOwnInitializer.expected
│ │ │ │ ├── UseInOwnInitializer.qlref
│ │ │ │ └── test.cpp
│ │ ├── Metrics
│ │ │ ├── Dependencies
│ │ │ │ ├── ExternalDependencies.expected
│ │ │ │ ├── ExternalDependencies.ql
│ │ │ │ ├── ExternalDependenciesSourceLinks.expected
│ │ │ │ ├── ExternalDependenciesSourceLinks.ql
│ │ │ │ ├── LibA
│ │ │ │ │ └── liba.h
│ │ │ │ ├── LibB
│ │ │ │ │ ├── libb.h
│ │ │ │ │ └── libb_internal.h
│ │ │ │ ├── LibC
│ │ │ │ │ └── libc.h
│ │ │ │ ├── LibD
│ │ │ │ │ └── libd.h
│ │ │ │ ├── TestPackage.qll
│ │ │ │ ├── dependencies.expected
│ │ │ │ ├── dependencies.ql
│ │ │ │ ├── include.h
│ │ │ │ └── main.cpp
│ │ │ └── Functions
│ │ │ │ ├── FunLinesOfCode.expected
│ │ │ │ ├── FunLinesOfCode.qlref
│ │ │ │ ├── FunLinesOfComments.expected
│ │ │ │ ├── FunLinesOfComments.qlref
│ │ │ │ ├── FunNumberOfCalls.expected
│ │ │ │ ├── FunNumberOfCalls.qlref
│ │ │ │ ├── FunNumberOfParameters.expected
│ │ │ │ ├── FunNumberOfParameters.qlref
│ │ │ │ ├── FunNumberOfStatements.expected
│ │ │ │ ├── FunNumberOfStatements.qlref
│ │ │ │ └── functions.cpp
│ │ ├── Power of 10
│ │ │ └── Rule 2
│ │ │ │ ├── BoundedLoopIterations.expected
│ │ │ │ ├── BoundedLoopIterations.qlref
│ │ │ │ └── loops.cpp
│ │ ├── Security
│ │ │ └── CWE
│ │ │ │ ├── CWE-014
│ │ │ │ ├── MemsetMayBeDeleted.expected
│ │ │ │ ├── MemsetMayBeDeleted.qlref
│ │ │ │ ├── test.c
│ │ │ │ └── test.cpp
│ │ │ │ ├── CWE-022
│ │ │ │ └── semmle
│ │ │ │ │ └── tests
│ │ │ │ │ ├── TaintedPath.expected
│ │ │ │ │ ├── TaintedPath.qlref
│ │ │ │ │ ├── stdlib.h
│ │ │ │ │ └── test.c
│ │ │ │ ├── CWE-078
│ │ │ │ └── semmle
│ │ │ │ │ └── ExecTainted
│ │ │ │ │ ├── ExecTainted.expected
│ │ │ │ │ ├── ExecTainted.qlref
│ │ │ │ │ └── test.c
│ │ │ │ ├── CWE-079
│ │ │ │ └── semmle
│ │ │ │ │ └── CgiXss
│ │ │ │ │ ├── CgiXss.expected
│ │ │ │ │ ├── CgiXss.qlref
│ │ │ │ │ └── search.c
│ │ │ │ ├── CWE-089
│ │ │ │ └── SqlTainted
│ │ │ │ │ ├── SqlTainted.expected
│ │ │ │ │ ├── SqlTainted.qlref
│ │ │ │ │ └── test.c
│ │ │ │ ├── CWE-114
│ │ │ │ └── semmle
│ │ │ │ │ └── UncontrolledProcessOperation
│ │ │ │ │ ├── UncontrolledProcessOperation.expected
│ │ │ │ │ ├── UncontrolledProcessOperation.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── CWE-119
│ │ │ │ └── semmle
│ │ │ │ │ └── tests
│ │ │ │ │ ├── BadlyBoundedWrite.expected
│ │ │ │ │ ├── BadlyBoundedWrite.qlref
│ │ │ │ │ ├── OffsetUseBeforeRangeCheck.expected
│ │ │ │ │ ├── OffsetUseBeforeRangeCheck.qlref
│ │ │ │ │ ├── OverflowBuffer.expected
│ │ │ │ │ ├── OverflowBuffer.qlref
│ │ │ │ │ ├── OverflowDestination.expected
│ │ │ │ │ ├── OverflowDestination.qlref
│ │ │ │ │ ├── OverflowStatic.expected
│ │ │ │ │ ├── OverflowStatic.qlref
│ │ │ │ │ ├── OverrunWrite.expected
│ │ │ │ │ ├── OverrunWrite.qlref
│ │ │ │ │ ├── OverrunWriteFloat.expected
│ │ │ │ │ ├── OverrunWriteFloat.qlref
│ │ │ │ │ ├── StrncpyFlippedArgs.expected
│ │ │ │ │ ├── StrncpyFlippedArgs.qlref
│ │ │ │ │ ├── UnboundedWrite.expected
│ │ │ │ │ ├── UnboundedWrite.qlref
│ │ │ │ │ ├── overflowdestination.cpp
│ │ │ │ │ ├── tests.cpp
│ │ │ │ │ ├── tests_restrict.c
│ │ │ │ │ ├── unions.cpp
│ │ │ │ │ ├── var_size_struct.cpp
│ │ │ │ │ ├── varsize.expected
│ │ │ │ │ └── varsize.ql
│ │ │ │ ├── CWE-120
│ │ │ │ └── semmle
│ │ │ │ │ ├── UnsafeUseOfStrcat
│ │ │ │ │ ├── UnsafeUseOfStrcat.expected
│ │ │ │ │ ├── UnsafeUseOfStrcat.qlref
│ │ │ │ │ └── test.c
│ │ │ │ │ └── tests
│ │ │ │ │ ├── BadlyBoundedWrite.expected
│ │ │ │ │ ├── BadlyBoundedWrite.qlref
│ │ │ │ │ ├── OverrunWrite.expected
│ │ │ │ │ ├── OverrunWrite.qlref
│ │ │ │ │ ├── OverrunWriteFloat.expected
│ │ │ │ │ ├── OverrunWriteFloat.qlref
│ │ │ │ │ ├── UnboundedWrite.expected
│ │ │ │ │ ├── UnboundedWrite.qlref
│ │ │ │ │ ├── tests.c
│ │ │ │ │ ├── tests2.cpp
│ │ │ │ │ ├── unions.c
│ │ │ │ │ └── var_size_struct.cpp
│ │ │ │ ├── CWE-121
│ │ │ │ └── semmle
│ │ │ │ │ └── tests
│ │ │ │ │ ├── UnterminatedVarargsCall.expected
│ │ │ │ │ ├── UnterminatedVarargsCall.qlref
│ │ │ │ │ ├── more_tests.cpp
│ │ │ │ │ └── tests.c
│ │ │ │ ├── CWE-129
│ │ │ │ └── semmle
│ │ │ │ │ └── ImproperArrayIndexValidation
│ │ │ │ │ ├── ImproperArrayIndexValidation.expected
│ │ │ │ │ ├── ImproperArrayIndexValidation.qlref
│ │ │ │ │ └── test1.c
│ │ │ │ ├── CWE-131
│ │ │ │ └── semmle
│ │ │ │ │ └── NoSpaceForZeroTerminator
│ │ │ │ │ ├── NoSpaceForZeroTerminator.expected
│ │ │ │ │ ├── NoSpaceForZeroTerminator.qlref
│ │ │ │ │ ├── test.c
│ │ │ │ │ ├── test.cpp
│ │ │ │ │ └── test2.cpp
│ │ │ │ ├── CWE-134
│ │ │ │ └── semmle
│ │ │ │ │ ├── argv
│ │ │ │ │ ├── argvLocal.c
│ │ │ │ │ ├── argvLocal.expected
│ │ │ │ │ └── argvLocal.qlref
│ │ │ │ │ ├── consts
│ │ │ │ │ ├── NonConstantFormat.expected
│ │ │ │ │ ├── NonConstantFormat.qlref
│ │ │ │ │ └── consts.cpp
│ │ │ │ │ ├── funcs
│ │ │ │ │ ├── funcsLocal.c
│ │ │ │ │ ├── funcsLocal.expected
│ │ │ │ │ └── funcsLocal.qlref
│ │ │ │ │ ├── globalVars
│ │ │ │ │ ├── UncontrolledFormatString.expected
│ │ │ │ │ ├── UncontrolledFormatString.qlref
│ │ │ │ │ ├── UncontrolledFormatStringThroughGlobalVar.expected
│ │ │ │ │ ├── UncontrolledFormatStringThroughGlobalVar.qlref
│ │ │ │ │ └── globalVars.c
│ │ │ │ │ └── ifs
│ │ │ │ │ ├── ifs.c
│ │ │ │ │ ├── ifs.expected
│ │ │ │ │ └── ifs.qlref
│ │ │ │ ├── CWE-190
│ │ │ │ └── semmle
│ │ │ │ │ ├── ComparisonWithWiderType
│ │ │ │ │ ├── ComparisonWithWiderType.expected
│ │ │ │ │ ├── ComparisonWithWiderType.qlref
│ │ │ │ │ ├── test.c
│ │ │ │ │ └── test2.c
│ │ │ │ │ ├── TaintedAllocationSize
│ │ │ │ │ ├── TaintedAllocationSize.expected
│ │ │ │ │ ├── TaintedAllocationSize.qlref
│ │ │ │ │ ├── field_conflation.c
│ │ │ │ │ └── test.cpp
│ │ │ │ │ ├── extreme
│ │ │ │ │ ├── ArithmeticWithExtremeValues.expected
│ │ │ │ │ ├── ArithmeticWithExtremeValues.qlref
│ │ │ │ │ └── test.c
│ │ │ │ │ ├── system_header
│ │ │ │ │ └── system_header.h
│ │ │ │ │ ├── tainted
│ │ │ │ │ ├── ArithmeticTainted.expected
│ │ │ │ │ ├── ArithmeticTainted.qlref
│ │ │ │ │ ├── IntegerOverflowTainted.expected
│ │ │ │ │ ├── IntegerOverflowTainted.qlref
│ │ │ │ │ ├── queries.xml
│ │ │ │ │ ├── test.c
│ │ │ │ │ ├── test2.cpp
│ │ │ │ │ ├── test3.c
│ │ │ │ │ ├── test4.cpp
│ │ │ │ │ ├── test5.cpp
│ │ │ │ │ └── test6.cpp
│ │ │ │ │ └── uncontrolled
│ │ │ │ │ ├── ArithmeticUncontrolled.expected
│ │ │ │ │ ├── ArithmeticUncontrolled.qlref
│ │ │ │ │ ├── test.c
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── CWE-191
│ │ │ │ └── UnsignedDifferenceExpressionComparedZero
│ │ │ │ │ ├── UnsignedDifferenceExpressionComparedZero.expected
│ │ │ │ │ ├── UnsignedDifferenceExpressionComparedZero.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── CWE-242
│ │ │ │ └── semmle
│ │ │ │ │ └── tests
│ │ │ │ │ ├── DangerousFunctionOverflow.expected
│ │ │ │ │ ├── DangerousFunctionOverflow.qlref
│ │ │ │ │ ├── DangerousUseOfCin.expected
│ │ │ │ │ ├── DangerousUseOfCin.qlref
│ │ │ │ │ ├── OverrunWrite.expected
│ │ │ │ │ ├── OverrunWrite.qlref
│ │ │ │ │ ├── OverrunWriteFloat.expected
│ │ │ │ │ ├── OverrunWriteFloat.qlref
│ │ │ │ │ └── tests.cpp
│ │ │ │ ├── CWE-253
│ │ │ │ ├── HResultBooleanConversion.c
│ │ │ │ ├── HResultBooleanConversion.cpp
│ │ │ │ ├── HResultBooleanConversion.expected
│ │ │ │ └── HResultBooleanConversion.qlref
│ │ │ │ ├── CWE-290
│ │ │ │ └── semmle
│ │ │ │ │ └── AuthenticationBypass
│ │ │ │ │ ├── AuthenticationBypass.expected
│ │ │ │ │ ├── AuthenticationBypass.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── CWE-311
│ │ │ │ └── semmle
│ │ │ │ │ └── tests
│ │ │ │ │ ├── CleartextBufferWrite.expected
│ │ │ │ │ ├── CleartextBufferWrite.qlref
│ │ │ │ │ ├── CleartextFileWrite.expected
│ │ │ │ │ ├── CleartextFileWrite.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── CWE-367
│ │ │ │ └── semmle
│ │ │ │ │ ├── TOCTOUFilesystemRace.expected
│ │ │ │ │ ├── TOCTOUFilesystemRace.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── CWE-416
│ │ │ │ └── semmle
│ │ │ │ │ └── tests
│ │ │ │ │ ├── UseAfterFree.expected
│ │ │ │ │ ├── UseAfterFree.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── CWE-428
│ │ │ │ ├── UnsafeCreateProcessCall.cpp
│ │ │ │ ├── UnsafeCreateProcessCall.expected
│ │ │ │ └── UnsafeCreateProcessCall.qlref
│ │ │ │ ├── CWE-457
│ │ │ │ └── semmle
│ │ │ │ │ ├── ConditionallyUninitializedVariable
│ │ │ │ │ ├── ConditionallyUninitializedVariable.expected
│ │ │ │ │ ├── ConditionallyUninitializedVariable.qlref
│ │ │ │ │ ├── examples.cpp
│ │ │ │ │ └── test.cpp
│ │ │ │ │ └── tests
│ │ │ │ │ ├── LoopConditionsConst.expected
│ │ │ │ │ ├── LoopConditionsConst.ql
│ │ │ │ │ ├── LoopConditionsConst.qll
│ │ │ │ │ ├── UninitializedLocal.expected
│ │ │ │ │ ├── UninitializedLocal.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── CWE-468
│ │ │ │ └── semmle
│ │ │ │ │ ├── IncorrectPointerScaling
│ │ │ │ │ ├── IncorrectPointerScaling.expected
│ │ │ │ │ ├── IncorrectPointerScaling.qlref
│ │ │ │ │ ├── IncorrectPointerScalingChar.expected
│ │ │ │ │ ├── IncorrectPointerScalingChar.qlref
│ │ │ │ │ ├── IncorrectPointerScalingVoid.expected
│ │ │ │ │ ├── IncorrectPointerScalingVoid.qlref
│ │ │ │ │ ├── test.cpp
│ │ │ │ │ ├── test_large.cpp
│ │ │ │ │ └── test_small.cpp
│ │ │ │ │ └── SuspiciousAddWithSizeof
│ │ │ │ │ ├── SuspiciousAddWithSizeof.expected
│ │ │ │ │ ├── SuspiciousAddWithSizeof.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── CWE-497
│ │ │ │ └── semmle
│ │ │ │ │ └── tests
│ │ │ │ │ ├── ExposedSystemData.expected
│ │ │ │ │ ├── ExposedSystemData.qlref
│ │ │ │ │ ├── OutputWrite.expected
│ │ │ │ │ ├── OutputWrite.ql
│ │ │ │ │ └── tests2.cpp
│ │ │ │ ├── CWE-676
│ │ │ │ └── semmle
│ │ │ │ │ ├── DangerousUseOfCin
│ │ │ │ │ ├── DangerousUseOfCin.expected
│ │ │ │ │ ├── DangerousUseOfCin.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ │ └── PotentiallyDangerousFunction
│ │ │ │ │ ├── DangerousFunctionOverflow.expected
│ │ │ │ │ ├── DangerousFunctionOverflow.qlref
│ │ │ │ │ ├── PotentiallyDangerousFunction.expected
│ │ │ │ │ ├── PotentiallyDangerousFunction.qlref
│ │ │ │ │ └── test.c
│ │ │ │ ├── CWE-704
│ │ │ │ ├── WcharCharConversion.cpp
│ │ │ │ ├── WcharCharConversion.expected
│ │ │ │ └── WcharCharConversion.qlref
│ │ │ │ ├── CWE-732
│ │ │ │ ├── UnsafeDaclSecurityDescriptor.cpp
│ │ │ │ ├── UnsafeDaclSecurityDescriptor.expected
│ │ │ │ └── UnsafeDaclSecurityDescriptor.qlref
│ │ │ │ ├── CWE-764
│ │ │ │ └── semmle
│ │ │ │ │ └── tests
│ │ │ │ │ ├── DiningPhilosophers.cpp
│ │ │ │ │ ├── LockOrderCycle.expected
│ │ │ │ │ ├── LockOrderCycle.qlref
│ │ │ │ │ ├── TwiceLocked.expected
│ │ │ │ │ ├── TwiceLocked.qlref
│ │ │ │ │ ├── UnreleasedLock.expected
│ │ │ │ │ ├── UnreleasedLock.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── CWE-772
│ │ │ │ └── semmle
│ │ │ │ │ ├── tests-file
│ │ │ │ │ ├── FileMayNotBeClosed.expected
│ │ │ │ │ ├── FileMayNotBeClosed.qlref
│ │ │ │ │ ├── FileNeverClosed.expected
│ │ │ │ │ ├── FileNeverClosed.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ │ └── tests-memory
│ │ │ │ │ ├── MemoryMayNotBeFreed.expected
│ │ │ │ │ ├── MemoryMayNotBeFreed.qlref
│ │ │ │ │ ├── MemoryNeverFreed.expected
│ │ │ │ │ ├── MemoryNeverFreed.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── CWE-807
│ │ │ │ └── semmle
│ │ │ │ │ └── TaintedCondition
│ │ │ │ │ ├── TaintedCondition.expected
│ │ │ │ │ ├── TaintedCondition.qlref
│ │ │ │ │ └── test.cpp
│ │ │ │ └── CWE-835
│ │ │ │ └── semmle
│ │ │ │ └── InfiniteLoopWithUnsatisfiableExitCondition
│ │ │ │ ├── InfiniteLoopWithUnsatisfiableExitCondition.expected
│ │ │ │ ├── InfiniteLoopWithUnsatisfiableExitCondition.qlref
│ │ │ │ └── test.cpp
│ │ ├── Summary
│ │ │ ├── LinesOfCode.expected
│ │ │ ├── LinesOfCode.qlref
│ │ │ ├── empty-file.cpp
│ │ │ ├── large-file.cpp
│ │ │ └── short-file.cpp
│ │ ├── definitions
│ │ │ ├── access.c
│ │ │ ├── call.c
│ │ │ ├── class.cpp
│ │ │ ├── definitions.expected
│ │ │ ├── definitions.qlref
│ │ │ ├── include.c
│ │ │ ├── include.h
│ │ │ ├── locationInfo.expected
│ │ │ ├── locationInfo.ql
│ │ │ ├── macros.c
│ │ │ ├── overload.cpp
│ │ │ └── type_mentions.cpp
│ │ └── jsf
│ │ │ ├── 3.02 Code Size and Complexity
│ │ │ └── AV Rule 1
│ │ │ │ ├── AV Rule 1.c
│ │ │ │ ├── AV Rule 1.expected
│ │ │ │ └── AV Rule 1.qlref
│ │ │ ├── 4.04 Environment
│ │ │ └── AV Rule 13
│ │ │ │ ├── AV Rule 13.expected
│ │ │ │ ├── AV Rule 13.qlref
│ │ │ │ └── test.cpp
│ │ │ ├── 4.06 Pre-Processing Directives
│ │ │ └── AV Rule 32
│ │ │ │ ├── AV Rule 32.expected
│ │ │ │ ├── AV Rule 32.qlref
│ │ │ │ ├── test.H
│ │ │ │ ├── test.c
│ │ │ │ ├── test.xpm
│ │ │ │ └── test2.c
│ │ │ ├── 4.07 Header Files
│ │ │ └── AV Rule 35
│ │ │ │ ├── AV Rule 35.expected
│ │ │ │ ├── AV Rule 35.qlref
│ │ │ │ ├── all1.cpp
│ │ │ │ ├── all2.cpp
│ │ │ │ ├── allCpp.h
│ │ │ │ ├── allCppWithRepeats.h
│ │ │ │ ├── complexcondition.h
│ │ │ │ ├── complexcondition2.h
│ │ │ │ ├── data.h
│ │ │ │ ├── functionlike.h
│ │ │ │ ├── fundecl.h
│ │ │ │ ├── imported.h
│ │ │ │ ├── includefirst.h
│ │ │ │ ├── includefirsttarget.h
│ │ │ │ ├── items.h
│ │ │ │ ├── items2.h
│ │ │ │ ├── items3.h
│ │ │ │ ├── matched.H
│ │ │ │ ├── matched_wrap.H
│ │ │ │ ├── multipleguards.h
│ │ │ │ ├── namespace1.h
│ │ │ │ ├── namespace2.h
│ │ │ │ ├── notcondition.h
│ │ │ │ ├── one_time.h
│ │ │ │ ├── pragma.h
│ │ │ │ ├── preproc.h
│ │ │ │ ├── preproc2.h
│ │ │ │ ├── preproc3.h
│ │ │ │ ├── unmatched.h
│ │ │ │ ├── vardecl.h
│ │ │ │ ├── x.h
│ │ │ │ ├── y.h
│ │ │ │ └── z.h
│ │ │ ├── 4.09 Style
│ │ │ └── AV Rule 53 54
│ │ │ │ ├── AV Rule 53.1.expected
│ │ │ │ ├── AV Rule 53.1.qlref
│ │ │ │ ├── AV Rule 53.expected
│ │ │ │ ├── AV Rule 53.qlref
│ │ │ │ ├── AV Rule 54.expected
│ │ │ │ ├── AV Rule 54.qlref
│ │ │ │ ├── files.expected
│ │ │ │ ├── files.ql
│ │ │ │ ├── test
│ │ │ │ ├── test'.c
│ │ │ │ ├── test'.h
│ │ │ │ ├── test.CPP
│ │ │ │ ├── test.H
│ │ │ │ ├── test.abc
│ │ │ │ ├── test.c
│ │ │ │ ├── test.c++
│ │ │ │ └── test.hpp
│ │ │ ├── 4.10 Classes
│ │ │ ├── AV Rule 73
│ │ │ │ ├── AV Rule 73.cpp
│ │ │ │ ├── AV Rule 73.expected
│ │ │ │ ├── AV Rule 73.qlref
│ │ │ │ └── original.cpp
│ │ │ ├── AV Rule 77.1
│ │ │ │ ├── AV Rule 77.1.expected
│ │ │ │ ├── AV Rule 77.1.qlref
│ │ │ │ └── test.cpp
│ │ │ ├── AV Rule 78
│ │ │ │ ├── AV Rule 78.cpp
│ │ │ │ ├── AV Rule 78.expected
│ │ │ │ └── AV Rule 78.qlref
│ │ │ ├── AV Rule 79
│ │ │ │ ├── AV Rule 79.cpp
│ │ │ │ ├── AV Rule 79.expected
│ │ │ │ ├── AV Rule 79.qlref
│ │ │ │ ├── Container2.cpp
│ │ │ │ ├── DeleteThis.cpp
│ │ │ │ ├── ExternalOwners.cpp
│ │ │ │ ├── Lambda.cpp
│ │ │ │ ├── ListDelete.cpp
│ │ │ │ ├── NoDestructor.cpp
│ │ │ │ ├── PlacementNew.cpp
│ │ │ │ ├── QObject.cpp
│ │ │ │ ├── SelfRegistering.cpp
│ │ │ │ ├── TemplateDelete.cpp
│ │ │ │ ├── Variants.cpp
│ │ │ │ └── Wrapped.cpp
│ │ │ ├── AV Rule 82
│ │ │ │ ├── AV Rule 82.cpp
│ │ │ │ ├── AV Rule 82.expected
│ │ │ │ └── AV Rule 82.qlref
│ │ │ ├── AV Rule 85
│ │ │ │ ├── AV Rule 85.cpp
│ │ │ │ ├── AV Rule 85.expected
│ │ │ │ └── AV Rule 85.qlref
│ │ │ └── AV Rule 97
│ │ │ │ ├── AV Rule 97.expected
│ │ │ │ ├── AV Rule 97.qlref
│ │ │ │ └── jsf97.cpp
│ │ │ ├── 4.13 Functions
│ │ │ ├── AV Rule 107
│ │ │ │ ├── AV Rule 107.expected
│ │ │ │ ├── AV Rule 107.qlref
│ │ │ │ └── test.c
│ │ │ └── AV Rule 114
│ │ │ │ ├── AV Rule 114.expected
│ │ │ │ ├── AV Rule 114.qlref
│ │ │ │ ├── complex.c
│ │ │ │ ├── test.c
│ │ │ │ └── test.cpp
│ │ │ ├── 4.16 Initialization
│ │ │ └── AV Rule 145
│ │ │ │ ├── AV Rule 145.expected
│ │ │ │ ├── AV Rule 145.qlref
│ │ │ │ └── test.c
│ │ │ ├── 4.21 Operators
│ │ │ ├── AV Rule 157
│ │ │ │ ├── AV Rule 157.expected
│ │ │ │ ├── AV Rule 157.qlref
│ │ │ │ └── test.c
│ │ │ ├── AV Rule 164
│ │ │ │ ├── AV Rule 164.expected
│ │ │ │ ├── AV Rule 164.qlref
│ │ │ │ └── test.c
│ │ │ ├── AV Rule 165
│ │ │ │ ├── AV Rule 165.expected
│ │ │ │ ├── AV Rule 165.qlref
│ │ │ │ └── test.c
│ │ │ └── AV Rule 166
│ │ │ │ ├── AV Rule 166.expected
│ │ │ │ ├── AV Rule 166.qlref
│ │ │ │ └── test.c
│ │ │ ├── 4.22 Pointers and References
│ │ │ └── AV Rule 176
│ │ │ │ ├── 176.cpp
│ │ │ │ ├── 176.expected
│ │ │ │ └── 176.qlref
│ │ │ ├── 4.24 Control Flow Structures
│ │ │ ├── AV Rule 186
│ │ │ │ ├── AV Rule 186.expected
│ │ │ │ ├── AV Rule 186.qlref
│ │ │ │ └── test.c
│ │ │ ├── AV Rule 193
│ │ │ │ ├── AV Rule 193.c
│ │ │ │ ├── AV Rule 193.expected
│ │ │ │ ├── AV Rule 193.qlref
│ │ │ │ ├── nested.c
│ │ │ │ └── test.c
│ │ │ ├── AV Rule 196
│ │ │ │ ├── AV Rule 196.c
│ │ │ │ ├── AV Rule 196.expected
│ │ │ │ └── AV Rule 196.qlref
│ │ │ └── AV Rule 201
│ │ │ │ ├── AV Rule 201.c
│ │ │ │ ├── AV Rule 201.expected
│ │ │ │ ├── AV Rule 201.qlref
│ │ │ │ ├── NestedLoopSameVar.expected
│ │ │ │ ├── NestedLoopSameVar.qlref
│ │ │ │ └── StructMembers.cpp
│ │ │ └── 4.28 Portable Code
│ │ │ └── AV Rule 210
│ │ │ ├── AV Rule 210.c
│ │ │ ├── AV Rule 210.expected
│ │ │ └── AV Rule 210.qlref
│ │ └── successor-tests
│ │ ├── aborting-functions
│ │ ├── cfg.expected
│ │ ├── cfg.ql
│ │ └── test.cpp
│ │ ├── assignexpr
│ │ ├── assignexpr.cpp
│ │ ├── cfg.expected
│ │ └── cfg.ql
│ │ ├── block
│ │ ├── dummyblock
│ │ │ ├── dummyblock.c
│ │ │ ├── dummyblock01.expected
│ │ │ └── dummyblock01.ql
│ │ └── emptyblock
│ │ │ ├── emptyblock.c
│ │ │ ├── emptyblock01.expected
│ │ │ └── emptyblock01.ql
│ │ ├── break_labels
│ │ ├── cfg.expected
│ │ ├── cfg.ql
│ │ └── test.c
│ │ ├── callexpr
│ │ ├── args
│ │ │ ├── membercallexpr
│ │ │ │ ├── cfg.expected
│ │ │ │ ├── cfg.ql
│ │ │ │ └── membercallexpr.cpp
│ │ │ └── staticmembercallexpr
│ │ │ │ ├── cfg.expected
│ │ │ │ ├── cfg.ql
│ │ │ │ └── staticmembercallexpr.cpp
│ │ └── noargs
│ │ │ ├── membercallexpr
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── membercallexpr.cpp
│ │ │ ├── nonmembercallexpr
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── nonmembercallexpr.c
│ │ │ ├── nonmemberfp2callexpr
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── nonmemberfp2callexpr.c
│ │ │ ├── nonmemberfpcallexpr
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── nonmemberfpcallexpr.c
│ │ │ ├── pmcallexpr
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── pmcallexpr.cpp
│ │ │ └── staticmembercallexpr
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── staticmembercallexpr.cpp
│ │ ├── conditional_destructors
│ │ ├── cfg.expected
│ │ ├── cfg.ql
│ │ └── test.cpp
│ │ ├── deleteexpr
│ │ ├── allocators
│ │ │ ├── allocators.cpp
│ │ │ ├── calls.expected
│ │ │ ├── calls.ql
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── options
│ │ ├── array_delete
│ │ │ ├── array_delete.cpp
│ │ │ ├── array_delete.expected
│ │ │ └── array_delete.ql
│ │ ├── defdestructordeleteexpr
│ │ │ ├── defdestructordeleteexpr.cpp
│ │ │ ├── defdestructordeleteexpr01.expected
│ │ │ └── defdestructordeleteexpr01.ql
│ │ └── deleteexpr
│ │ │ ├── deleteexpr.cpp
│ │ │ ├── deleteexpr01.expected
│ │ │ └── deleteexpr01.ql
│ │ ├── dostmt
│ │ ├── dostmt.c
│ │ ├── dostmt01.expected
│ │ ├── dostmt01.ql
│ │ ├── dostmt02.expected
│ │ ├── dostmt02.ql
│ │ ├── dostmt03.expected
│ │ ├── dostmt03.ql
│ │ ├── dostmt04.expected
│ │ ├── dostmt04.ql
│ │ ├── dostmt05.expected
│ │ ├── dostmt05.ql
│ │ ├── dostmt06.expected
│ │ ├── dostmt06.ql
│ │ ├── dostmt07.expected
│ │ ├── dostmt07.ql
│ │ ├── dostmt08.expected
│ │ ├── dostmt08.ql
│ │ ├── dostmt09.expected
│ │ ├── dostmt09.ql
│ │ ├── dostmt10.expected
│ │ └── dostmt10.ql
│ │ ├── enum
│ │ ├── cfg.expected
│ │ ├── cfg.ql
│ │ └── enum.c
│ │ ├── exceptionhandler
│ │ ├── ellipsisexceptionhandler
│ │ │ ├── ellipsisexceptionhandler.cpp
│ │ │ ├── graphable.expected
│ │ │ └── graphable.ql
│ │ └── exceptionhandler
│ │ │ ├── exceptionhandler.cpp
│ │ │ ├── graphable.expected
│ │ │ └── graphable.ql
│ │ ├── exprstmt
│ │ ├── cfg.expected
│ │ ├── cfg.ql
│ │ └── exprstmt.c
│ │ ├── fieldaccessexpr
│ │ ├── constmemberaccess
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── constmemberaccess.cpp
│ │ └── fieldaccess
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── fieldaccess.cpp
│ │ ├── forstmt
│ │ ├── forstmt
│ │ │ ├── forstmt.cpp
│ │ │ ├── forstmt01.expected
│ │ │ └── forstmt01.ql
│ │ ├── shortforstmt
│ │ │ ├── shortforstmt.cpp
│ │ │ ├── shortforstmt01.expected
│ │ │ ├── shortforstmt01.ql
│ │ │ ├── shortforstmt02.expected
│ │ │ ├── shortforstmt02.ql
│ │ │ ├── shortforstmt03.expected
│ │ │ ├── shortforstmt03.ql
│ │ │ ├── shortforstmt04.expected
│ │ │ ├── shortforstmt04.ql
│ │ │ ├── shortforstmt05.expected
│ │ │ ├── shortforstmt05.ql
│ │ │ ├── shortforstmt06.expected
│ │ │ ├── shortforstmt06.ql
│ │ │ ├── shortforstmt07.expected
│ │ │ └── shortforstmt07.ql
│ │ └── tinyforstmt
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── tinyforstmt.c
│ │ ├── gotostmt
│ │ ├── cfg.expected
│ │ ├── cfg.ql
│ │ └── gotostmt.c
│ │ ├── ifstmt
│ │ ├── ifelsestmt
│ │ │ ├── ifelsestmt.c
│ │ │ ├── ifelsestmt01.expected
│ │ │ ├── ifelsestmt01.ql
│ │ │ ├── ifelsestmt02.expected
│ │ │ ├── ifelsestmt02.ql
│ │ │ ├── ifelsestmt03.expected
│ │ │ ├── ifelsestmt03.ql
│ │ │ ├── ifelsestmt04.expected
│ │ │ ├── ifelsestmt04.ql
│ │ │ ├── ifelsestmt05.expected
│ │ │ ├── ifelsestmt05.ql
│ │ │ ├── ifelsestmt06.expected
│ │ │ ├── ifelsestmt06.ql
│ │ │ ├── ifelsestmt07.expected
│ │ │ ├── ifelsestmt07.ql
│ │ │ ├── ifelsestmt08.expected
│ │ │ ├── ifelsestmt08.ql
│ │ │ ├── ifelsestmt09.expected
│ │ │ ├── ifelsestmt09.ql
│ │ │ ├── ifelsestmt10.expected
│ │ │ ├── ifelsestmt10.ql
│ │ │ ├── ifelsestmt11.expected
│ │ │ └── ifelsestmt11.ql
│ │ └── ifstmt
│ │ │ ├── ifstmt.c
│ │ │ ├── ifstmt01.expected
│ │ │ ├── ifstmt01.ql
│ │ │ ├── ifstmt02.expected
│ │ │ ├── ifstmt02.ql
│ │ │ ├── ifstmt03.expected
│ │ │ ├── ifstmt03.ql
│ │ │ ├── ifstmt04.expected
│ │ │ ├── ifstmt04.ql
│ │ │ ├── ifstmt05.expected
│ │ │ ├── ifstmt05.ql
│ │ │ ├── ifstmt06.expected
│ │ │ ├── ifstmt06.ql
│ │ │ ├── ifstmt07.expected
│ │ │ ├── ifstmt07.ql
│ │ │ ├── ifstmt08.expected
│ │ │ ├── ifstmt08.ql
│ │ │ ├── ifstmt09.expected
│ │ │ ├── ifstmt09.ql
│ │ │ ├── ifstmt10.expected
│ │ │ └── ifstmt10.ql
│ │ ├── initializer
│ │ ├── aggregateinitializer
│ │ │ ├── aggregateinitializer.c
│ │ │ ├── aggregateinitializer01.expected
│ │ │ └── aggregateinitializer01.ql
│ │ ├── constructorinitializer
│ │ │ ├── constructorinitializer.cpp
│ │ │ ├── constructorinitializer01.expected
│ │ │ └── constructorinitializer01.ql
│ │ ├── initializer
│ │ │ ├── initializer.c
│ │ │ ├── initializer01.expected
│ │ │ └── initializer01.ql
│ │ └── parameterinitializer
│ │ │ ├── controlflownode.expected
│ │ │ ├── controlflownode.ql
│ │ │ └── parameterinitializer.cpp
│ │ ├── landexpr
│ │ ├── cfg.expected
│ │ ├── cfg.ql
│ │ └── landexpr.c
│ │ ├── lorexpr
│ │ ├── cfg.expected
│ │ ├── cfg.ql
│ │ └── lorexpr.c
│ │ ├── ltrbinopexpr
│ │ ├── cfg.expected
│ │ ├── cfg.ql
│ │ └── ltrbinopexpr.c
│ │ ├── newexpr
│ │ ├── defconstructornewexpr
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── defconstructornewexpr.cpp
│ │ └── newexpr
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── newexpr.cpp
│ │ ├── pruning
│ │ ├── graphable.expected
│ │ ├── graphable.ql
│ │ └── test.c
│ │ ├── questionexpr
│ │ ├── cfg.expected
│ │ ├── cfg.ql
│ │ └── questionexpr.c
│ │ ├── returnstmt
│ │ ├── graphable.expected
│ │ ├── graphable.ql
│ │ └── returnstmt.c
│ │ ├── stackvariables
│ │ ├── stackvariables
│ │ │ ├── condition_decls.cpp
│ │ │ ├── graphable.expected
│ │ │ ├── graphable.ql
│ │ │ ├── statements.cpp
│ │ │ └── statements.h
│ │ └── void_bug
│ │ │ ├── options
│ │ │ ├── void_bug.cpp
│ │ │ ├── void_bug.expected
│ │ │ ├── void_bug.h
│ │ │ └── void_bug.ql
│ │ ├── staticlocals
│ │ ├── no_dynamic_init
│ │ │ ├── exprs.expected
│ │ │ ├── exprs.ql
│ │ │ └── no_dynamic_init.cpp
│ │ └── staticlocals
│ │ │ ├── staticlocals.cpp
│ │ │ ├── staticlocals01.expected
│ │ │ └── staticlocals01.ql
│ │ ├── stmt_expr
│ │ ├── cfg.expected
│ │ ├── cfg.ql
│ │ └── test.cpp
│ │ ├── subscriptexpr
│ │ └── subscriptexpr
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ ├── revsubscriptexpr.c
│ │ │ └── subscriptexpr.c
│ │ ├── switchstmt
│ │ ├── duff
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── duff.c
│ │ ├── duff2
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── duff.c
│ │ ├── nodefaultswitchstmt
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── nodefaultswitchstmt.c
│ │ ├── switchbody
│ │ │ ├── graphable.expected
│ │ │ ├── graphable.ql
│ │ │ └── switchbody.c
│ │ └── switchstmt
│ │ │ ├── cfg.expected
│ │ │ ├── cfg.ql
│ │ │ └── switchstmt.c
│ │ ├── unaryopexpr
│ │ ├── cfg.expected
│ │ ├── cfg.ql
│ │ └── unaryopexpr.c
│ │ └── whilestmt
│ │ ├── whilestmt.c
│ │ ├── whilestmt01.expected
│ │ ├── whilestmt01.ql
│ │ ├── whilestmt02.expected
│ │ ├── whilestmt02.ql
│ │ ├── whilestmt03.expected
│ │ ├── whilestmt03.ql
│ │ ├── whilestmt04.expected
│ │ ├── whilestmt04.ql
│ │ ├── whilestmt05.expected
│ │ ├── whilestmt05.ql
│ │ ├── whilestmt06.expected
│ │ ├── whilestmt06.ql
│ │ ├── whilestmt07.expected
│ │ ├── whilestmt07.ql
│ │ ├── whilestmt08.expected
│ │ ├── whilestmt08.ql
│ │ ├── whilestmt09.expected
│ │ ├── whilestmt09.ql
│ │ ├── whilestmt10.expected
│ │ ├── whilestmt10.ql
│ │ ├── whilestmt11.expected
│ │ └── whilestmt11.ql
└── upgrades
│ ├── 025827d85c3f44a7fd52d4fad636e9a4141f12dd
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ ├── static_asserts.ql
│ └── upgrade.properties
│ ├── 098850d25c4e9d417eb74c1bef9deb2f9d2dc417
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── 0ed3da4a31c3a3dd01d9bb84d7908cf64b9f31a3
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── 2074f1cc7a3659ad555465a8025a8f2b7687896b
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── 282c13bfdbcbd57a887972b47a471342a4ad5507
│ ├── member_function_this_type.ql
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── 678a0f9164f610429552ff211ec47d7975123d96
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── 7144cc0986f3ab58a568058e143acecc6429c9d1
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── 731597194dc44772ca4c2baa5e76679165bf33ea
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── 75da61c94e19ae80a142f03a877ab9d0728752bc
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── 814fae599505510ff15102f4c72600586734770a
│ ├── lambda_capture.ql
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── 81a312e6dafdffb650e1c7e3dc02cc37505e2505
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── 874439f4c501cb03a39fba053eef9d384216bbf2
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── 950219747b684ffdd229775acfcc5267eea3dc4f
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── 98a075d5495d7be7ede26557708cf22cfa3964ef
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── b5fa4fb0283c4accf2d85d559aeb2bba914c102b
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── bd182f697bf1316c401421d64e582871331a69f4
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── c3e69834734e3ef4170e996c5b96a89619799346
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── c4c27a2661b3baaf1cfd8e370320a106b7f41e2e
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── c82db4c596b8979eba9a8958e24353a5756d7a02
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── c9ac0461491edef3b1ab79f03d007a47522dda90
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── cac7e92107084af19112986145f72b8de646c39d
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ ├── upgrade.properties
│ ├── values.ql
│ └── valuetext.ql
│ ├── d6ca4ebb7680e241b647e78b96999eaf9d84e5b7
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── eb4aee70e25cada13103d62ab38afedb5ceac08f
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ ├── ef73d8cf906d356a00a10d0e8dc0e1c1e66d210c
│ ├── old.dbscheme
│ ├── semmlecode.cpp.dbscheme
│ └── upgrade.properties
│ └── qlpack.yml
├── csharp
├── .editorconfig
├── .gitignore
├── .vscode
│ ├── extensions.json
│ ├── settings.json
│ └── tasks.json
├── CSharp.sln
├── autobuilder
│ ├── Semmle.Autobuild.CSharp.Tests
│ │ ├── BuildScripts.cs
│ │ └── Semmle.Autobuild.CSharp.Tests.csproj
│ ├── Semmle.Autobuild.CSharp
│ │ ├── CSharpAutobuilder.cs
│ │ ├── DotNetRule.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Semmle.Autobuild.CSharp.csproj
│ │ └── StandaloneBuildRule.cs
│ └── Semmle.Autobuild.Shared
│ │ ├── AutobuildOptions.cs
│ │ ├── Autobuilder.cs
│ │ ├── BuildActions.cs
│ │ ├── BuildCommandAutoRule.cs
│ │ ├── BuildCommandRule.cs
│ │ ├── BuildScript.cs
│ │ ├── BuildTools.cs
│ │ ├── CommandBuilder.cs
│ │ ├── Language.cs
│ │ ├── MsBuildRule.cs
│ │ ├── Project.cs
│ │ ├── ProjectOrSolution.cs
│ │ ├── Properties
│ │ └── AssemblyInfo.cs
│ │ ├── Semmle.Autobuild.Shared.csproj
│ │ └── Solution.cs
├── change-notes
│ ├── 2020-08-18-ast-viewer.md
│ ├── 2020-08-18-partial-method-bodies.md
│ ├── 2020-08-26-implicit-array-lengths.md
│ ├── 2020-09-02-assembly-insensitive-trap.md
│ ├── 2020-09-22-weak-encryption.md
│ ├── 2020-10-21-AST-printing-improvements.md
│ ├── 2020-10-21-CodeAnalysis-attributes-in-assert.md
│ ├── 2020-10-21-rework-attribute-extraction.md
│ ├── 2020-10-28-cil-to-string.md
│ ├── 2020-11-05-get-sourcedeclaration-rename.md
│ ├── 2020-11-18-lambda-modifiers.md
│ ├── 2020-11-18-local-function-attributable.md
│ ├── 2020-12-08-cil-enum-underlying-type.md
│ ├── 2020-12-17-format-method-empty-overload.md
│ ├── 2020-12-18-extract-custom-modifiers.md
│ ├── 2020-12-21-merge-format-queries.md
│ ├── 2021-01-14-Unary-pattern.md
│ ├── 2021-01-15-Relational-pattern.md
│ ├── 2021-01-19-Function-pointer.md
│ ├── 2021-01-25-Function-pointer-cil.md
│ ├── 2021-01-27-Add-binary-pattern.md
│ ├── 2021-02-01-Preprocessor-directives.md
│ ├── 2021-02-02-foreach-underlying-methods.md
│ ├── 2021-02-04-Records.md
│ ├── 2021-02-12-with-expression.md
│ ├── 2021-02-26-tuple-dataflow.md
│ ├── 2021-03-01-fluent-interface-data-flow.md
│ ├── 2021-03-02-dotnet5.md
│ ├── 2021-03-24-cil-ssa.md
│ ├── 2021-03-24-remove-legacy-queries.md
│ └── 2021-03-24-remove-vuln-package-query.md
├── codeql-extractor.yml
├── config
│ ├── suites
│ │ └── lgtm
│ │ │ ├── csharp-alerts-lgtm
│ │ │ ├── csharp-lgtm
│ │ │ ├── csharp-metrics-lgtm
│ │ │ └── csharp-queries-lgtm
│ └── tracer
│ │ ├── linux
│ │ ├── csharp-compiler-settings
│ │ └── extract-csharp.sh
│ │ └── windows
│ │ └── csharp-compiler-settings
├── extractor
│ ├── Semmle.Extraction.CIL.Driver
│ │ ├── ExtractorOptions.cs
│ │ ├── InvalidAssemblyException.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Semmle.Extraction.CIL.Driver.csproj
│ ├── Semmle.Extraction.CIL
│ │ ├── Analyser.cs
│ │ ├── CachedFunction.cs
│ │ ├── Context.Factories.cs
│ │ ├── Context.cs
│ │ ├── EmptyContext.cs
│ │ ├── Entities
│ │ │ ├── ArrayType.cs
│ │ │ ├── Assembly.cs
│ │ │ ├── Attribute.cs
│ │ │ ├── Base
│ │ │ │ ├── IExtractedEntity.cs
│ │ │ │ ├── IExtractionProduct.cs
│ │ │ │ ├── IGenericContext.cs
│ │ │ │ ├── LabelledEntity.cs
│ │ │ │ ├── Tuple.cs
│ │ │ │ └── UnlabelledEntity.cs
│ │ │ ├── ByRefType.cs
│ │ │ ├── CilTypeKind.cs
│ │ │ ├── ConstructedType.cs
│ │ │ ├── CustomAttributeDecoder.cs
│ │ │ ├── DefinitionField.cs
│ │ │ ├── DefinitionMethod.cs
│ │ │ ├── ErrorType.cs
│ │ │ ├── Event.cs
│ │ │ ├── ExceptionRegion.cs
│ │ │ ├── Field.cs
│ │ │ ├── File.cs
│ │ │ ├── Folder.cs
│ │ │ ├── FunctionPointerType.cs
│ │ │ ├── GenericsHelper.cs
│ │ │ ├── IFileOrFolder.cs
│ │ │ ├── ILocation.cs
│ │ │ ├── IMember.cs
│ │ │ ├── IParameterizable.cs
│ │ │ ├── ITypeSignature.cs
│ │ │ ├── Instruction.cs
│ │ │ ├── LocalVariable.cs
│ │ │ ├── MemberReferenceField.cs
│ │ │ ├── MemberReferenceMethod.cs
│ │ │ ├── Method.cs
│ │ │ ├── MethodImplementation.cs
│ │ │ ├── MethodSpecificationMethod.cs
│ │ │ ├── MethodTypeParameter.cs
│ │ │ ├── ModifiedType.cs
│ │ │ ├── NamedTypeIdWriter.cs
│ │ │ ├── Namespace.cs
│ │ │ ├── NoMetadataHandleType.FullyQualifiedNameParser.cs
│ │ │ ├── NoMetadataHandleType.cs
│ │ │ ├── Parameter.cs
│ │ │ ├── PdbSourceFile.cs
│ │ │ ├── PointerType.cs
│ │ │ ├── PrimitiveType.cs
│ │ │ ├── Property.cs
│ │ │ ├── SignatureDecoder.cs
│ │ │ ├── SourceLocation.cs
│ │ │ ├── Type.cs
│ │ │ ├── TypeAnnotation.cs
│ │ │ ├── TypeContainer.cs
│ │ │ ├── TypeDefinitionType.cs
│ │ │ ├── TypeParameter.cs
│ │ │ ├── TypeReferenceType.cs
│ │ │ ├── TypeSignatureDecoder.cs
│ │ │ └── TypeTypeParameter.cs
│ │ ├── ICustomModifierReceiver.cs
│ │ ├── Id.cs
│ │ ├── PDB
│ │ │ ├── IPdb.cs
│ │ │ ├── ISourceFile.cs
│ │ │ ├── Location.cs
│ │ │ ├── MdProvider.cs
│ │ │ ├── MetadataPdbReader.cs
│ │ │ ├── Method.cs
│ │ │ ├── NativePdbReader.cs
│ │ │ ├── PdbReader.cs
│ │ │ └── SequencePoint.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Semmle.Extraction.CIL.csproj
│ │ └── Tuples.cs
│ ├── Semmle.Extraction.CSharp.Driver
│ │ ├── Driver.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Semmle.Extraction.CSharp.Driver.csproj
│ ├── Semmle.Extraction.CSharp.Standalone
│ │ ├── AssemblyCache.cs
│ │ ├── AssemblyInfo.cs
│ │ ├── AssemblyLoadException.cs
│ │ ├── BuildAnalysis.cs
│ │ ├── CsProjFile.cs
│ │ ├── DotNet.cs
│ │ ├── NugetPackages.cs
│ │ ├── Options.cs
│ │ ├── Program.cs
│ │ ├── ProgressMonitor.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Runtime.cs
│ │ ├── Semmle.Extraction.CSharp.Standalone.csproj
│ │ └── SolutionFile.cs
│ ├── Semmle.Extraction.CSharp
│ │ ├── CachedEntityFactory.cs
│ │ ├── Comments
│ │ │ ├── CommentBinding.cs
│ │ │ ├── CommentBlock.cs
│ │ │ ├── CommentLineType.cs
│ │ │ └── CommentProcessor.cs
│ │ ├── Entities
│ │ │ ├── Accessor.cs
│ │ │ ├── Assembly.cs
│ │ │ ├── Attribute.cs
│ │ │ ├── CachedEntity.cs
│ │ │ ├── CachedSymbol.cs
│ │ │ ├── CallTypeExtensions.cs
│ │ │ ├── CommentBlock.cs
│ │ │ ├── CommentLine.cs
│ │ │ ├── Compilations
│ │ │ │ ├── Compilation.cs
│ │ │ │ ├── Diagnostic.cs
│ │ │ │ ├── PerformanceMetrics.cs
│ │ │ │ └── Timings.cs
│ │ │ ├── Constructor.cs
│ │ │ ├── Conversion.cs
│ │ │ ├── Destructor.cs
│ │ │ ├── Event.cs
│ │ │ ├── EventAccessor.cs
│ │ │ ├── Expression.cs
│ │ │ ├── ExpressionInfo.cs
│ │ │ ├── ExpressionNodeInfo.cs
│ │ │ ├── Expression`1.cs
│ │ │ ├── Expressions
│ │ │ │ ├── Access.cs
│ │ │ │ ├── ArgList.cs
│ │ │ │ ├── ArrayCreation.cs
│ │ │ │ ├── Assignment.cs
│ │ │ │ ├── Await.cs
│ │ │ │ ├── Base.cs
│ │ │ │ ├── Binary.cs
│ │ │ │ ├── Cast.cs
│ │ │ │ ├── Checked.cs
│ │ │ │ ├── Conditional.cs
│ │ │ │ ├── Default.cs
│ │ │ │ ├── DefineSymbol.cs
│ │ │ │ ├── Discard.cs
│ │ │ │ ├── ElementAccess.cs
│ │ │ │ ├── Factory.cs
│ │ │ │ ├── ImplicitCast.cs
│ │ │ │ ├── Initializer.cs
│ │ │ │ ├── InterpolatedString.cs
│ │ │ │ ├── Invocation.cs
│ │ │ │ ├── IsPattern.cs
│ │ │ │ ├── Lambda.cs
│ │ │ │ ├── Literal.cs
│ │ │ │ ├── MakeRef.cs
│ │ │ │ ├── MemberAccess.cs
│ │ │ │ ├── Name.cs
│ │ │ │ ├── ObjectCreation
│ │ │ │ │ ├── AnonymousObjectCreation.cs
│ │ │ │ │ ├── BaseObjectCreation.cs
│ │ │ │ │ ├── ExplicitObjectCreation.cs
│ │ │ │ │ └── ImplicitObjectCreation.cs
│ │ │ │ ├── Patterns
│ │ │ │ │ ├── BinaryPattern.cs
│ │ │ │ │ ├── Pattern.cs
│ │ │ │ │ ├── PositionalPattern.cs
│ │ │ │ │ ├── PropertyPattern.cs
│ │ │ │ │ ├── RecursivePattern.cs
│ │ │ │ │ ├── RelationalPattern.cs
│ │ │ │ │ └── UnaryPattern.cs
│ │ │ │ ├── PointerMemberAccess.cs
│ │ │ │ ├── PostfixUnary.cs
│ │ │ │ ├── Query.cs
│ │ │ │ ├── RangeExpression.cs
│ │ │ │ ├── Ref.cs
│ │ │ │ ├── RefType.cs
│ │ │ │ ├── RefValue.cs
│ │ │ │ ├── Sizeof.cs
│ │ │ │ ├── Switch.cs
│ │ │ │ ├── This.cs
│ │ │ │ ├── Throw.cs
│ │ │ │ ├── Tuple.cs
│ │ │ │ ├── TypeAccess.cs
│ │ │ │ ├── TypeOf.cs
│ │ │ │ ├── Unary.cs
│ │ │ │ ├── Unchecked.cs
│ │ │ │ ├── Unknown.cs
│ │ │ │ ├── VariableDeclaration.cs
│ │ │ │ └── WithExpression.cs
│ │ │ ├── Field.cs
│ │ │ ├── File.cs
│ │ │ ├── FreshEntity.cs
│ │ │ ├── IExpressionInfo.cs
│ │ │ ├── IExpressionParentEntity.cs
│ │ │ ├── IStatementParentEntity.cs
│ │ │ ├── Indexer.cs
│ │ │ ├── LocalFunction.cs
│ │ │ ├── LocalVariable.cs
│ │ │ ├── Method.cs
│ │ │ ├── Modifier.cs
│ │ │ ├── Namespace.cs
│ │ │ ├── NamespaceDeclaration.cs
│ │ │ ├── NonGeneratedSourceLocation.cs
│ │ │ ├── OrdinaryMethod.cs
│ │ │ ├── Parameter.cs
│ │ │ ├── PreprocessorDirectives
│ │ │ │ ├── DefineDirective.cs
│ │ │ │ ├── ElifDirective.cs
│ │ │ │ ├── ElseDirective.cs
│ │ │ │ ├── EndIfDirective.cs
│ │ │ │ ├── EndRegionDirective.cs
│ │ │ │ ├── ErrorDirective.cs
│ │ │ │ ├── IIfSiblingDirective.cs
│ │ │ │ ├── IfDirective.cs
│ │ │ │ ├── LineDirective.cs
│ │ │ │ ├── NullableDirective.cs
│ │ │ │ ├── PragmaChecksumDirective.cs
│ │ │ │ ├── PragmaWarningDirective.cs
│ │ │ │ ├── PreprocessorDirective.cs
│ │ │ │ ├── RegionDirective.cs
│ │ │ │ ├── UndefineDirective.cs
│ │ │ │ └── WarningDirective.cs
│ │ │ ├── Property.cs
│ │ │ ├── Statement.cs
│ │ │ ├── Statement`1.cs
│ │ │ ├── Statements
│ │ │ │ ├── Block.cs
│ │ │ │ ├── Break.cs
│ │ │ │ ├── Case.cs
│ │ │ │ ├── Catch.cs
│ │ │ │ ├── Checked.cs
│ │ │ │ ├── Continue.cs
│ │ │ │ ├── Do.cs
│ │ │ │ ├── Empty.cs
│ │ │ │ ├── ExpressionStatement.cs
│ │ │ │ ├── Factory.cs
│ │ │ │ ├── Fixed.cs
│ │ │ │ ├── For.cs
│ │ │ │ ├── ForEach.cs
│ │ │ │ ├── GlobalStatementsBlock.cs
│ │ │ │ ├── Goto.cs
│ │ │ │ ├── If.cs
│ │ │ │ ├── Labeled.cs
│ │ │ │ ├── LocalDeclaration.cs
│ │ │ │ ├── LocalFunction.cs
│ │ │ │ ├── Lock.cs
│ │ │ │ ├── Return.cs
│ │ │ │ ├── Switch.cs
│ │ │ │ ├── Throw.cs
│ │ │ │ ├── Try.cs
│ │ │ │ ├── Unchecked.cs
│ │ │ │ ├── Unsafe.cs
│ │ │ │ ├── Using.cs
│ │ │ │ ├── While.cs
│ │ │ │ └── Yield.cs
│ │ │ ├── TypeMention.cs
│ │ │ ├── Types
│ │ │ │ ├── ArrayType.cs
│ │ │ │ ├── DynamicType.cs
│ │ │ │ ├── FunctionPointerType.cs
│ │ │ │ ├── NamedType.cs
│ │ │ │ ├── NullType.cs
│ │ │ │ ├── Nullability.cs
│ │ │ │ ├── PointerType.cs
│ │ │ │ ├── TupleType.cs
│ │ │ │ ├── Type.cs
│ │ │ │ ├── TypeParameter.cs
│ │ │ │ └── TypeParameterConstraints.cs
│ │ │ ├── UserOperator.cs
│ │ │ └── UsingDirective.cs
│ │ ├── Extractor
│ │ │ ├── Analyser.cs
│ │ │ ├── AnalysisAction.cs
│ │ │ ├── CompilerVersion.cs
│ │ │ ├── Context.cs
│ │ │ ├── Extractor.cs
│ │ │ ├── IProgressMonitor.cs
│ │ │ ├── Options.cs
│ │ │ ├── StandaloneAnalyser.cs
│ │ │ └── TracingAnalyser.cs
│ │ ├── Kinds
│ │ │ ├── ExprKind.cs
│ │ │ ├── StmtKind.cs
│ │ │ ├── TypeAnnotation.cs
│ │ │ └── TypeKind.cs
│ │ ├── Populators
│ │ │ ├── AstLineCounter.cs
│ │ │ ├── CommentPopulator.cs
│ │ │ ├── CompilationUnitVisitor.cs
│ │ │ ├── DirectiveVisitor.cs
│ │ │ ├── Locations.cs
│ │ │ ├── Symbols.cs
│ │ │ ├── TypeContainerVisitor.cs
│ │ │ └── TypeOrNamespaceVisitor.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Semmle.Extraction.CSharp.csproj
│ │ ├── SymbolExtensions.cs
│ │ └── Tuples.cs
│ ├── Semmle.Extraction.Tests
│ │ ├── FilePattern.cs
│ │ ├── Layout.cs
│ │ ├── Options.cs
│ │ ├── PathTransformer.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Semmle.Extraction.Tests.csproj
│ │ └── TrapWriter.cs
│ ├── Semmle.Extraction
│ │ ├── AssemblyScope.cs
│ │ ├── Context.cs
│ │ ├── Entities
│ │ │ ├── Base
│ │ │ │ ├── CachedEntityFactory.cs
│ │ │ │ ├── CachedEntityFactoryExtensions.cs
│ │ │ │ ├── CachedEntity`1.cs
│ │ │ │ ├── Entity.cs
│ │ │ │ ├── FreshEntity.cs
│ │ │ │ ├── IEntity.cs
│ │ │ │ ├── LabelledEntity.cs
│ │ │ │ └── UnlabelledEntity.cs
│ │ │ ├── ExtractionError.cs
│ │ │ ├── File.cs
│ │ │ ├── Folder.cs
│ │ │ ├── GeneratedFile.cs
│ │ │ ├── GeneratedLocation.cs
│ │ │ ├── Location.cs
│ │ │ └── SourceLocation.cs
│ │ ├── Extractor
│ │ │ ├── Extractor.cs
│ │ │ ├── StandaloneExtractor.cs
│ │ │ └── TracingExtractor.cs
│ │ ├── FilePattern.cs
│ │ ├── IExtractionScope.cs
│ │ ├── Id.cs
│ │ ├── InternalError.cs
│ │ ├── Layout.cs
│ │ ├── LocationExtensions.cs
│ │ ├── Message.cs
│ │ ├── Options.cs
│ │ ├── PathTransformer.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Semmle.Extraction.csproj
│ │ ├── Semmle.Extraction.ruleset
│ │ ├── SourceScope.cs
│ │ ├── TrapExtensions.cs
│ │ ├── TrapStackBehaviour.cs
│ │ ├── TrapWriter.cs
│ │ ├── Tuple.cs
│ │ └── Tuples.cs
│ ├── Semmle.Util.Tests
│ │ ├── ActionMap.cs
│ │ ├── CanonicalPathCache.cs
│ │ ├── FileUtils.cs
│ │ ├── LineCounterTest.cs
│ │ ├── LongPaths.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Semmle.Util.Tests.csproj
│ │ └── TextTest.cs
│ └── Semmle.Util
│ │ ├── ActionMap.cs
│ │ ├── CanonicalPathCache.cs
│ │ ├── CommandLineExtensions.cs
│ │ ├── CommandLineOptions.cs
│ │ ├── DictionaryExtensions.cs
│ │ ├── Enumerators.cs
│ │ ├── FileRenamer.cs
│ │ ├── FileUtils.cs
│ │ ├── FuzzyDictionary.cs
│ │ ├── IEnumerableExtensions.cs
│ │ ├── LineCounter.cs
│ │ ├── Logger.cs
│ │ ├── LoggerUtils.cs
│ │ ├── ProcessStartInfoExtensions.cs
│ │ ├── Properties
│ │ └── AssemblyInfo.cs
│ │ ├── Semmle.Util.csproj
│ │ ├── SharedReference.cs
│ │ ├── StringBuilder.cs
│ │ ├── StringExtensions.cs
│ │ ├── TemporaryDirectory.cs
│ │ ├── Text.cs
│ │ ├── Win32.cs
│ │ └── Worklist.cs
├── fix-whitespaces.sh
├── ql
│ ├── examples
│ │ ├── qlpack.yml
│ │ ├── queries.xml
│ │ └── snippets
│ │ │ ├── array_access.ql
│ │ │ ├── cast_expr.ql
│ │ │ ├── catch_exception.ql
│ │ │ ├── constructor_call.ql
│ │ │ ├── empty_block.ql
│ │ │ ├── empty_then.ql
│ │ │ ├── eq_true.ql
│ │ │ ├── extend_class.ql
│ │ │ ├── extern_method.ql
│ │ │ ├── field_read.ql
│ │ │ ├── integer_literal.ql
│ │ │ ├── method_call.ql
│ │ │ ├── mutual_recursion.ql
│ │ │ ├── null_argument.ql
│ │ │ ├── override_method.ql
│ │ │ ├── qualifier.ql
│ │ │ ├── return_statement.ql
│ │ │ ├── singleton_block.ql
│ │ │ ├── switch_case.ql
│ │ │ ├── ternary_conditional.ql
│ │ │ ├── throw_exception.ql
│ │ │ ├── todo_comment.ql
│ │ │ ├── too_many_params.ql
│ │ │ ├── try_finally.ql
│ │ │ ├── unused_local_var.ql
│ │ │ ├── unused_param.ql
│ │ │ ├── void_return_type.ql
│ │ │ └── volatile_field.ql
│ ├── src
│ │ ├── .project
│ │ ├── .qlpath
│ │ ├── .vs
│ │ │ └── VSWorkspaceSettings.json
│ │ ├── API Abuse
│ │ │ ├── CallToGCCollect.qhelp
│ │ │ ├── CallToGCCollect.ql
│ │ │ ├── CallToGCCollectBad.cs
│ │ │ ├── CallToObsoleteMethod.qhelp
│ │ │ ├── CallToObsoleteMethod.ql
│ │ │ ├── CallToObsoleteMethodBad.cs
│ │ │ ├── CallToObsoleteMethodGood.cs
│ │ │ ├── ClassDoesNotImplementEquals.qhelp
│ │ │ ├── ClassDoesNotImplementEquals.ql
│ │ │ ├── ClassDoesNotImplementEqualsBad.cs
│ │ │ ├── ClassDoesNotImplementEqualsGood.cs
│ │ │ ├── ClassImplementsICloneable.qhelp
│ │ │ ├── ClassImplementsICloneable.ql
│ │ │ ├── ClassImplementsICloneableBad.cs
│ │ │ ├── Dispose.qll
│ │ │ ├── DisposeNotCalledOnException.qhelp
│ │ │ ├── DisposeNotCalledOnException.ql
│ │ │ ├── DisposeNotCalledOnExceptionBad.cs
│ │ │ ├── DisposeNotCalledOnExceptionGood.cs
│ │ │ ├── FormatInvalid.qhelp
│ │ │ ├── FormatInvalid.ql
│ │ │ ├── FormatInvalidBad.cs
│ │ │ ├── FormatInvalidGood.cs
│ │ │ ├── FormatMissingArgumentBad.cs
│ │ │ ├── FormatMissingArgumentGood.cs
│ │ │ ├── FormatUnusedArgumentBad.cs
│ │ │ ├── InconsistentEqualsGetHashCode.qhelp
│ │ │ ├── InconsistentEqualsGetHashCode.ql
│ │ │ ├── InconsistentEqualsGetHashCodeBad.cs
│ │ │ ├── InconsistentEqualsGetHashCodeGood.cs
│ │ │ ├── IncorrectCompareToSignature.qhelp
│ │ │ ├── IncorrectCompareToSignature.ql
│ │ │ ├── IncorrectCompareToSignatureBad.cs
│ │ │ ├── IncorrectCompareToSignatureGood.cs
│ │ │ ├── IncorrectEqualsSignature.qhelp
│ │ │ ├── IncorrectEqualsSignature.ql
│ │ │ ├── IncorrectEqualsSignatureBad.cs
│ │ │ ├── IncorrectEqualsSignatureGood.cs
│ │ │ ├── MissingDisposeCall.qhelp
│ │ │ ├── MissingDisposeCall.ql
│ │ │ ├── MissingDisposeCallBad.cs
│ │ │ ├── MissingDisposeCallGood.cs
│ │ │ ├── MissingDisposeMethod.qhelp
│ │ │ ├── MissingDisposeMethod.ql
│ │ │ ├── MissingDisposeMethodBad.cs
│ │ │ ├── MissingDisposeMethodGood.cs
│ │ │ ├── NoDisposeCallOnLocalIDisposable.qhelp
│ │ │ ├── NoDisposeCallOnLocalIDisposable.ql
│ │ │ ├── NoDisposeCallOnLocalIDisposableBad.cs
│ │ │ ├── NoDisposeCallOnLocalIDisposableGood.cs
│ │ │ ├── NonOverridingMethod.qhelp
│ │ │ ├── NonOverridingMethod.ql
│ │ │ ├── NonOverridingMethodBad.cs
│ │ │ ├── NonOverridingMethodGood.cs
│ │ │ ├── NullArgumentToEquals.qhelp
│ │ │ ├── NullArgumentToEquals.ql
│ │ │ ├── NullArgumentToEqualsBad.cs
│ │ │ ├── NullArgumentToEqualsGood.cs
│ │ │ ├── UncheckedReturnValue.qhelp
│ │ │ ├── UncheckedReturnValue.ql
│ │ │ └── UncheckedReturnValueBad.cs
│ │ ├── ASP
│ │ │ ├── BlockCodeResponseWrite.qhelp
│ │ │ ├── BlockCodeResponseWrite.ql
│ │ │ ├── BlockCodeResponseWriteBad.aspx
│ │ │ ├── BlockCodeResponseWriteGood.aspx
│ │ │ ├── ComplexInlineCode.qhelp
│ │ │ ├── ComplexInlineCode.ql
│ │ │ ├── ComplexInlineCodeBad.aspx
│ │ │ ├── ComplexInlineCodeGood.aspx
│ │ │ ├── NonInternationalizedText.qhelp
│ │ │ ├── NonInternationalizedText.ql
│ │ │ ├── NonInternationalizedTextBad.aspx
│ │ │ ├── NonInternationalizedTextGood.aspx
│ │ │ ├── SplitControlStructure.qhelp
│ │ │ ├── SplitControlStructure.ql
│ │ │ ├── SplitControlStructureBad.aspx
│ │ │ └── SplitControlStructureGood.aspx
│ │ ├── AlertSuppression.ql
│ │ ├── Architecture
│ │ │ ├── Dependencies
│ │ │ │ ├── MutualDependency.qhelp
│ │ │ │ ├── MutualDependency.ql
│ │ │ │ ├── MutualDependencyBad.cs
│ │ │ │ └── MutualDependencyGood.cs
│ │ │ └── Refactoring Opportunities
│ │ │ │ ├── FeatureEnvy.qhelp
│ │ │ │ ├── FeatureEnvy.ql
│ │ │ │ ├── FeatureEnvyBad.cs
│ │ │ │ ├── FeatureEnvyGood.cs
│ │ │ │ ├── InappropriateIntimacy.qhelp
│ │ │ │ └── InappropriateIntimacy.ql
│ │ ├── Bad Practices
│ │ │ ├── CallsUnmanagedCode.cs
│ │ │ ├── CallsUnmanagedCode.qhelp
│ │ │ ├── CallsUnmanagedCode.ql
│ │ │ ├── CallsUnmanagedCodeFix.cs
│ │ │ ├── CatchOfNullReferenceException.cs
│ │ │ ├── CatchOfNullReferenceException.qhelp
│ │ │ ├── CatchOfNullReferenceException.ql
│ │ │ ├── CatchOfNullReferenceExceptionFix.cs
│ │ │ ├── Comments
│ │ │ │ ├── CommentedOutCode.qhelp
│ │ │ │ ├── CommentedOutCode.ql
│ │ │ │ ├── CommentedOutCodeQuery.inc.qhelp
│ │ │ │ ├── TodoComments.qhelp
│ │ │ │ ├── TodoComments.ql
│ │ │ │ └── TodoCommentsBad.cs
│ │ │ ├── Control-Flow
│ │ │ │ ├── ConstantCondition.qhelp
│ │ │ │ ├── ConstantCondition.ql
│ │ │ │ ├── ConstantConditionBad.cs
│ │ │ │ └── ConstantConditionGood.cs
│ │ │ ├── Declarations
│ │ │ │ ├── EmptyInterface.qhelp
│ │ │ │ ├── EmptyInterface.ql
│ │ │ │ ├── EmptyInterfaceBad.cs
│ │ │ │ ├── EmptyInterfaceGood.cs
│ │ │ │ ├── LocalScopeVariableShadowsMember.qhelp
│ │ │ │ ├── LocalScopeVariableShadowsMember.ql
│ │ │ │ ├── LocalScopeVariableShadowsMemberBad.cs
│ │ │ │ ├── LocalScopeVariableShadowsMemberGood.cs
│ │ │ │ ├── NoConstantsOnly.qhelp
│ │ │ │ ├── NoConstantsOnly.ql
│ │ │ │ ├── NoConstantsOnlyBad.cs
│ │ │ │ ├── TooManyRefParameters.qhelp
│ │ │ │ ├── TooManyRefParameters.ql
│ │ │ │ ├── TooManyRefParametersBad.cs
│ │ │ │ └── TooManyRefParametersGood.cs
│ │ │ ├── EmptyCatchBlock.cs
│ │ │ ├── EmptyCatchBlock.qhelp
│ │ │ ├── EmptyCatchBlock.ql
│ │ │ ├── ErroneousClassCompare.cs
│ │ │ ├── ErroneousClassCompare.qhelp
│ │ │ ├── ErroneousClassCompare.ql
│ │ │ ├── ErroneousClassCompareFix.cs
│ │ │ ├── Implementation Hiding
│ │ │ │ ├── AbstractToConcreteCollection.qhelp
│ │ │ │ ├── AbstractToConcreteCollection.ql
│ │ │ │ ├── AbstractToConcreteCollectionBad.cs
│ │ │ │ ├── ExposeRepresentation.qhelp
│ │ │ │ ├── ExposeRepresentation.ql
│ │ │ │ ├── ExposeRepresentationBad.cs
│ │ │ │ ├── ExposeRepresentationGood1.cs
│ │ │ │ ├── ExposeRepresentationGood2.cs
│ │ │ │ ├── StaticArray.qhelp
│ │ │ │ ├── StaticArray.ql
│ │ │ │ ├── StaticArrayBad.cs
│ │ │ │ └── StaticArrayGood.cs
│ │ │ ├── LeftoverDebugCode.cs
│ │ │ ├── LeftoverDebugCode.qhelp
│ │ │ ├── LeftoverDebugCode.ql
│ │ │ ├── Magic Constants
│ │ │ │ ├── MagicConstants.qll
│ │ │ │ ├── MagicConstantsNumbers.cs
│ │ │ │ ├── MagicConstantsNumbers.qhelp
│ │ │ │ ├── MagicConstantsNumbers.ql
│ │ │ │ ├── MagicConstantsString.cs
│ │ │ │ ├── MagicConstantsString.qhelp
│ │ │ │ ├── MagicConstantsString.ql
│ │ │ │ ├── MagicNumbersUseConstant.cs
│ │ │ │ ├── MagicNumbersUseConstant.qhelp
│ │ │ │ ├── MagicNumbersUseConstant.ql
│ │ │ │ ├── MagicStringsUseConstant.cs
│ │ │ │ ├── MagicStringsUseConstant.qhelp
│ │ │ │ └── MagicStringsUseConstant.ql
│ │ │ ├── Naming Conventions
│ │ │ │ ├── ConfusingMethodNames.cs
│ │ │ │ ├── ConfusingMethodNames.qhelp
│ │ │ │ ├── ConfusingMethodNames.ql
│ │ │ │ ├── ConfusingOverridesNames.cs
│ │ │ │ ├── ConfusingOverridesNames.qhelp
│ │ │ │ ├── ConfusingOverridesNames.ql
│ │ │ │ ├── ConstantNaming.cs
│ │ │ │ ├── ConstantNaming.qhelp
│ │ │ │ ├── ConstantNaming.ql
│ │ │ │ ├── ControlNamePrefixes.qhelp
│ │ │ │ ├── ControlNamePrefixes.ql
│ │ │ │ ├── DefaultControlNames.qhelp
│ │ │ │ ├── DefaultControlNames.ql
│ │ │ │ ├── FieldMasksSuperField.cs
│ │ │ │ ├── FieldMasksSuperField.qhelp
│ │ │ │ ├── FieldMasksSuperField.ql
│ │ │ │ ├── SameNameAsSuper.cs
│ │ │ │ ├── SameNameAsSuper.qhelp
│ │ │ │ ├── SameNameAsSuper.ql
│ │ │ │ ├── VariableNameTooShort.cs
│ │ │ │ ├── VariableNameTooShort.qhelp
│ │ │ │ ├── VariableNameTooShort.ql
│ │ │ │ └── VariableNameTooShortAcceptable.cs
│ │ │ ├── UnmanagedCodeCheck.cs
│ │ │ ├── UnmanagedCodeCheck.qhelp
│ │ │ ├── UnmanagedCodeCheck.ql
│ │ │ ├── UseOfHtmlInputHidden.cs
│ │ │ ├── UseOfHtmlInputHidden.qhelp
│ │ │ ├── UseOfHtmlInputHidden.ql
│ │ │ ├── UseOfSystemOutputStream.cs
│ │ │ ├── UseOfSystemOutputStream.qhelp
│ │ │ ├── UseOfSystemOutputStream.ql
│ │ │ ├── VirtualCallInConstructorOrDestructor.cs
│ │ │ ├── VirtualCallInConstructorOrDestructor.qhelp
│ │ │ └── VirtualCallInConstructorOrDestructor.ql
│ │ ├── CSI
│ │ │ ├── CompareIdenticalValues.cs
│ │ │ ├── CompareIdenticalValues.qhelp
│ │ │ ├── CompareIdenticalValues.ql
│ │ │ ├── NullAlways.qhelp
│ │ │ ├── NullAlways.ql
│ │ │ ├── NullAlwaysBad.cs
│ │ │ ├── NullAlwaysGood.cs
│ │ │ ├── NullMaybe.qhelp
│ │ │ ├── NullMaybe.ql
│ │ │ ├── NullMaybeBad.cs
│ │ │ └── NullMaybeGood.cs
│ │ ├── Complexity
│ │ │ ├── BlockWithTooManyStatements.qhelp
│ │ │ ├── BlockWithTooManyStatements.ql
│ │ │ ├── ComplexCondition.cs
│ │ │ ├── ComplexCondition.qhelp
│ │ │ └── ComplexCondition.ql
│ │ ├── Concurrency
│ │ │ ├── Concurrency.qll
│ │ │ ├── DataMembers.qll
│ │ │ ├── FutileSyncOnField.cs
│ │ │ ├── FutileSyncOnField.qhelp
│ │ │ ├── FutileSyncOnField.ql
│ │ │ ├── FutileSyncOnFieldFix.cs
│ │ │ ├── LockOrder.qhelp
│ │ │ ├── LockOrder.ql
│ │ │ ├── LockOrderBad.cs
│ │ │ ├── LockOrderGood.cs
│ │ │ ├── LockThis.cs
│ │ │ ├── LockThis.qhelp
│ │ │ ├── LockThis.ql
│ │ │ ├── LockedWait.cs
│ │ │ ├── LockedWait.qhelp
│ │ │ ├── LockedWait.ql
│ │ │ ├── LockedWaitFix.cs
│ │ │ ├── SynchSetUnsynchGet.cs
│ │ │ ├── SynchSetUnsynchGet.qhelp
│ │ │ ├── SynchSetUnsynchGet.ql
│ │ │ ├── SynchSetUnsynchGetFix.cs
│ │ │ ├── ThreadCreation.qll
│ │ │ ├── UnsafeLazyInitialization.qhelp
│ │ │ ├── UnsafeLazyInitialization.ql
│ │ │ ├── UnsafeLazyInitialization1.cs
│ │ │ ├── UnsafeLazyInitialization2.cs
│ │ │ ├── UnsafeLazyInitializationFix1.cs
│ │ │ ├── UnsafeLazyInitializationFix2.cs
│ │ │ ├── UnsafeLazyInitializationFix3.cs
│ │ │ ├── UnsynchronizedStaticAccess.cs
│ │ │ ├── UnsynchronizedStaticAccess.qhelp
│ │ │ └── UnsynchronizedStaticAccess.ql
│ │ ├── Configuration
│ │ │ ├── EmptyPasswordInConfigurationFile.qhelp
│ │ │ ├── EmptyPasswordInConfigurationFile.ql
│ │ │ ├── PasswordInConfigurationFile.qhelp
│ │ │ └── PasswordInConfigurationFile.ql
│ │ ├── Dead Code
│ │ │ ├── DeadCode.qll
│ │ │ ├── DeadRefTypes.cs
│ │ │ ├── DeadRefTypes.qhelp
│ │ │ ├── DeadRefTypes.ql
│ │ │ ├── DeadStoreOfLocal.qhelp
│ │ │ ├── DeadStoreOfLocal.ql
│ │ │ ├── DeadStoreOfLocalBad.cs
│ │ │ ├── DeadStoreOfLocalGood.cs
│ │ │ ├── NonAssignedFields.cs
│ │ │ ├── NonAssignedFields.qhelp
│ │ │ ├── NonAssignedFields.ql
│ │ │ ├── UnusedField.cs
│ │ │ ├── UnusedField.qhelp
│ │ │ ├── UnusedField.ql
│ │ │ ├── UnusedMethod.cs
│ │ │ ├── UnusedMethod.qhelp
│ │ │ └── UnusedMethod.ql
│ │ ├── Diagnostics
│ │ │ ├── CompilerError.qhelp
│ │ │ ├── CompilerError.ql
│ │ │ ├── CompilerMessage.qhelp
│ │ │ ├── CompilerMessage.ql
│ │ │ ├── ExtractorError.qhelp
│ │ │ ├── ExtractorError.ql
│ │ │ ├── ExtractorMessage.qhelp
│ │ │ └── ExtractorMessage.ql
│ │ ├── Documentation
│ │ │ ├── Documentation.qll
│ │ │ ├── XmldocClass.cs
│ │ │ ├── XmldocExample.cs
│ │ │ ├── XmldocExtraParam.cs
│ │ │ ├── XmldocExtraParam.qhelp
│ │ │ ├── XmldocExtraParam.ql
│ │ │ ├── XmldocExtraTypeParam.qhelp
│ │ │ ├── XmldocExtraTypeParam.ql
│ │ │ ├── XmldocMethod.cs
│ │ │ ├── XmldocMissing.qhelp
│ │ │ ├── XmldocMissing.ql
│ │ │ ├── XmldocMissingException.qhelp
│ │ │ ├── XmldocMissingException.ql
│ │ │ ├── XmldocMissingParam.qhelp
│ │ │ ├── XmldocMissingParam.ql
│ │ │ ├── XmldocMissingReturn.qhelp
│ │ │ ├── XmldocMissingReturn.ql
│ │ │ ├── XmldocMissingSummary.qhelp
│ │ │ ├── XmldocMissingSummary.ql
│ │ │ ├── XmldocMissingTypeParam.qhelp
│ │ │ ├── XmldocMissingTypeParam.ql
│ │ │ └── XmldocTypeParam.cs
│ │ ├── IDEContextual.qll
│ │ ├── Input Validation
│ │ │ ├── UseOfFileUpload.cs
│ │ │ ├── UseOfFileUpload.qhelp
│ │ │ ├── UseOfFileUpload.ql
│ │ │ ├── ValueShadowing.cs
│ │ │ ├── ValueShadowing.qhelp
│ │ │ ├── ValueShadowing.ql
│ │ │ ├── ValueShadowingFix.cs
│ │ │ ├── ValueShadowingServerVariable.cs
│ │ │ ├── ValueShadowingServerVariable.qhelp
│ │ │ ├── ValueShadowingServerVariable.ql
│ │ │ └── ValueShadowingServerVariableFix.cs
│ │ ├── Language Abuse
│ │ │ ├── CastThisToTypeParameter.cs
│ │ │ ├── CastThisToTypeParameter.qhelp
│ │ │ ├── CastThisToTypeParameter.ql
│ │ │ ├── CastThisToTypeParameterFix.cs
│ │ │ ├── CatchOfGenericException.cs
│ │ │ ├── CatchOfGenericException.qhelp
│ │ │ ├── CatchOfGenericException.ql
│ │ │ ├── CatchOfGenericExceptionFix.cs
│ │ │ ├── ChainedIs.cs
│ │ │ ├── ChainedIs.qhelp
│ │ │ ├── ChainedIs.ql
│ │ │ ├── ChainedIsFix1.cs
│ │ │ ├── ChainedIsFix2.cs
│ │ │ ├── DubiousDowncastOfThis.cs
│ │ │ ├── DubiousDowncastOfThis.qhelp
│ │ │ ├── DubiousDowncastOfThis.ql
│ │ │ ├── DubiousTypeTestOfThis.cs
│ │ │ ├── DubiousTypeTestOfThis.qhelp
│ │ │ ├── DubiousTypeTestOfThis.ql
│ │ │ ├── ForeachCapture.cs
│ │ │ ├── ForeachCapture.qhelp
│ │ │ ├── ForeachCapture.ql
│ │ │ ├── ForeachCaptureFix.cs
│ │ │ ├── MissedReadonlyOpportunity.qhelp
│ │ │ ├── MissedReadonlyOpportunity.ql
│ │ │ ├── MissedReadonlyOpportunityBad.cs
│ │ │ ├── MissedReadonlyOpportunityGood.cs
│ │ │ ├── MissedTernaryOpportunity.cs
│ │ │ ├── MissedTernaryOpportunity.qhelp
│ │ │ ├── MissedTernaryOpportunity.ql
│ │ │ ├── MissedTernaryOpportunityFix.cs
│ │ │ ├── MissedUsingOpportunity.cs
│ │ │ ├── MissedUsingOpportunity.qhelp
│ │ │ ├── MissedUsingOpportunity.ql
│ │ │ ├── MissedUsingOpportunityFix.cs
│ │ │ ├── NestedIf.cs
│ │ │ ├── NestedIf.qhelp
│ │ │ ├── NestedIf.ql
│ │ │ ├── NestedIfFix.cs
│ │ │ ├── RethrowException.cs
│ │ │ ├── RethrowException.qhelp
│ │ │ ├── RethrowException.ql
│ │ │ ├── RethrowExceptionFix.cs
│ │ │ ├── SimplifyBoolExpr.qhelp
│ │ │ ├── SimplifyBoolExpr.ql
│ │ │ ├── SimplifyBoolExprBad.cs
│ │ │ ├── SimplifyBoolExprGood.cs
│ │ │ ├── UnusedPropertyValue.cs
│ │ │ ├── UnusedPropertyValue.qhelp
│ │ │ ├── UnusedPropertyValue.ql
│ │ │ ├── UnusedPropertyValueFix.cs
│ │ │ ├── UselessCastToSelf.cs
│ │ │ ├── UselessCastToSelf.qhelp
│ │ │ ├── UselessCastToSelf.ql
│ │ │ ├── UselessCastToSelfFix.cs
│ │ │ ├── UselessIsBeforeAs.cs
│ │ │ ├── UselessIsBeforeAs.qhelp
│ │ │ ├── UselessIsBeforeAs.ql
│ │ │ ├── UselessIsBeforeAsFix.cs
│ │ │ ├── UselessNullCoalescingExpression.cs
│ │ │ ├── UselessNullCoalescingExpression.qhelp
│ │ │ ├── UselessNullCoalescingExpression.ql
│ │ │ ├── UselessTypeTest.cs
│ │ │ ├── UselessTypeTest.qhelp
│ │ │ ├── UselessTypeTest.ql
│ │ │ ├── UselessUpcast.qhelp
│ │ │ ├── UselessUpcast.ql
│ │ │ └── UselessUpcastBad.cs
│ │ ├── Likely Bugs
│ │ │ ├── BadCheckOdd.cs
│ │ │ ├── BadCheckOdd.qhelp
│ │ │ ├── BadCheckOdd.ql
│ │ │ ├── BadCheckOddGood.cs
│ │ │ ├── Collections
│ │ │ │ ├── ContainerLengthCmpOffByOne.cs
│ │ │ │ ├── ContainerLengthCmpOffByOne.qhelp
│ │ │ │ ├── ContainerLengthCmpOffByOne.ql
│ │ │ │ ├── ContainerSizeCmpZero.cs
│ │ │ │ ├── ContainerSizeCmpZero.qhelp
│ │ │ │ ├── ContainerSizeCmpZero.ql
│ │ │ │ ├── ContainerSizeCmpZeroGood.cs
│ │ │ │ ├── ReadOnlyContainer.cs
│ │ │ │ ├── ReadOnlyContainer.qhelp
│ │ │ │ ├── ReadOnlyContainer.ql
│ │ │ │ ├── ReadOnlyContainerFix.cs
│ │ │ │ ├── WriteOnlyContainer.cs
│ │ │ │ ├── WriteOnlyContainer.qhelp
│ │ │ │ ├── WriteOnlyContainer.ql
│ │ │ │ └── WriteOnlyContainerFix.cs
│ │ │ ├── ConstantComparison.cs
│ │ │ ├── ConstantComparison.qhelp
│ │ │ ├── ConstantComparison.ql
│ │ │ ├── ConstantComparisonFix.cs
│ │ │ ├── DangerousNonShortCircuitLogic.cs
│ │ │ ├── DangerousNonShortCircuitLogic.qhelp
│ │ │ ├── DangerousNonShortCircuitLogic.ql
│ │ │ ├── DangerousNonShortCircuitLogicFix.cs
│ │ │ ├── Dynamic
│ │ │ │ ├── BadDynamicCall.cs
│ │ │ │ ├── BadDynamicCall.qhelp
│ │ │ │ └── BadDynamicCall.ql
│ │ │ ├── EqualityCheckOnFloats.cs
│ │ │ ├── EqualityCheckOnFloats.qhelp
│ │ │ ├── EqualityCheckOnFloats.ql
│ │ │ ├── EqualityCheckOnFloatsFix.cs
│ │ │ ├── EqualsArray.cs
│ │ │ ├── EqualsArray.qhelp
│ │ │ ├── EqualsArray.ql
│ │ │ ├── EqualsArrayFix.cs
│ │ │ ├── EqualsUsesAs.cs
│ │ │ ├── EqualsUsesAs.qhelp
│ │ │ ├── EqualsUsesAs.ql
│ │ │ ├── EqualsUsesIs.cs
│ │ │ ├── EqualsUsesIs.qhelp
│ │ │ ├── EqualsUsesIs.ql
│ │ │ ├── HashedButNoHash.cs
│ │ │ ├── HashedButNoHash.qhelp
│ │ │ ├── HashedButNoHash.ql
│ │ │ ├── ICryptoTransform.qll
│ │ │ ├── ImpossibleArrayCast.cs
│ │ │ ├── ImpossibleArrayCast.qhelp
│ │ │ ├── ImpossibleArrayCast.ql
│ │ │ ├── IncomparableEquals.cs
│ │ │ ├── IncomparableEquals.qhelp
│ │ │ ├── IncomparableEquals.ql
│ │ │ ├── InconsistentCompareTo.cs
│ │ │ ├── InconsistentCompareTo.qhelp
│ │ │ ├── InconsistentCompareTo.ql
│ │ │ ├── LeapYear
│ │ │ │ ├── UnsafeYearConstruction.qhelp
│ │ │ │ ├── UnsafeYearConstruction.ql
│ │ │ │ ├── UnsafeYearConstructionBad.cs
│ │ │ │ └── UnsafeYearConstructionGood.cs
│ │ │ ├── MishandlingJapaneseEra.cs
│ │ │ ├── MishandlingJapaneseEra.qhelp
│ │ │ ├── MishandlingJapaneseEra.ql
│ │ │ ├── NestedLoopsSameVariable.cs
│ │ │ ├── NestedLoopsSameVariable.qhelp
│ │ │ ├── NestedLoopsSameVariable.ql
│ │ │ ├── ObjectComparison.cs
│ │ │ ├── ObjectComparison.qhelp
│ │ │ ├── ObjectComparison.ql
│ │ │ ├── ParallelSink.qll
│ │ │ ├── PossibleLossOfPrecision.cs
│ │ │ ├── PossibleLossOfPrecision.qhelp
│ │ │ ├── PossibleLossOfPrecision.ql
│ │ │ ├── PossibleLossOfPrecision2.cs
│ │ │ ├── PossibleLossOfPrecisionFix.cs
│ │ │ ├── PossibleLossOfPrecisionFix2.cs
│ │ │ ├── RandomUsedOnce.cs
│ │ │ ├── RandomUsedOnce.qhelp
│ │ │ ├── RandomUsedOnce.ql
│ │ │ ├── RandomUsedOnceFix.cs
│ │ │ ├── RecursiveEquals.cs
│ │ │ ├── RecursiveEquals.qhelp
│ │ │ ├── RecursiveEquals.ql
│ │ │ ├── RecursiveEqualsFix.cs
│ │ │ ├── RecursiveOperatorEquals.cs
│ │ │ ├── RecursiveOperatorEquals.qhelp
│ │ │ ├── RecursiveOperatorEquals.ql
│ │ │ ├── RecursiveOperatorEqualsFix.cs
│ │ │ ├── ReferenceEqualsOnValueTypes.cs
│ │ │ ├── ReferenceEqualsOnValueTypes.qhelp
│ │ │ ├── ReferenceEqualsOnValueTypes.ql
│ │ │ ├── SelfAssignment.cs
│ │ │ ├── SelfAssignment.qhelp
│ │ │ ├── SelfAssignment.ql
│ │ │ ├── Statements
│ │ │ │ ├── EmptyBlock.cs
│ │ │ │ ├── EmptyBlock.qhelp
│ │ │ │ ├── EmptyBlock.ql
│ │ │ │ ├── EmptyLockStatement.cs
│ │ │ │ ├── EmptyLockStatement.qhelp
│ │ │ │ ├── EmptyLockStatement.ql
│ │ │ │ ├── EmptyLockStatementFix.cs
│ │ │ │ ├── UseBraces.cs
│ │ │ │ ├── UseBraces.qhelp
│ │ │ │ ├── UseBraces.ql
│ │ │ │ └── UseBracesFix.cs
│ │ │ ├── StaticFieldWrittenByInstance.cs
│ │ │ ├── StaticFieldWrittenByInstance.qhelp
│ │ │ ├── StaticFieldWrittenByInstance.ql
│ │ │ ├── StringBuilderCharInit.cs
│ │ │ ├── StringBuilderCharInit.qhelp
│ │ │ ├── StringBuilderCharInit.ql
│ │ │ ├── StringBuilderCharInitFix.cs
│ │ │ ├── ThreadUnSafeICryptoTransformBad.cs
│ │ │ ├── ThreadUnSafeICryptoTransformGood.cs
│ │ │ ├── ThreadUnSafeICryptoTransformLambdaBad.cs
│ │ │ ├── ThreadUnSafeICryptoTransformLambdaGood.cs
│ │ │ ├── ThreadUnsafeICryptoTransform.qhelp
│ │ │ ├── ThreadUnsafeICryptoTransform.ql
│ │ │ ├── ThreadUnsafeICryptoTransformLambda.qhelp
│ │ │ ├── ThreadUnsafeICryptoTransformLambda.ql
│ │ │ ├── ThreadUnsafeICryptoTransformOverview.inc.qhelp
│ │ │ ├── UncheckedCastInEquals.cs
│ │ │ ├── UncheckedCastInEquals.qhelp
│ │ │ ├── UncheckedCastInEquals.ql
│ │ │ └── UncheckedCastInEqualsFix.cs
│ │ ├── Linq
│ │ │ ├── BadMultipleIteration.cs
│ │ │ ├── BadMultipleIteration.qhelp
│ │ │ ├── BadMultipleIteration.ql
│ │ │ ├── BadMultipleIterationFix.cs
│ │ │ ├── Helpers.qll
│ │ │ ├── MissedAllOpportunity.cs
│ │ │ ├── MissedAllOpportunity.qhelp
│ │ │ ├── MissedAllOpportunity.ql
│ │ │ ├── MissedAllOpportunityFix.cs
│ │ │ ├── MissedCastOpportunity.cs
│ │ │ ├── MissedCastOpportunity.qhelp
│ │ │ ├── MissedCastOpportunity.ql
│ │ │ ├── MissedCastOpportunityFix.cs
│ │ │ ├── MissedOfTypeOpportunity.cs
│ │ │ ├── MissedOfTypeOpportunity.qhelp
│ │ │ ├── MissedOfTypeOpportunity.ql
│ │ │ ├── MissedOfTypeOpportunityFix.cs
│ │ │ ├── MissedSelectOpportunity.cs
│ │ │ ├── MissedSelectOpportunity.qhelp
│ │ │ ├── MissedSelectOpportunity.ql
│ │ │ ├── MissedSelectOpportunityFix.cs
│ │ │ ├── MissedWhereOpportunity.cs
│ │ │ ├── MissedWhereOpportunity.qhelp
│ │ │ ├── MissedWhereOpportunity.ql
│ │ │ ├── MissedWhereOpportunityFix.cs
│ │ │ ├── RedundantSelect.cs
│ │ │ ├── RedundantSelect.qhelp
│ │ │ └── RedundantSelect.ql
│ │ ├── Metrics
│ │ │ ├── Callables
│ │ │ │ ├── CCyclomaticComplexity.cs
│ │ │ │ ├── CCyclomaticComplexity.png
│ │ │ │ ├── CCyclomaticComplexity.qhelp
│ │ │ │ ├── CCyclomaticComplexity.ql
│ │ │ │ ├── CLinesOfCode.qhelp
│ │ │ │ ├── CLinesOfCode.ql
│ │ │ │ ├── CLinesOfComment.qhelp
│ │ │ │ ├── CLinesOfComment.ql
│ │ │ │ ├── CNumberOfParameters.qhelp
│ │ │ │ ├── CNumberOfParameters.ql
│ │ │ │ ├── CNumberOfStatements.qhelp
│ │ │ │ ├── CNumberOfStatements.ql
│ │ │ │ ├── CPercentageOfComments.qhelp
│ │ │ │ ├── CPercentageOfComments.ql
│ │ │ │ ├── StatementNestingDepth.cs
│ │ │ │ ├── StatementNestingDepth.qhelp
│ │ │ │ ├── StatementNestingDepth.ql
│ │ │ │ └── StatementNestingDepthFix.cs
│ │ │ ├── Dependencies
│ │ │ │ ├── ExternalDependencies.ql
│ │ │ │ └── ExternalDependenciesSourceLinks.ql
│ │ │ ├── Files
│ │ │ │ ├── CommentedOutCodeMetricOverview.inc.qhelp
│ │ │ │ ├── CommentedOutCodeReferences.inc.qhelp
│ │ │ │ ├── FCommentRatio.qhelp
│ │ │ │ ├── FCommentRatio.ql
│ │ │ │ ├── FCyclomaticComplexity.cs
│ │ │ │ ├── FCyclomaticComplexity.qhelp
│ │ │ │ ├── FCyclomaticComplexity.ql
│ │ │ │ ├── FCyclomaticComplexity_ControlFlow.gv
│ │ │ │ ├── FCyclomaticComplexity_ControlFlow.png
│ │ │ │ ├── FLines.ql
│ │ │ │ ├── FLinesOfCode.qhelp
│ │ │ │ ├── FLinesOfCode.ql
│ │ │ │ ├── FLinesOfComment.qhelp
│ │ │ │ ├── FLinesOfComment.ql
│ │ │ │ ├── FLinesOfCommentedCode.qhelp
│ │ │ │ ├── FLinesOfCommentedCode.ql
│ │ │ │ ├── FNumberOfClasses.qhelp
│ │ │ │ ├── FNumberOfClasses.ql
│ │ │ │ ├── FNumberOfInterfaces.qhelp
│ │ │ │ ├── FNumberOfInterfaces.ql
│ │ │ │ ├── FNumberOfStructs.qhelp
│ │ │ │ ├── FNumberOfStructs.ql
│ │ │ │ ├── FNumberOfTests.qhelp
│ │ │ │ ├── FNumberOfTests.ql
│ │ │ │ ├── FNumberOfUsingNamespaces.qhelp
│ │ │ │ ├── FNumberOfUsingNamespaces.ql
│ │ │ │ ├── FSelfContainedness.qhelp
│ │ │ │ └── FSelfContainedness.ql
│ │ │ └── RefTypes
│ │ │ │ ├── TAfferentCoupling.qhelp
│ │ │ │ ├── TAfferentCoupling.ql
│ │ │ │ ├── TEfferentCoupling.qhelp
│ │ │ │ ├── TEfferentCoupling.ql
│ │ │ │ ├── TInheritanceDepth.cs
│ │ │ │ ├── TInheritanceDepth.qhelp
│ │ │ │ ├── TInheritanceDepth.ql
│ │ │ │ ├── TInheritanceDepthFix.cs
│ │ │ │ ├── TLackOfCohesionCK.cs
│ │ │ │ ├── TLackOfCohesionCK.qhelp
│ │ │ │ ├── TLackOfCohesionCK.ql
│ │ │ │ ├── TLackOfCohesionCKTable.inc.qhelp
│ │ │ │ ├── TLackOfCohesionHS.cs
│ │ │ │ ├── TLackOfCohesionHS.qhelp
│ │ │ │ ├── TLackOfCohesionHS.ql
│ │ │ │ ├── TLackOfCohesionHSFormula.png
│ │ │ │ ├── TNumberOfCallables.qhelp
│ │ │ │ ├── TNumberOfCallables.ql
│ │ │ │ ├── TNumberOfEvents.cs
│ │ │ │ ├── TNumberOfEvents.qhelp
│ │ │ │ ├── TNumberOfEvents.ql
│ │ │ │ ├── TNumberOfEventsFix.cs
│ │ │ │ ├── TNumberOfFields.cs
│ │ │ │ ├── TNumberOfFields.qhelp
│ │ │ │ ├── TNumberOfFields.ql
│ │ │ │ ├── TNumberOfFieldsFix.cs
│ │ │ │ ├── TNumberOfIndexers.qhelp
│ │ │ │ ├── TNumberOfIndexers.ql
│ │ │ │ ├── TNumberOfNonConstFields.cs
│ │ │ │ ├── TNumberOfNonConstFields.qhelp
│ │ │ │ ├── TNumberOfNonConstFields.ql
│ │ │ │ ├── TNumberOfNonConstFieldsFix.cs
│ │ │ │ ├── TNumberOfProperties.cs
│ │ │ │ ├── TNumberOfProperties.qhelp
│ │ │ │ ├── TNumberOfProperties.ql
│ │ │ │ ├── TNumberOfPropertiesFix.cs
│ │ │ │ ├── TNumberOfStatements.qhelp
│ │ │ │ ├── TNumberOfStatements.ql
│ │ │ │ ├── TResponse.qhelp
│ │ │ │ ├── TResponse.ql
│ │ │ │ ├── TSizeOfAPI.qhelp
│ │ │ │ ├── TSizeOfAPI.ql
│ │ │ │ ├── TSpecialisationIndex.qhelp
│ │ │ │ ├── TSpecialisationIndex.ql
│ │ │ │ ├── TUnmanagedCode.cs
│ │ │ │ ├── TUnmanagedCode.qhelp
│ │ │ │ ├── TUnmanagedCode.ql
│ │ │ │ └── TUnmanagedCodeFix.cs
│ │ ├── Performance
│ │ │ ├── StringBuilderInLoop.cs
│ │ │ ├── StringBuilderInLoop.qhelp
│ │ │ ├── StringBuilderInLoop.ql
│ │ │ ├── StringBuilderInLoopFix.cs
│ │ │ ├── StringConcatenationInLoop.cs
│ │ │ ├── StringConcatenationInLoop.qhelp
│ │ │ ├── StringConcatenationInLoop.ql
│ │ │ ├── StringConcatenationInLoopFix.cs
│ │ │ ├── UseTryGetValue.cs
│ │ │ ├── UseTryGetValue.qhelp
│ │ │ ├── UseTryGetValue.ql
│ │ │ └── UseTryGetValueFix.cs
│ │ ├── Security Features
│ │ │ ├── CWE-011
│ │ │ │ ├── ASPNetDebug.qhelp
│ │ │ │ ├── ASPNetDebug.ql
│ │ │ │ ├── Web.config.bad
│ │ │ │ └── Web.config.good
│ │ │ ├── CWE-016
│ │ │ │ ├── ASPNetMaxRequestLength.qhelp
│ │ │ │ ├── ASPNetMaxRequestLength.ql
│ │ │ │ ├── ASPNetPagesValidateRequest.qhelp
│ │ │ │ ├── ASPNetPagesValidateRequest.ql
│ │ │ │ ├── ASPNetPagesValidateRequestBad.config
│ │ │ │ ├── ASPNetPagesValidateRequestGood.config
│ │ │ │ ├── ASPNetRequestValidationMode.qhelp
│ │ │ │ ├── ASPNetRequestValidationMode.ql
│ │ │ │ ├── ASPNetRequestValidationModeBad.config
│ │ │ │ ├── ASPNetRequestValidationModeGood.config
│ │ │ │ ├── Web.config.ASPNetMaxRequestLength.bad
│ │ │ │ └── Web.config.ASPNetMaxRequestLength.good
│ │ │ ├── CWE-020
│ │ │ │ ├── ExternalAPISinkExample.cs
│ │ │ │ ├── ExternalAPIsUsedWithUntrustedData.qhelp
│ │ │ │ ├── ExternalAPIsUsedWithUntrustedData.ql
│ │ │ │ ├── RuntimeChecksBypass.qhelp
│ │ │ │ ├── RuntimeChecksBypass.ql
│ │ │ │ ├── RuntimeChecksBypassBad.cs
│ │ │ │ ├── RuntimeChecksBypassGood.cs
│ │ │ │ ├── UntrustedDataToExternalAPI.qhelp
│ │ │ │ └── UntrustedDataToExternalAPI.ql
│ │ │ ├── CWE-022
│ │ │ │ ├── TaintedPath.cs
│ │ │ │ ├── TaintedPath.qhelp
│ │ │ │ ├── TaintedPath.ql
│ │ │ │ ├── ZipSlip.qhelp
│ │ │ │ ├── ZipSlip.ql
│ │ │ │ ├── ZipSlipBad.cs
│ │ │ │ └── ZipSlipGood.cs
│ │ │ ├── CWE-078
│ │ │ │ ├── CommandInjection.cs
│ │ │ │ ├── CommandInjection.qhelp
│ │ │ │ ├── CommandInjection.ql
│ │ │ │ ├── StoredCommandInjection.qhelp
│ │ │ │ └── StoredCommandInjection.ql
│ │ │ ├── CWE-079
│ │ │ │ ├── StoredXSS.qhelp
│ │ │ │ ├── StoredXSS.ql
│ │ │ │ ├── XSS.cs
│ │ │ │ ├── XSS.qhelp
│ │ │ │ └── XSS.ql
│ │ │ ├── CWE-089
│ │ │ │ ├── SecondOrderSqlInjection.qhelp
│ │ │ │ ├── SecondOrderSqlInjection.ql
│ │ │ │ ├── SqlInjection.cs
│ │ │ │ ├── SqlInjection.qhelp
│ │ │ │ └── SqlInjection.ql
│ │ │ ├── CWE-090
│ │ │ │ ├── LDAPInjection.cs
│ │ │ │ ├── LDAPInjection.qhelp
│ │ │ │ ├── LDAPInjection.ql
│ │ │ │ ├── StoredLDAPInjection.qhelp
│ │ │ │ └── StoredLDAPInjection.ql
│ │ │ ├── CWE-091
│ │ │ │ ├── XMLInjection.qhelp
│ │ │ │ ├── XMLInjection.ql
│ │ │ │ ├── XMLInjectionBad.cs
│ │ │ │ └── XMLInjectionGood.cs
│ │ │ ├── CWE-094
│ │ │ │ ├── CodeInjection.cs
│ │ │ │ ├── CodeInjection.qhelp
│ │ │ │ └── CodeInjection.ql
│ │ │ ├── CWE-099
│ │ │ │ ├── ResourceInjection.cs
│ │ │ │ ├── ResourceInjection.qhelp
│ │ │ │ └── ResourceInjection.ql
│ │ │ ├── CWE-112
│ │ │ │ ├── MissingXMLValidation.cs
│ │ │ │ ├── MissingXMLValidation.qhelp
│ │ │ │ └── MissingXMLValidation.ql
│ │ │ ├── CWE-114
│ │ │ │ ├── AssemblyPathInjection.qhelp
│ │ │ │ ├── AssemblyPathInjection.ql
│ │ │ │ ├── AssemblyPathInjectionBad.cs
│ │ │ │ └── AssemblyPathInjectionGood.cs
│ │ │ ├── CWE-117
│ │ │ │ ├── LogForging.cs
│ │ │ │ ├── LogForging.qhelp
│ │ │ │ └── LogForging.ql
│ │ │ ├── CWE-119
│ │ │ │ ├── LocalUnvalidatedArithmetic.cs
│ │ │ │ ├── LocalUnvalidatedArithmetic.qhelp
│ │ │ │ └── LocalUnvalidatedArithmetic.ql
│ │ │ ├── CWE-134
│ │ │ │ ├── UncontrolledFormatString.qhelp
│ │ │ │ ├── UncontrolledFormatString.ql
│ │ │ │ └── UncontrolledFormatStringBad.cs
│ │ │ ├── CWE-201
│ │ │ │ ├── ExposureInTransmittedData.qhelp
│ │ │ │ ├── ExposureInTransmittedData.ql
│ │ │ │ ├── TransmittedException.cs
│ │ │ │ └── TransmittedPassword.cs
│ │ │ ├── CWE-209
│ │ │ │ ├── ExceptionInformationExposure.cs
│ │ │ │ ├── ExceptionInformationExposure.qhelp
│ │ │ │ └── ExceptionInformationExposure.ql
│ │ │ ├── CWE-248
│ │ │ │ ├── BadWeb.config
│ │ │ │ ├── GoodWeb.config
│ │ │ │ ├── MissingASPNETGlobalErrorHandler.qhelp
│ │ │ │ ├── MissingASPNETGlobalErrorHandler.ql
│ │ │ │ └── global.asax.cs
│ │ │ ├── CWE-312
│ │ │ │ ├── CleartextStorage.cs
│ │ │ │ ├── CleartextStorage.qhelp
│ │ │ │ └── CleartextStorage.ql
│ │ │ ├── CWE-321
│ │ │ │ ├── HardcodedEncryptionKey.ql
│ │ │ │ ├── HardcodedEncryptionKeyBad.cs
│ │ │ │ └── HardcodedSymmetricEncryptionKey.ql
│ │ │ ├── CWE-327
│ │ │ │ ├── DontInstallRootCert.ql
│ │ │ │ ├── InsecureSQLConnection.qhelp
│ │ │ │ ├── InsecureSQLConnection.ql
│ │ │ │ ├── InsecureSQLConnectionBad.cs
│ │ │ │ └── InsecureSQLConnectionGood.cs
│ │ │ ├── CWE-352
│ │ │ │ ├── MissingAntiForgeryTokenValidation.cs
│ │ │ │ ├── MissingAntiForgeryTokenValidation.qhelp
│ │ │ │ └── MissingAntiForgeryTokenValidation.ql
│ │ │ ├── CWE-359
│ │ │ │ ├── ExposureOfPrivateInformation.cs
│ │ │ │ ├── ExposureOfPrivateInformation.qhelp
│ │ │ │ └── ExposureOfPrivateInformation.ql
│ │ │ ├── CWE-384
│ │ │ │ ├── AbandonSession.cs
│ │ │ │ ├── AbandonSession.qhelp
│ │ │ │ ├── AbandonSession.ql
│ │ │ │ └── AbandonSessionFix.cs
│ │ │ ├── CWE-451
│ │ │ │ ├── MissingXFrameOptions.cs
│ │ │ │ ├── MissingXFrameOptions.qhelp
│ │ │ │ ├── MissingXFrameOptions.ql
│ │ │ │ └── Web.config
│ │ │ ├── CWE-502
│ │ │ │ ├── DeserializedDelegate.qhelp
│ │ │ │ ├── DeserializedDelegate.ql
│ │ │ │ ├── DeserializedDelegateBad.cs
│ │ │ │ ├── UnsafeDeserialization.qhelp
│ │ │ │ ├── UnsafeDeserialization.ql
│ │ │ │ ├── UnsafeDeserializationBad.cs
│ │ │ │ ├── UnsafeDeserializationGood.cs
│ │ │ │ ├── UnsafeDeserializationUntrustedInput.qhelp
│ │ │ │ ├── UnsafeDeserializationUntrustedInput.ql
│ │ │ │ ├── UnsafeDeserializationUntrustedInputBad.cs
│ │ │ │ └── UnsafeDeserializationUntrustedInputGood.cs
│ │ │ ├── CWE-548
│ │ │ │ ├── ASPNetDirectoryListing.qhelp
│ │ │ │ ├── ASPNetDirectoryListing.ql
│ │ │ │ ├── Web.config.bad
│ │ │ │ └── Web.config.good
│ │ │ ├── CWE-601
│ │ │ │ ├── UrlRedirect.cs
│ │ │ │ ├── UrlRedirect.qhelp
│ │ │ │ └── UrlRedirect.ql
│ │ │ ├── CWE-611
│ │ │ │ ├── InsecureXml.cs
│ │ │ │ ├── UntrustedDataInsecureXml.qhelp
│ │ │ │ ├── UntrustedDataInsecureXml.ql
│ │ │ │ ├── UseXmlSecureResolver.qhelp
│ │ │ │ └── UseXmlSecureResolver.ql
│ │ │ ├── CWE-614
│ │ │ │ ├── RequireSSL.qhelp
│ │ │ │ ├── RequireSSL.ql
│ │ │ │ └── Web.config
│ │ │ ├── CWE-643
│ │ │ │ ├── StoredXPathInjection.qhelp
│ │ │ │ ├── StoredXPathInjection.ql
│ │ │ │ ├── XPathInjection.cs
│ │ │ │ ├── XPathInjection.qhelp
│ │ │ │ └── XPathInjection.ql
│ │ │ ├── CWE-730
│ │ │ │ ├── ReDoS.cs
│ │ │ │ ├── ReDoS.qhelp
│ │ │ │ ├── ReDoS.ql
│ │ │ │ ├── RegexInjection.cs
│ │ │ │ ├── RegexInjection.qhelp
│ │ │ │ └── RegexInjection.ql
│ │ │ ├── CWE-798
│ │ │ │ ├── HardcodedConnectionString.qhelp
│ │ │ │ ├── HardcodedConnectionString.ql
│ │ │ │ ├── HardcodedCredentials.cs
│ │ │ │ ├── HardcodedCredentials.qhelp
│ │ │ │ └── HardcodedCredentials.ql
│ │ │ ├── CWE-807
│ │ │ │ ├── ConditionalBypass.cs
│ │ │ │ ├── ConditionalBypass.qhelp
│ │ │ │ └── ConditionalBypass.ql
│ │ │ ├── CWE-838
│ │ │ │ ├── HtmlEncode.cs
│ │ │ │ ├── InappropriateEncoding.qhelp
│ │ │ │ ├── InappropriateEncoding.ql
│ │ │ │ ├── SqlEncode.cs
│ │ │ │ └── UrlEncode.cs
│ │ │ ├── CookieWithOverlyBroadDomain.cs
│ │ │ ├── CookieWithOverlyBroadDomain.qhelp
│ │ │ ├── CookieWithOverlyBroadDomain.ql
│ │ │ ├── CookieWithOverlyBroadDomainFix.cs
│ │ │ ├── CookieWithOverlyBroadPath.cs
│ │ │ ├── CookieWithOverlyBroadPath.qhelp
│ │ │ ├── CookieWithOverlyBroadPath.ql
│ │ │ ├── CookieWithOverlyBroadPathFix.cs
│ │ │ ├── Encryption using ECB.qhelp
│ │ │ ├── Encryption using ECB.ql
│ │ │ ├── HeaderCheckingDisabled.qhelp
│ │ │ ├── HeaderCheckingDisabled.ql
│ │ │ ├── InadequateRSAPadding.cs
│ │ │ ├── InadequateRSAPadding.qhelp
│ │ │ ├── InadequateRSAPadding.ql
│ │ │ ├── InsecureRandomness.cs
│ │ │ ├── InsecureRandomness.qhelp
│ │ │ ├── InsecureRandomness.ql
│ │ │ ├── InsufficientKeySize.cs
│ │ │ ├── InsufficientKeySize.qhelp
│ │ │ ├── InsufficientKeySize.ql
│ │ │ ├── PersistentCookie.cs
│ │ │ ├── PersistentCookie.qhelp
│ │ │ ├── PersistentCookie.ql
│ │ │ ├── WeakEncryption.cs
│ │ │ ├── WeakEncryption.qhelp
│ │ │ └── WeakEncryption.ql
│ │ ├── Stubs
│ │ │ ├── MinimalStubsFromSource.ql
│ │ │ ├── Stubs.qll
│ │ │ └── make_stubs.py
│ │ ├── Useless code
│ │ │ ├── DefaultToString.qhelp
│ │ │ ├── DefaultToString.ql
│ │ │ ├── DefaultToString.qll
│ │ │ ├── DefaultToStringBad.cs
│ │ │ ├── DefaultToStringGood.cs
│ │ │ ├── FutileConditional.cs
│ │ │ ├── FutileConditional.qhelp
│ │ │ ├── FutileConditional.ql
│ │ │ ├── IntGetHashCode.cs
│ │ │ ├── IntGetHashCode.qhelp
│ │ │ ├── IntGetHashCode.ql
│ │ │ ├── IntGetHashCodeFix.cs
│ │ │ ├── PointlessForwardingMethod.cs
│ │ │ ├── PointlessForwardingMethod.qhelp
│ │ │ ├── PointlessForwardingMethod.ql
│ │ │ ├── PointlessForwardingMethodFix.cs
│ │ │ ├── RedundantToStringCall.qhelp
│ │ │ ├── RedundantToStringCall.ql
│ │ │ ├── RedundantToStringCallBad.cs
│ │ │ ├── RedundantToStringCallGood.cs
│ │ │ ├── UnusedLabel.cs
│ │ │ ├── UnusedLabel.qhelp
│ │ │ └── UnusedLabel.ql
│ │ ├── cil.qll
│ │ ├── codeql-suites
│ │ │ ├── csharp-code-scanning.qls
│ │ │ ├── csharp-lgtm-full.qls
│ │ │ ├── csharp-lgtm.qls
│ │ │ ├── csharp-security-and-quality.qls
│ │ │ ├── csharp-security-extended.qls
│ │ │ └── solorigate.qls
│ │ ├── csharp.qll
│ │ ├── default.qll
│ │ ├── definitions.ql
│ │ ├── definitions.qll
│ │ ├── dotnet.qll
│ │ ├── experimental
│ │ │ ├── CWE-099
│ │ │ │ ├── TaintedWebClient.cs
│ │ │ │ ├── TaintedWebClient.qhelp
│ │ │ │ ├── TaintedWebClient.ql
│ │ │ │ └── TaintedWebClientLib.qll
│ │ │ ├── README.md
│ │ │ ├── Security Features
│ │ │ │ ├── Serialization
│ │ │ │ │ ├── DataSetSerialization.inc.qhelp
│ │ │ │ │ ├── DataSetSerialization.qll
│ │ │ │ │ ├── DefiningDatasetRelatedType.qhelp
│ │ │ │ │ ├── DefiningDatasetRelatedType.ql
│ │ │ │ │ ├── DefiningPotentiallyUnsafeXmlSerializer.qhelp
│ │ │ │ │ ├── DefiningPotentiallyUnsafeXmlSerializer.ql
│ │ │ │ │ ├── UnsafeTypeUsedDataContractSerializer.qhelp
│ │ │ │ │ ├── UnsafeTypeUsedDataContractSerializer.ql
│ │ │ │ │ ├── XmlDeserializationWithDataSet.qhelp
│ │ │ │ │ └── XmlDeserializationWithDataSet.ql
│ │ │ │ ├── backdoor
│ │ │ │ │ ├── DangerousNativeFunctionCall.qhelp
│ │ │ │ │ ├── DangerousNativeFunctionCall.ql
│ │ │ │ │ ├── PotentialTimeBomb.qhelp
│ │ │ │ │ ├── PotentialTimeBomb.ql
│ │ │ │ │ ├── ProcessNameToHashTaintFlow.qhelp
│ │ │ │ │ └── ProcessNameToHashTaintFlow.ql
│ │ │ │ └── campaign
│ │ │ │ │ ├── Solorigate-Readme.md
│ │ │ │ │ └── Solorigate
│ │ │ │ │ ├── ModifiedFnvFunctionDetection.qhelp
│ │ │ │ │ ├── ModifiedFnvFunctionDetection.ql
│ │ │ │ │ ├── NumberOfKnownCommandsAboveThreshold.qhelp
│ │ │ │ │ ├── NumberOfKnownCommandsAboveThreshold.ql
│ │ │ │ │ ├── NumberOfKnownHashesAboveThreshold.qhelp
│ │ │ │ │ ├── NumberOfKnownHashesAboveThreshold.ql
│ │ │ │ │ ├── NumberOfKnownLiteralsAboveThreshold.qhelp
│ │ │ │ │ ├── NumberOfKnownLiteralsAboveThreshold.ql
│ │ │ │ │ ├── NumberOfKnownMethodNamesAboveThreshold.qhelp
│ │ │ │ │ ├── NumberOfKnownMethodNamesAboveThreshold.ql
│ │ │ │ │ ├── Solorigate.inc.qhelp
│ │ │ │ │ ├── Solorigate.qll
│ │ │ │ │ ├── SwallowEverythingExceptionHandler.qhelp
│ │ │ │ │ └── SwallowEverythingExceptionHandler.ql
│ │ │ ├── code
│ │ │ │ └── csharp
│ │ │ │ │ └── Cryptography
│ │ │ │ │ └── NonCryptographicHashes.qll
│ │ │ └── ir
│ │ │ │ ├── IR.qll
│ │ │ │ ├── IRConfiguration.qll
│ │ │ │ ├── IRConsistency.ql
│ │ │ │ ├── PrintIR.ql
│ │ │ │ ├── PrintIR.qll
│ │ │ │ ├── Util.qll
│ │ │ │ ├── ValueNumbering.qll
│ │ │ │ ├── implementation
│ │ │ │ ├── EdgeKind.qll
│ │ │ │ ├── IRConfiguration.qll
│ │ │ │ ├── IRType.qll
│ │ │ │ ├── MemoryAccessKind.qll
│ │ │ │ ├── Opcode.qll
│ │ │ │ ├── TempVariableTag.qll
│ │ │ │ ├── UseSoundEscapeAnalysis.qll
│ │ │ │ ├── internal
│ │ │ │ │ ├── AliasedSSAStub.qll
│ │ │ │ │ ├── EdgeKindInternal.qll
│ │ │ │ │ ├── IRConfigurationInternal.qll
│ │ │ │ │ ├── IRFunctionBase.qll
│ │ │ │ │ ├── IRFunctionBaseInternal.qll
│ │ │ │ │ ├── IRTypeInternal.qll
│ │ │ │ │ ├── OpcodeImports.qll
│ │ │ │ │ ├── OperandTag.qll
│ │ │ │ │ ├── OperandTagInternal.qll
│ │ │ │ │ ├── TIRVariable.qll
│ │ │ │ │ ├── TIRVariableInternal.qll
│ │ │ │ │ ├── TInstruction.qll
│ │ │ │ │ ├── TInstructionImports.qll
│ │ │ │ │ ├── TInstructionInternal.qll
│ │ │ │ │ ├── TOperand.qll
│ │ │ │ │ └── TempVariableTagInternal.qll
│ │ │ │ ├── raw
│ │ │ │ │ ├── IR.qll
│ │ │ │ │ ├── IRBlock.qll
│ │ │ │ │ ├── IRConsistency.ql
│ │ │ │ │ ├── IRConsistency.qll
│ │ │ │ │ ├── IRFunction.qll
│ │ │ │ │ ├── IRVariable.qll
│ │ │ │ │ ├── Instruction.qll
│ │ │ │ │ ├── Operand.qll
│ │ │ │ │ ├── PrintIR.ql
│ │ │ │ │ ├── PrintIR.qll
│ │ │ │ │ ├── constant
│ │ │ │ │ │ ├── ConstantAnalysis.qll
│ │ │ │ │ │ ├── PrintConstantAnalysis.qll
│ │ │ │ │ │ └── internal
│ │ │ │ │ │ │ └── ConstantAnalysisInternal.qll
│ │ │ │ │ ├── gvn
│ │ │ │ │ │ ├── PrintValueNumbering.qll
│ │ │ │ │ │ ├── ValueNumbering.qll
│ │ │ │ │ │ └── internal
│ │ │ │ │ │ │ ├── ValueNumberingImports.qll
│ │ │ │ │ │ │ └── ValueNumberingInternal.qll
│ │ │ │ │ └── internal
│ │ │ │ │ │ ├── IRBlockImports.qll
│ │ │ │ │ │ ├── IRConstruction.qll
│ │ │ │ │ │ ├── IRFunctionImports.qll
│ │ │ │ │ │ ├── IRImports.qll
│ │ │ │ │ │ ├── IRInternal.qll
│ │ │ │ │ │ ├── IRVariableImports.qll
│ │ │ │ │ │ ├── InstructionImports.qll
│ │ │ │ │ │ ├── InstructionTag.qll
│ │ │ │ │ │ ├── OperandImports.qll
│ │ │ │ │ │ ├── OperandInternal.qll
│ │ │ │ │ │ ├── PrintIRImports.qll
│ │ │ │ │ │ ├── TranslatedCall.qll
│ │ │ │ │ │ ├── TranslatedCondition.qll
│ │ │ │ │ │ ├── TranslatedDeclaration.qll
│ │ │ │ │ │ ├── TranslatedElement.qll
│ │ │ │ │ │ ├── TranslatedExpr.qll
│ │ │ │ │ │ ├── TranslatedFunction.qll
│ │ │ │ │ │ ├── TranslatedInitialization.qll
│ │ │ │ │ │ ├── TranslatedStmt.qll
│ │ │ │ │ │ ├── common
│ │ │ │ │ │ ├── TranslatedCallBase.qll
│ │ │ │ │ │ ├── TranslatedConditionBase.qll
│ │ │ │ │ │ ├── TranslatedDeclarationBase.qll
│ │ │ │ │ │ └── TranslatedExprBase.qll
│ │ │ │ │ │ ├── desugar
│ │ │ │ │ │ ├── Common.qll
│ │ │ │ │ │ ├── Delegate.qll
│ │ │ │ │ │ ├── Foreach.qll
│ │ │ │ │ │ ├── Lock.qll
│ │ │ │ │ │ ├── Using.qll
│ │ │ │ │ │ └── internal
│ │ │ │ │ │ │ ├── TranslatedCompilerGeneratedCall.qll
│ │ │ │ │ │ │ ├── TranslatedCompilerGeneratedCondition.qll
│ │ │ │ │ │ │ ├── TranslatedCompilerGeneratedDeclaration.qll
│ │ │ │ │ │ │ ├── TranslatedCompilerGeneratedElement.qll
│ │ │ │ │ │ │ ├── TranslatedCompilerGeneratedExpr.qll
│ │ │ │ │ │ │ └── TranslatedCompilerGeneratedStmt.qll
│ │ │ │ │ │ └── reachability
│ │ │ │ │ │ ├── Dominance.qll
│ │ │ │ │ │ ├── DominanceInternal.qll
│ │ │ │ │ │ ├── PrintDominance.qll
│ │ │ │ │ │ ├── PrintReachableBlock.qll
│ │ │ │ │ │ ├── ReachableBlock.qll
│ │ │ │ │ │ └── ReachableBlockInternal.qll
│ │ │ │ └── unaliased_ssa
│ │ │ │ │ ├── IR.qll
│ │ │ │ │ ├── IRBlock.qll
│ │ │ │ │ ├── IRConsistency.ql
│ │ │ │ │ ├── IRConsistency.qll
│ │ │ │ │ ├── IRFunction.qll
│ │ │ │ │ ├── IRVariable.qll
│ │ │ │ │ ├── Instruction.qll
│ │ │ │ │ ├── Operand.qll
│ │ │ │ │ ├── PrintIR.ql
│ │ │ │ │ ├── PrintIR.qll
│ │ │ │ │ ├── constant
│ │ │ │ │ ├── ConstantAnalysis.qll
│ │ │ │ │ ├── PrintConstantAnalysis.qll
│ │ │ │ │ └── internal
│ │ │ │ │ │ └── ConstantAnalysisInternal.qll
│ │ │ │ │ ├── gvn
│ │ │ │ │ ├── PrintValueNumbering.qll
│ │ │ │ │ ├── ValueNumbering.qll
│ │ │ │ │ └── internal
│ │ │ │ │ │ ├── ValueNumberingImports.qll
│ │ │ │ │ │ └── ValueNumberingInternal.qll
│ │ │ │ │ └── internal
│ │ │ │ │ ├── AliasAnalysis.qll
│ │ │ │ │ ├── AliasAnalysisImports.qll
│ │ │ │ │ ├── AliasAnalysisInternal.qll
│ │ │ │ │ ├── AliasConfiguration.qll
│ │ │ │ │ ├── AliasConfigurationImports.qll
│ │ │ │ │ ├── IRBlockImports.qll
│ │ │ │ │ ├── IRFunctionImports.qll
│ │ │ │ │ ├── IRImports.qll
│ │ │ │ │ ├── IRInternal.qll
│ │ │ │ │ ├── IRVariableImports.qll
│ │ │ │ │ ├── InstructionImports.qll
│ │ │ │ │ ├── OperandImports.qll
│ │ │ │ │ ├── OperandInternal.qll
│ │ │ │ │ ├── PrintIRImports.qll
│ │ │ │ │ ├── PrintSSA.qll
│ │ │ │ │ ├── SSAConsistency.ql
│ │ │ │ │ ├── SSAConsistency.qll
│ │ │ │ │ ├── SSAConstruction.qll
│ │ │ │ │ ├── SSAConstructionImports.qll
│ │ │ │ │ ├── SSAConstructionInternal.qll
│ │ │ │ │ ├── SimpleSSA.qll
│ │ │ │ │ ├── SimpleSSAImports.qll
│ │ │ │ │ ├── SimpleSSAPublicImports.qll
│ │ │ │ │ └── reachability
│ │ │ │ │ ├── Dominance.qll
│ │ │ │ │ ├── DominanceInternal.qll
│ │ │ │ │ ├── PrintDominance.qll
│ │ │ │ │ ├── PrintReachableBlock.qll
│ │ │ │ │ ├── ReachableBlock.qll
│ │ │ │ │ └── ReachableBlockInternal.qll
│ │ │ │ ├── internal
│ │ │ │ ├── CSharpType.qll
│ │ │ │ ├── IRCSharpLanguage.qll
│ │ │ │ ├── IRGuards.qll
│ │ │ │ ├── IRUtilities.qll
│ │ │ │ ├── IntegerConstant.qll
│ │ │ │ ├── IntegerInterval.qll
│ │ │ │ ├── IntegerPartial.qll
│ │ │ │ ├── Overlap.qll
│ │ │ │ └── TempVariableTag.qll
│ │ │ │ └── rangeanalysis
│ │ │ │ ├── Bound.qll
│ │ │ │ ├── RangeAnalysis.qll
│ │ │ │ ├── RangeUtils.qll
│ │ │ │ └── SignAnalysis.qll
│ │ ├── filters
│ │ │ └── ClassifyFiles.ql
│ │ ├── genkindenum.pl
│ │ ├── localDefinitions.ql
│ │ ├── localReferences.ql
│ │ ├── printAst.ql
│ │ ├── qlpack.yml
│ │ ├── queries.xml
│ │ ├── semmle
│ │ │ ├── code
│ │ │ │ ├── asp
│ │ │ │ │ ├── AspNet.qll
│ │ │ │ │ └── WebConfig.qll
│ │ │ │ ├── cil
│ │ │ │ │ ├── Access.qll
│ │ │ │ │ ├── Attribute.qll
│ │ │ │ │ ├── BasicBlock.qll
│ │ │ │ │ ├── CIL.qll
│ │ │ │ │ ├── CallableReturns.qll
│ │ │ │ │ ├── ConsistencyChecks.qll
│ │ │ │ │ ├── ControlFlow.qll
│ │ │ │ │ ├── CustomModifierReceiver.qll
│ │ │ │ │ ├── DataFlow.qll
│ │ │ │ │ ├── Declaration.qll
│ │ │ │ │ ├── Element.qll
│ │ │ │ │ ├── Generics.qll
│ │ │ │ │ ├── Handler.qll
│ │ │ │ │ ├── Instruction.qll
│ │ │ │ │ ├── InstructionGroups.qll
│ │ │ │ │ ├── Instructions.qll
│ │ │ │ │ ├── Method.qll
│ │ │ │ │ ├── Parameterizable.qll
│ │ │ │ │ ├── Ssa.qll
│ │ │ │ │ ├── Stubs.qll
│ │ │ │ │ ├── Type.qll
│ │ │ │ │ ├── Types.qll
│ │ │ │ │ ├── Variable.qll
│ │ │ │ │ └── internal
│ │ │ │ │ │ ├── SsaImpl.qll
│ │ │ │ │ │ ├── SsaImplCommon.qll
│ │ │ │ │ │ └── SsaImplSpecific.qll
│ │ │ │ ├── csharp
│ │ │ │ │ ├── AnnotatedType.qll
│ │ │ │ │ ├── Assignable.qll
│ │ │ │ │ ├── Attribute.qll
│ │ │ │ │ ├── Caching.qll
│ │ │ │ │ ├── Callable.qll
│ │ │ │ │ ├── Chaining.qll
│ │ │ │ │ ├── Comments.qll
│ │ │ │ │ ├── Conversion.qll
│ │ │ │ │ ├── Element.qll
│ │ │ │ │ ├── Enclosing.qll
│ │ │ │ │ ├── Event.qll
│ │ │ │ │ ├── ExprOrStmtParent.qll
│ │ │ │ │ ├── File.qll
│ │ │ │ │ ├── Generics.qll
│ │ │ │ │ ├── Implements.qll
│ │ │ │ │ ├── Location.qll
│ │ │ │ │ ├── Member.qll
│ │ │ │ │ ├── Modifier.qll
│ │ │ │ │ ├── Namespace.qll
│ │ │ │ │ ├── Preprocessor.qll
│ │ │ │ │ ├── PrintAst.ql
│ │ │ │ │ ├── PrintAst.qll
│ │ │ │ │ ├── Property.qll
│ │ │ │ │ ├── Stmt.qll
│ │ │ │ │ ├── Type.qll
│ │ │ │ │ ├── TypeRef.qll
│ │ │ │ │ ├── Unification.qll
│ │ │ │ │ ├── Using.qll
│ │ │ │ │ ├── Variable.qll
│ │ │ │ │ ├── XML.qll
│ │ │ │ │ ├── commons
│ │ │ │ │ │ ├── Assertions.qll
│ │ │ │ │ │ ├── Collections.qll
│ │ │ │ │ │ ├── ComparisonTest.qll
│ │ │ │ │ │ ├── Compilation.qll
│ │ │ │ │ │ ├── ConsistencyChecks.qll
│ │ │ │ │ │ ├── Constants.qll
│ │ │ │ │ │ ├── Diagnostics.qll
│ │ │ │ │ │ ├── Disposal.qll
│ │ │ │ │ │ ├── GeneratedCode.qll
│ │ │ │ │ │ ├── Loggers.qll
│ │ │ │ │ │ ├── Strings.qll
│ │ │ │ │ │ ├── StructuralComparison.qll
│ │ │ │ │ │ ├── TargetFramework.qll
│ │ │ │ │ │ └── Util.qll
│ │ │ │ │ ├── controlflow
│ │ │ │ │ │ ├── BasicBlocks.qll
│ │ │ │ │ │ ├── ControlFlowElement.qll
│ │ │ │ │ │ ├── ControlFlowGraph.qll
│ │ │ │ │ │ ├── Guards.qll
│ │ │ │ │ │ └── internal
│ │ │ │ │ │ │ ├── Completion.qll
│ │ │ │ │ │ │ ├── ControlFlowGraphImpl.qll
│ │ │ │ │ │ │ ├── NonReturning.qll
│ │ │ │ │ │ │ ├── PreBasicBlocks.qll
│ │ │ │ │ │ │ ├── PreSsa.qll
│ │ │ │ │ │ │ ├── Splitting.qll
│ │ │ │ │ │ │ ├── SuccessorType.qll
│ │ │ │ │ │ │ └── pressa
│ │ │ │ │ │ │ ├── SsaImplCommon.qll
│ │ │ │ │ │ │ └── SsaImplSpecific.qll
│ │ │ │ │ ├── dataflow
│ │ │ │ │ │ ├── Bound.qll
│ │ │ │ │ │ ├── CallContext.qll
│ │ │ │ │ │ ├── DataFlow.qll
│ │ │ │ │ │ ├── DataFlow2.qll
│ │ │ │ │ │ ├── DataFlow3.qll
│ │ │ │ │ │ ├── DataFlow4.qll
│ │ │ │ │ │ ├── DataFlow5.qll
│ │ │ │ │ │ ├── FlowSummary.qll
│ │ │ │ │ │ ├── LibraryTypeDataFlow.qll
│ │ │ │ │ │ ├── ModulusAnalysis.qll
│ │ │ │ │ │ ├── Nullness.qll
│ │ │ │ │ │ ├── SSA.qll
│ │ │ │ │ │ ├── SignAnalysis.qll
│ │ │ │ │ │ ├── TaintTracking.qll
│ │ │ │ │ │ ├── TaintTracking2.qll
│ │ │ │ │ │ ├── TaintTracking3.qll
│ │ │ │ │ │ ├── TaintTracking4.qll
│ │ │ │ │ │ ├── TaintTracking5.qll
│ │ │ │ │ │ ├── flowsources
│ │ │ │ │ │ │ ├── PublicCallableParameter.qll
│ │ │ │ │ │ │ └── Remote.qll
│ │ │ │ │ │ └── internal
│ │ │ │ │ │ │ ├── BaseSSA.qll
│ │ │ │ │ │ │ ├── CallableReturns.qll
│ │ │ │ │ │ │ ├── ControlFlowReachability.qll
│ │ │ │ │ │ │ ├── DataFlowDispatch.qll
│ │ │ │ │ │ │ ├── DataFlowImpl.qll
│ │ │ │ │ │ │ ├── DataFlowImpl2.qll
│ │ │ │ │ │ │ ├── DataFlowImpl3.qll
│ │ │ │ │ │ │ ├── DataFlowImpl4.qll
│ │ │ │ │ │ │ ├── DataFlowImpl5.qll
│ │ │ │ │ │ │ ├── DataFlowImplCommon.qll
│ │ │ │ │ │ │ ├── DataFlowImplConsistency.qll
│ │ │ │ │ │ │ ├── DataFlowImplSpecific.qll
│ │ │ │ │ │ │ ├── DataFlowPrivate.qll
│ │ │ │ │ │ │ ├── DataFlowPublic.qll
│ │ │ │ │ │ │ ├── DelegateDataFlow.qll
│ │ │ │ │ │ │ ├── FlowSummaryImpl.qll
│ │ │ │ │ │ │ ├── FlowSummaryImplSpecific.qll
│ │ │ │ │ │ │ ├── SsaImpl.qll
│ │ │ │ │ │ │ ├── SsaImplCommon.qll
│ │ │ │ │ │ │ ├── SsaImplSpecific.qll
│ │ │ │ │ │ │ ├── Steps.qll
│ │ │ │ │ │ │ ├── TaintTrackingPrivate.qll
│ │ │ │ │ │ │ ├── TaintTrackingPublic.qll
│ │ │ │ │ │ │ ├── basessa
│ │ │ │ │ │ │ ├── SsaImplCommon.qll
│ │ │ │ │ │ │ └── SsaImplSpecific.qll
│ │ │ │ │ │ │ ├── rangeanalysis
│ │ │ │ │ │ │ ├── BoundSpecific.qll
│ │ │ │ │ │ │ ├── ConstantUtils.qll
│ │ │ │ │ │ │ ├── ControlFlowReachability.qll
│ │ │ │ │ │ │ ├── ModulusAnalysisSpecific.qll
│ │ │ │ │ │ │ ├── RangeUtils.qll
│ │ │ │ │ │ │ ├── Sign.qll
│ │ │ │ │ │ │ ├── SignAnalysisCommon.qll
│ │ │ │ │ │ │ ├── SignAnalysisSpecific.qll
│ │ │ │ │ │ │ ├── SsaReadPositionCommon.qll
│ │ │ │ │ │ │ ├── SsaReadPositionSpecific.qll
│ │ │ │ │ │ │ └── SsaUtils.qll
│ │ │ │ │ │ │ ├── tainttracking1
│ │ │ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ │ │ │ │ ├── tainttracking2
│ │ │ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ │ │ │ │ ├── tainttracking3
│ │ │ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ │ │ │ │ ├── tainttracking4
│ │ │ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ │ │ │ │ └── tainttracking5
│ │ │ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ │ │ ├── dispatch
│ │ │ │ │ │ ├── Dispatch.qll
│ │ │ │ │ │ ├── OverridableCallable.qll
│ │ │ │ │ │ └── RuntimeCallable.qll
│ │ │ │ │ ├── exprs
│ │ │ │ │ │ ├── Access.qll
│ │ │ │ │ │ ├── ArithmeticOperation.qll
│ │ │ │ │ │ ├── Assignment.qll
│ │ │ │ │ │ ├── BitwiseOperation.qll
│ │ │ │ │ │ ├── Call.qll
│ │ │ │ │ │ ├── ComparisonOperation.qll
│ │ │ │ │ │ ├── Creation.qll
│ │ │ │ │ │ ├── Dynamic.qll
│ │ │ │ │ │ ├── Expr.qll
│ │ │ │ │ │ ├── Literal.qll
│ │ │ │ │ │ └── LogicalOperation.qll
│ │ │ │ │ ├── frameworks
│ │ │ │ │ │ ├── EntityFramework.qll
│ │ │ │ │ │ ├── Format.qll
│ │ │ │ │ │ ├── JsonNET.qll
│ │ │ │ │ │ ├── Microsoft.qll
│ │ │ │ │ │ ├── Moq.qll
│ │ │ │ │ │ ├── NHibernate.qll
│ │ │ │ │ │ ├── Sql.qll
│ │ │ │ │ │ ├── System.qll
│ │ │ │ │ │ ├── Test.qll
│ │ │ │ │ │ ├── WCF.qll
│ │ │ │ │ │ ├── microsoft
│ │ │ │ │ │ │ ├── AspNetCore.qll
│ │ │ │ │ │ │ └── Owin.qll
│ │ │ │ │ │ ├── system
│ │ │ │ │ │ │ ├── CodeDom.qll
│ │ │ │ │ │ │ ├── Collections.qll
│ │ │ │ │ │ │ ├── Data.qll
│ │ │ │ │ │ │ ├── Diagnostics.qll
│ │ │ │ │ │ │ ├── DirectoryServices.qll
│ │ │ │ │ │ │ ├── IO.qll
│ │ │ │ │ │ │ ├── Linq.qll
│ │ │ │ │ │ │ ├── Net.qll
│ │ │ │ │ │ │ ├── Reflection.qll
│ │ │ │ │ │ │ ├── Runtime.qll
│ │ │ │ │ │ │ ├── Security.qll
│ │ │ │ │ │ │ ├── Text.qll
│ │ │ │ │ │ │ ├── Threading.qll
│ │ │ │ │ │ │ ├── Web.qll
│ │ │ │ │ │ │ ├── Windows.qll
│ │ │ │ │ │ │ ├── Xml.qll
│ │ │ │ │ │ │ ├── codedom
│ │ │ │ │ │ │ │ └── Compiler.qll
│ │ │ │ │ │ │ ├── collections
│ │ │ │ │ │ │ │ ├── Generic.qll
│ │ │ │ │ │ │ │ └── Specialized.qll
│ │ │ │ │ │ │ ├── data
│ │ │ │ │ │ │ │ ├── Common.qll
│ │ │ │ │ │ │ │ ├── Entity.qll
│ │ │ │ │ │ │ │ ├── SqlClient.qll
│ │ │ │ │ │ │ │ └── SqlServerCe.qll
│ │ │ │ │ │ │ ├── diagnostics
│ │ │ │ │ │ │ │ └── Contracts.qll
│ │ │ │ │ │ │ ├── directoryservices
│ │ │ │ │ │ │ │ └── Protocols.qll
│ │ │ │ │ │ │ ├── io
│ │ │ │ │ │ │ │ └── Compression.qll
│ │ │ │ │ │ │ ├── linq
│ │ │ │ │ │ │ │ └── Expressions.qll
│ │ │ │ │ │ │ ├── net
│ │ │ │ │ │ │ │ └── Mail.qll
│ │ │ │ │ │ │ ├── runtime
│ │ │ │ │ │ │ │ ├── CompilerServices.qll
│ │ │ │ │ │ │ │ └── InteropServices.qll
│ │ │ │ │ │ │ ├── security
│ │ │ │ │ │ │ │ ├── Cryptography.qll
│ │ │ │ │ │ │ │ └── cryptography
│ │ │ │ │ │ │ │ │ ├── SymmetricAlgorithm.qll
│ │ │ │ │ │ │ │ │ └── X509Certificates.qll
│ │ │ │ │ │ │ ├── text
│ │ │ │ │ │ │ │ └── RegularExpressions.qll
│ │ │ │ │ │ │ ├── threading
│ │ │ │ │ │ │ │ └── Tasks.qll
│ │ │ │ │ │ │ ├── web
│ │ │ │ │ │ │ │ ├── Helpers.qll
│ │ │ │ │ │ │ │ ├── Http.qll
│ │ │ │ │ │ │ │ ├── Mvc.qll
│ │ │ │ │ │ │ │ ├── Security.qll
│ │ │ │ │ │ │ │ ├── Services.qll
│ │ │ │ │ │ │ │ ├── UI.qll
│ │ │ │ │ │ │ │ ├── WebPages.qll
│ │ │ │ │ │ │ │ └── ui
│ │ │ │ │ │ │ │ │ └── WebControls.qll
│ │ │ │ │ │ │ ├── windows
│ │ │ │ │ │ │ │ └── Forms.qll
│ │ │ │ │ │ │ └── xml
│ │ │ │ │ │ │ │ └── XPath.qll
│ │ │ │ │ │ └── test
│ │ │ │ │ │ │ ├── NUnit.qll
│ │ │ │ │ │ │ ├── VisualStudio.qll
│ │ │ │ │ │ │ └── XUnit.qll
│ │ │ │ │ ├── metrics
│ │ │ │ │ │ ├── Complexity.qll
│ │ │ │ │ │ ├── Coupling.qll
│ │ │ │ │ │ └── ExternalDependencies.qll
│ │ │ │ │ ├── security
│ │ │ │ │ │ ├── PrivateData.qll
│ │ │ │ │ │ ├── Sanitizers.qll
│ │ │ │ │ │ ├── SensitiveActions.qll
│ │ │ │ │ │ ├── cryptography
│ │ │ │ │ │ │ ├── EncryptionKeyDataFlow.qll
│ │ │ │ │ │ │ └── HardcodedSymmetricEncryptionKey.qll
│ │ │ │ │ │ ├── dataflow
│ │ │ │ │ │ │ ├── CleartextStorage.qll
│ │ │ │ │ │ │ ├── CodeInjection.qll
│ │ │ │ │ │ │ ├── CommandInjection.qll
│ │ │ │ │ │ │ ├── ConditionalBypass.qll
│ │ │ │ │ │ │ ├── ExposureOfPrivateInformation.qll
│ │ │ │ │ │ │ ├── ExternalAPIs.qll
│ │ │ │ │ │ │ ├── HardcodedCredentials.qll
│ │ │ │ │ │ │ ├── LDAPInjection.qll
│ │ │ │ │ │ │ ├── LogForging.qll
│ │ │ │ │ │ │ ├── MissingXMLValidation.qll
│ │ │ │ │ │ │ ├── ReDoS.qll
│ │ │ │ │ │ │ ├── RegexInjection.qll
│ │ │ │ │ │ │ ├── ResourceInjection.qll
│ │ │ │ │ │ │ ├── SqlInjection.qll
│ │ │ │ │ │ │ ├── TaintedPath.qll
│ │ │ │ │ │ │ ├── UnsafeDeserialization.qll
│ │ │ │ │ │ │ ├── UrlRedirect.qll
│ │ │ │ │ │ │ ├── XMLEntityInjection.qll
│ │ │ │ │ │ │ ├── XPathInjection.qll
│ │ │ │ │ │ │ ├── XSS.qll
│ │ │ │ │ │ │ ├── ZipSlip.qll
│ │ │ │ │ │ │ ├── flowsinks
│ │ │ │ │ │ │ │ ├── Email.qll
│ │ │ │ │ │ │ │ ├── ExternalLocationSink.qll
│ │ │ │ │ │ │ │ ├── Html.qll
│ │ │ │ │ │ │ │ └── Remote.qll
│ │ │ │ │ │ │ └── flowsources
│ │ │ │ │ │ │ │ ├── Local.qll
│ │ │ │ │ │ │ │ ├── Remote.qll
│ │ │ │ │ │ │ │ └── Stored.qll
│ │ │ │ │ │ └── xml
│ │ │ │ │ │ │ └── InsecureXML.qll
│ │ │ │ │ └── serialization
│ │ │ │ │ │ ├── Deserializers.qll
│ │ │ │ │ │ └── Serialization.qll
│ │ │ │ └── dotnet
│ │ │ │ │ ├── Callable.qll
│ │ │ │ │ ├── Declaration.qll
│ │ │ │ │ ├── DotNet.qll
│ │ │ │ │ ├── Element.qll
│ │ │ │ │ ├── Expr.qll
│ │ │ │ │ ├── Generics.qll
│ │ │ │ │ ├── Namespace.qll
│ │ │ │ │ ├── Parameterizable.qll
│ │ │ │ │ ├── Type.qll
│ │ │ │ │ ├── Utils.qll
│ │ │ │ │ └── Variable.qll
│ │ │ └── files
│ │ │ │ └── FileSystem.qll
│ │ ├── semmlecode.csharp.dbscheme
│ │ └── semmlecode.csharp.dbscheme.stats
│ └── test
│ │ ├── .gitignore
│ │ ├── .project
│ │ ├── .qlpath
│ │ ├── experimental
│ │ ├── README.md
│ │ ├── Security Features
│ │ │ ├── Serialization
│ │ │ │ ├── DefiningDatasetRelatedType.expected
│ │ │ │ ├── DefiningDatasetRelatedType.qlref
│ │ │ │ ├── DefiningPotentiallyUnsafeXmlSerializer.expected
│ │ │ │ ├── DefiningPotentiallyUnsafeXmlSerializer.qlref
│ │ │ │ ├── UnsafeTypeUsedDataContractSerializer.expected
│ │ │ │ ├── UnsafeTypeUsedDataContractSerializer.qlref
│ │ │ │ ├── XmlDeserializationWithDataSet.expected
│ │ │ │ ├── XmlDeserializationWithDataSet.qlref
│ │ │ │ └── test0.cs
│ │ │ ├── backdoor
│ │ │ │ ├── DangerousNativeFunctionCall.expected
│ │ │ │ ├── DangerousNativeFunctionCall.qlref
│ │ │ │ ├── PotentialTimeBomb.expected
│ │ │ │ ├── PotentialTimeBomb.qlref
│ │ │ │ ├── ProcessNameToHashTaintFlow.expected
│ │ │ │ ├── ProcessNameToHashTaintFlow.qlref
│ │ │ │ └── test.cs
│ │ │ └── campaign
│ │ │ │ └── Solorigate
│ │ │ │ ├── ModifiedFnvFunctionDetection.expected
│ │ │ │ ├── ModifiedFnvFunctionDetection.qlref
│ │ │ │ ├── NumberOfKnownCommandsAboveThreshold.expected
│ │ │ │ ├── NumberOfKnownCommandsAboveThreshold.qlref
│ │ │ │ ├── NumberOfKnownHashesAboveThreshold.expected
│ │ │ │ ├── NumberOfKnownHashesAboveThreshold.qlref
│ │ │ │ ├── NumberOfKnownLiteralsAboveThreshold.expected
│ │ │ │ ├── NumberOfKnownLiteralsAboveThreshold.qlref
│ │ │ │ ├── NumberOfKnownMethodNamesAboveThreshold.expected
│ │ │ │ ├── NumberOfKnownMethodNamesAboveThreshold.qlref
│ │ │ │ ├── SwallowEverythingExceptionHandler.expected
│ │ │ │ ├── SwallowEverythingExceptionHandler.qlref
│ │ │ │ └── test.cs
│ │ └── ir
│ │ │ ├── ir
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── array.cs
│ │ │ ├── assignop.cs
│ │ │ ├── casts.cs
│ │ │ ├── collections.cs
│ │ │ ├── constructor_init.cs
│ │ │ ├── crement.cs
│ │ │ ├── delegates.cs
│ │ │ ├── events.cs
│ │ │ ├── foreach.cs
│ │ │ ├── func_with_param_call.cs
│ │ │ ├── indexers.cs
│ │ │ ├── inheritance_polymorphism.cs
│ │ │ ├── inoutref.cs
│ │ │ ├── isexpr.cs
│ │ │ ├── jumps.cs
│ │ │ ├── lock.cs
│ │ │ ├── obj_creation.cs
│ │ │ ├── pointers.cs
│ │ │ ├── prop.cs
│ │ │ ├── raw_ir.expected
│ │ │ ├── raw_ir.qlref
│ │ │ ├── raw_ir_consistency.expected
│ │ │ ├── raw_ir_consistency.qlref
│ │ │ ├── simple_call.cs
│ │ │ ├── simple_function.cs
│ │ │ ├── stmts.cs
│ │ │ ├── unaliased_ssa_consistency.expected
│ │ │ ├── unaliased_ssa_consistency.qlref
│ │ │ ├── unaliased_ssa_ssa_consistency.expected
│ │ │ ├── unaliased_ssa_ssa_consistency.qlref
│ │ │ ├── using.cs
│ │ │ └── variables.cs
│ │ │ ├── offbyone
│ │ │ ├── OffByOneRA.expected
│ │ │ ├── OffByOneRA.ql
│ │ │ ├── null.cs
│ │ │ └── test.cs
│ │ │ └── rangeanalysis
│ │ │ ├── RangeAnalysis.expected
│ │ │ ├── RangeAnalysis.ql
│ │ │ ├── null.cs
│ │ │ └── test.cs
│ │ ├── format.json
│ │ ├── library-tests
│ │ ├── aliases
│ │ │ ├── Assembly1.dll
│ │ │ ├── Assembly2.dll
│ │ │ ├── Program.cs
│ │ │ ├── aliases1.expected
│ │ │ ├── aliases1.ql
│ │ │ ├── aliases2.expected
│ │ │ └── aliases2.ql
│ │ ├── arguments
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── argumentByName.expected
│ │ │ ├── argumentByName.ql
│ │ │ ├── argumentByParameter.expected
│ │ │ ├── argumentByParameter.ql
│ │ │ ├── argumentName.expected
│ │ │ ├── argumentName.ql
│ │ │ ├── argumentType.expected
│ │ │ ├── argumentType.ql
│ │ │ ├── arguments.cs
│ │ │ ├── parameterGetArguments.expected
│ │ │ └── parameterGetArguments.ql
│ │ ├── asp
│ │ │ ├── basic
│ │ │ │ ├── AspDirective.expected
│ │ │ │ ├── AspDirective.ql
│ │ │ │ ├── AspElement.expected
│ │ │ │ ├── AspElement.ql
│ │ │ │ ├── AspOpenTag.expected
│ │ │ │ ├── AspOpenTag.ql
│ │ │ │ ├── CodeBehind.expected
│ │ │ │ ├── CodeBehind.ql
│ │ │ │ ├── Test.cs
│ │ │ │ ├── comments.expected
│ │ │ │ ├── comments.ql
│ │ │ │ ├── script.aspx
│ │ │ │ ├── test.aspx
│ │ │ │ └── userControl.ascx
│ │ │ └── parseError
│ │ │ │ ├── AspDirective.expected
│ │ │ │ ├── AspDirective.ql
│ │ │ │ ├── AspElement.expected
│ │ │ │ ├── AspElement.ql
│ │ │ │ ├── AspOpenTag.expected
│ │ │ │ ├── AspOpenTag.ql
│ │ │ │ ├── comments.expected
│ │ │ │ ├── comments.ql
│ │ │ │ └── test.aspx
│ │ ├── assemblies
│ │ │ ├── Assemblies.cs
│ │ │ ├── Assembly1.cs_
│ │ │ ├── Assembly1.dll
│ │ │ ├── Assembly2.cs_
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── CompareVersions.expected
│ │ │ ├── CompareVersions.ql
│ │ │ ├── Locations.cs
│ │ │ ├── Locations.dll
│ │ │ ├── ValidVersions.expected
│ │ │ ├── ValidVersions.ql
│ │ │ ├── assemblies.expected
│ │ │ ├── assemblies.ql
│ │ │ ├── compilation.expected
│ │ │ ├── compilation.ql
│ │ │ ├── locations.expected
│ │ │ └── locations.ql
│ │ ├── assemblylocation
│ │ │ ├── AssemblyLocation.expected
│ │ │ ├── AssemblyLocation.ql
│ │ │ └── program.cs
│ │ ├── assignables
│ │ │ ├── AssignableAccess.expected
│ │ │ ├── AssignableAccess.ql
│ │ │ ├── AssignableDefinition.expected
│ │ │ ├── AssignableDefinition.ql
│ │ │ ├── AssignableDefinitionNode.expected
│ │ │ ├── AssignableDefinitionNode.ql
│ │ │ ├── Assignables.cs
│ │ │ ├── Assignables.expected
│ │ │ ├── Assignables.ql
│ │ │ ├── Discards.cs
│ │ │ ├── Finally.cs
│ │ │ ├── GetAnAssignedValue.expected
│ │ │ ├── GetAnAssignedValue.ql
│ │ │ ├── Patterns.cs
│ │ │ ├── TupleDefinition.expected
│ │ │ └── TupleDefinition.ql
│ │ ├── assignments
│ │ │ ├── AssignOperation.expected
│ │ │ ├── AssignOperation.ql
│ │ │ ├── AssignOperationExpanded.expected
│ │ │ ├── AssignOperationExpanded.ql
│ │ │ ├── Assignments.cs
│ │ │ ├── PrintAst.expected
│ │ │ └── PrintAst.qlref
│ │ ├── async
│ │ │ ├── Async.expected
│ │ │ ├── Async.ql
│ │ │ ├── Await.expected
│ │ │ ├── Await.ql
│ │ │ └── async.cs
│ │ ├── attributes
│ │ │ ├── Assembly1.cs_
│ │ │ ├── Assembly1.dll
│ │ │ ├── AttributeArguments.expected
│ │ │ ├── AttributeArguments.ql
│ │ │ ├── AttributeComments.expected
│ │ │ ├── AttributeComments.ql
│ │ │ ├── AttributeElements.expected
│ │ │ ├── AttributeElements.ql
│ │ │ ├── Attributes1.expected
│ │ │ ├── Attributes1.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── attributes.cs
│ │ ├── chaining
│ │ │ ├── Chaining.cs
│ │ │ ├── Chaining.expected
│ │ │ └── Chaining.ql
│ │ ├── cil
│ │ │ ├── attributes
│ │ │ │ ├── Test.cs
│ │ │ │ ├── attribute.expected
│ │ │ │ └── attribute.ql
│ │ │ ├── consistency
│ │ │ │ ├── Handles.expected
│ │ │ │ ├── Handles.ql
│ │ │ │ ├── Program.cs
│ │ │ │ ├── consistency.expected
│ │ │ │ └── consistency.ql
│ │ │ ├── dataflow
│ │ │ │ ├── CallableReturns.expected
│ │ │ │ ├── CallableReturns.ql
│ │ │ │ ├── ControlFlow.expected
│ │ │ │ ├── ControlFlow.ql
│ │ │ │ ├── DataFlow.cs_
│ │ │ │ ├── DataFlow.dll
│ │ │ │ ├── DataFlow.expected
│ │ │ │ ├── DataFlow.ql
│ │ │ │ ├── DataFlowUnoptimized.cs_
│ │ │ │ ├── DataFlowUnoptimized.dll
│ │ │ │ ├── Nullness.expected
│ │ │ │ ├── Nullness.ql
│ │ │ │ ├── TaintTracking.expected
│ │ │ │ ├── TaintTracking.ql
│ │ │ │ ├── TrivialProperties.expected
│ │ │ │ ├── TrivialProperties.ql
│ │ │ │ └── dataflow.cs
│ │ │ ├── enums
│ │ │ │ ├── Program.cs
│ │ │ │ ├── enums.expected
│ │ │ │ └── enums.ql
│ │ │ ├── functionPointers
│ │ │ │ ├── Class1.cs_
│ │ │ │ ├── Test.cs
│ │ │ │ ├── fnptr.dll
│ │ │ │ ├── functionPointers.expected
│ │ │ │ └── functionPointers.ql
│ │ │ ├── init-only-prop
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Test.cs_
│ │ │ │ ├── cil-init-prop.dll
│ │ │ │ ├── customModifiers.expected
│ │ │ │ ├── customModifiers.ql
│ │ │ │ ├── setters.expected
│ │ │ │ └── setters.ql
│ │ │ ├── pdbs
│ │ │ │ ├── EmbeddedPdb.dll
│ │ │ │ ├── FullPdb.dll
│ │ │ │ ├── FullPdb.pdb
│ │ │ │ ├── InstructionLocations.expected
│ │ │ │ ├── InstructionLocations.ql
│ │ │ │ ├── MethodLocations.expected
│ │ │ │ ├── MethodLocations.ql
│ │ │ │ ├── PdbOnly.dll
│ │ │ │ ├── PdbOnly.pdb
│ │ │ │ ├── Pdbs.cs
│ │ │ │ ├── PortablePdb.dll
│ │ │ │ ├── PortablePdb.pdb
│ │ │ │ ├── Stubs.expected
│ │ │ │ └── Stubs.ql
│ │ │ ├── regressions
│ │ │ │ ├── ConstructedMethods.expected
│ │ │ │ ├── ConstructedMethods.ql
│ │ │ │ ├── Methods.cs
│ │ │ │ └── Methods.dll
│ │ │ └── typeAnnotations
│ │ │ │ ├── Program.cs
│ │ │ │ ├── typeAnnotations.expected
│ │ │ │ └── typeAnnotations.ql
│ │ ├── comments
│ │ │ ├── BindingAfter.expected
│ │ │ ├── BindingAfter.ql
│ │ │ ├── BindingBefore.expected
│ │ │ ├── BindingBefore.ql
│ │ │ ├── BindingParent.expected
│ │ │ ├── BindingParent.ql
│ │ │ ├── Bindings.expected
│ │ │ ├── Bindings.ql
│ │ │ ├── Comments.expected
│ │ │ ├── Comments.ql
│ │ │ ├── DefineDirectives.expected
│ │ │ ├── DefineDirectives.ql
│ │ │ ├── Directives.expected
│ │ │ ├── Directives.ql
│ │ │ ├── ErrorDirectives.expected
│ │ │ ├── ErrorDirectives.ql
│ │ │ ├── Generics.expected
│ │ │ ├── Generics.ql
│ │ │ ├── IfDirectives.expected
│ │ │ ├── IfDirectives.ql
│ │ │ ├── LineDirectives.expected
│ │ │ ├── LineDirectives.ql
│ │ │ ├── NullableDirectives.expected
│ │ │ ├── NullableDirectives.ql
│ │ │ ├── Orphans.expected
│ │ │ ├── Orphans.ql
│ │ │ ├── PragmaChecksums.expected
│ │ │ ├── PragmaChecksums.ql
│ │ │ ├── PragmaWarnings.expected
│ │ │ ├── PragmaWarnings.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── RegionDirectives.expected
│ │ │ ├── RegionDirectives.ql
│ │ │ ├── UndefineDirectives.expected
│ │ │ ├── UndefineDirectives.ql
│ │ │ ├── WarningDirectives.expected
│ │ │ ├── WarningDirectives.ql
│ │ │ ├── comments1.cs
│ │ │ ├── comments2.cs
│ │ │ └── trivia.cs
│ │ ├── commons
│ │ │ ├── Assertions
│ │ │ │ ├── Assertion.expected
│ │ │ │ ├── Assertions.cs
│ │ │ │ ├── Assertions.expected
│ │ │ │ ├── Assertions.ql
│ │ │ │ ├── FailingAssertion.expected
│ │ │ │ └── FailingAssertion.ql
│ │ │ ├── ComparisonTest
│ │ │ │ ├── ComparisonTest.cs
│ │ │ │ ├── comparisonTest.expected
│ │ │ │ └── comparisonTest.ql
│ │ │ ├── Disposal
│ │ │ │ ├── Class1.cs_
│ │ │ │ ├── Disposal.cs
│ │ │ │ ├── DisposalTests.dll
│ │ │ │ ├── DisposedFields.expected
│ │ │ │ ├── DisposedFields.ql
│ │ │ │ ├── DisposedParameter.expected
│ │ │ │ ├── DisposedParameter.ql
│ │ │ │ ├── DisposedVariables.expected
│ │ │ │ ├── DisposedVariables.ql
│ │ │ │ ├── UndisposedParameter.expected
│ │ │ │ └── UndisposedParameter.ql
│ │ │ ├── GeneratedCode
│ │ │ │ ├── GeneratedCode.cs
│ │ │ │ ├── GeneratedCode.expected
│ │ │ │ ├── GeneratedCode.ql
│ │ │ │ └── NonGeneratedCode.cs
│ │ │ ├── Strings
│ │ │ │ ├── ImplicitToStringExpr.expected
│ │ │ │ ├── ImplicitToStringExpr.ql
│ │ │ │ └── Strings.cs
│ │ │ └── TargetFramework
│ │ │ │ ├── HasElement.expected
│ │ │ │ ├── HasElement.ql
│ │ │ │ ├── NetCore.expected
│ │ │ │ ├── NetCore.ql
│ │ │ │ ├── NetCore2.0.cs
│ │ │ │ ├── NetFramework.expected
│ │ │ │ ├── NetFramework.ql
│ │ │ │ ├── NetFramework4.6.1.cs
│ │ │ │ ├── NetFramework4.6.cs
│ │ │ │ ├── NetStandard.expected
│ │ │ │ ├── NetStandard.ql
│ │ │ │ ├── NetStandard1.3.cs
│ │ │ │ ├── TargetFrameworks.expected
│ │ │ │ └── TargetFrameworks.ql
│ │ ├── compilations
│ │ │ ├── Compilations.expected
│ │ │ ├── Compilations.ql
│ │ │ ├── CompilerError.expected
│ │ │ ├── CompilerError.qlref
│ │ │ ├── CompilerMessage.expected
│ │ │ ├── CompilerMessage.qlref
│ │ │ ├── ExtractorError.expected
│ │ │ ├── ExtractorError.qlref
│ │ │ ├── ExtractorErrors.expected
│ │ │ ├── ExtractorErrors.ql
│ │ │ ├── ExtractorMessage.expected
│ │ │ ├── ExtractorMessage.qlref
│ │ │ └── Program.cs
│ │ ├── complexity
│ │ │ ├── Complexity.expected
│ │ │ ├── Complexity.ql
│ │ │ └── complexity.cs
│ │ ├── constructors
│ │ │ ├── Constructors1.expected
│ │ │ ├── Constructors1.ql
│ │ │ ├── Constructors2.expected
│ │ │ ├── Constructors2.ql
│ │ │ ├── Constructors3.expected
│ │ │ ├── Constructors3.ql
│ │ │ ├── Constructors4.expected
│ │ │ ├── Constructors4.ql
│ │ │ ├── Destructors1.expected
│ │ │ ├── Destructors1.ql
│ │ │ ├── Destructors2.expected
│ │ │ ├── Destructors2.ql
│ │ │ ├── Destructors3.expected
│ │ │ ├── Destructors3.ql
│ │ │ ├── Destructors4.expected
│ │ │ ├── Destructors4.ql
│ │ │ ├── Destructors5.expected
│ │ │ ├── Destructors5.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── constructors.cs
│ │ ├── controlflow
│ │ │ ├── graph
│ │ │ │ ├── AccessorCalls.cs
│ │ │ │ ├── ArrayCreation.cs
│ │ │ │ ├── Assert.cs
│ │ │ │ ├── Assignments.cs
│ │ │ │ ├── BasicBlock.expected
│ │ │ │ ├── BasicBlock.ql
│ │ │ │ ├── BreakInTry.cs
│ │ │ │ ├── Common.qll
│ │ │ │ ├── CompileTimeOperators.cs
│ │ │ │ ├── Condition.expected
│ │ │ │ ├── Condition.ql
│ │ │ │ ├── ConditionalAccess.cs
│ │ │ │ ├── Conditions.cs
│ │ │ │ ├── Consistency.expected
│ │ │ │ ├── Consistency.ql
│ │ │ │ ├── Dominance.expected
│ │ │ │ ├── Dominance.ql
│ │ │ │ ├── EnclosingCallable.expected
│ │ │ │ ├── EnclosingCallable.ql
│ │ │ │ ├── EntryElement.expected
│ │ │ │ ├── EntryElement.ql
│ │ │ │ ├── ExitElement.expected
│ │ │ │ ├── ExitElement.ql
│ │ │ │ ├── ExitMethods.cs
│ │ │ │ ├── Extensions.cs
│ │ │ │ ├── Finally.cs
│ │ │ │ ├── Foreach.cs
│ │ │ │ ├── Initializers.cs
│ │ │ │ ├── LoopUnrolling.cs
│ │ │ │ ├── MultiImplementationA.cs
│ │ │ │ ├── MultiImplementationB.cs
│ │ │ │ ├── NodeGraph.expected
│ │ │ │ ├── NodeGraph.ql
│ │ │ │ ├── Nodes.expected
│ │ │ │ ├── Nodes.ql
│ │ │ │ ├── NullCoalescing.cs
│ │ │ │ ├── Patterns.cs
│ │ │ │ ├── PostDominance.cs
│ │ │ │ ├── Qualifiers.cs
│ │ │ │ ├── Switch.cs
│ │ │ │ ├── TypeAccesses.cs
│ │ │ │ ├── VarDecls.cs
│ │ │ │ └── cflow.cs
│ │ │ ├── guards
│ │ │ │ ├── AbstractValue.expected
│ │ │ │ ├── AbstractValue.ql
│ │ │ │ ├── Assert.cs
│ │ │ │ ├── BooleanGuardedExpr.expected
│ │ │ │ ├── BooleanGuardedExpr.ql
│ │ │ │ ├── Collections.cs
│ │ │ │ ├── Collections.expected
│ │ │ │ ├── Collections.ql
│ │ │ │ ├── ExtractorOptions.cs
│ │ │ │ ├── GuardedControlFlowNode.expected
│ │ │ │ ├── GuardedControlFlowNode.ql
│ │ │ │ ├── GuardedExpr.expected
│ │ │ │ ├── GuardedExpr.ql
│ │ │ │ ├── Guards.cs
│ │ │ │ ├── Implications.expected
│ │ │ │ ├── Implications.ql
│ │ │ │ ├── MatchingGuardedExpr.expected
│ │ │ │ ├── MatchingGuardedExpr.ql
│ │ │ │ ├── NullGuardedExpr.expected
│ │ │ │ ├── NullGuardedExpr.ql
│ │ │ │ └── Splitting.cs
│ │ │ └── splits
│ │ │ │ ├── SplittingStressTest.cs
│ │ │ │ ├── SplittingStressTest.expected
│ │ │ │ └── SplittingStressTest.ql
│ │ ├── conversion
│ │ │ ├── boxing
│ │ │ │ ├── Boxing.cs
│ │ │ │ ├── Boxing.expected
│ │ │ │ └── Boxing.ql
│ │ │ ├── identity
│ │ │ │ ├── Identity.cs
│ │ │ │ ├── Identity.expected
│ │ │ │ └── Identity.ql
│ │ │ ├── nullable
│ │ │ │ ├── Nullable.cs
│ │ │ │ ├── Nullable.expected
│ │ │ │ └── Nullable.ql
│ │ │ ├── numeric
│ │ │ │ ├── Numeric.cs
│ │ │ │ ├── Numeric.expected
│ │ │ │ └── Numeric.ql
│ │ │ ├── operator
│ │ │ │ ├── Operator.cs
│ │ │ │ ├── Operator.expected
│ │ │ │ ├── Operator.ql
│ │ │ │ ├── PrintAst.expected
│ │ │ │ └── PrintAst.qlref
│ │ │ ├── pointer
│ │ │ │ ├── Pointer.cs
│ │ │ │ ├── Pointer.expected
│ │ │ │ └── Pointer.ql
│ │ │ └── reftype
│ │ │ │ ├── RefType.cs
│ │ │ │ ├── RefType.expected
│ │ │ │ └── RefType.ql
│ │ ├── csharp6
│ │ │ ├── Exceptions.expected
│ │ │ ├── Exceptions.ql
│ │ │ ├── ExprBody1.expected
│ │ │ ├── ExprBody1.ql
│ │ │ ├── ExprBody2.expected
│ │ │ ├── ExprBody2.ql
│ │ │ ├── ExprBody3.expected
│ │ │ ├── ExprBody3.ql
│ │ │ ├── ExprBody4.expected
│ │ │ ├── ExprBody4.ql
│ │ │ ├── InterpolatedStringExpr.expected
│ │ │ ├── InterpolatedStringExpr.ql
│ │ │ ├── MemberAccess1.expected
│ │ │ ├── MemberAccess1.ql
│ │ │ ├── MemberAccess2.expected
│ │ │ ├── MemberAccess2.ql
│ │ │ ├── MemberInitializer.expected
│ │ │ ├── MemberInitializer.ql
│ │ │ ├── Nameof.expected
│ │ │ ├── Nameof.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── PropertyInitializer.expected
│ │ │ ├── PropertyInitializer.ql
│ │ │ ├── UsingStatic.expected
│ │ │ ├── UsingStatic.ql
│ │ │ └── csharp6.cs
│ │ ├── csharp7.1
│ │ │ ├── DefaultLiterals.expected
│ │ │ ├── DefaultLiterals.ql
│ │ │ ├── IsConstants.expected
│ │ │ ├── IsConstants.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── csharp71.cs
│ │ ├── csharp7.2
│ │ │ ├── InArguments.expected
│ │ │ ├── InArguments.ql
│ │ │ ├── InParameters.expected
│ │ │ ├── InParameters.ql
│ │ │ ├── NumericLiterals.expected
│ │ │ ├── NumericLiterals.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── PrivateProtected.expected
│ │ │ ├── PrivateProtected.ql
│ │ │ ├── ReadonlyStructs.expected
│ │ │ ├── ReadonlyStructs.ql
│ │ │ ├── RefReadonlyDelegate.expected
│ │ │ ├── RefReadonlyDelegate.ql
│ │ │ ├── RefReadonlyReturns.expected
│ │ │ ├── RefReadonlyReturns.ql
│ │ │ ├── RefStructs.expected
│ │ │ ├── RefStructs.ql
│ │ │ └── csharp72.cs
│ │ ├── csharp7.3
│ │ │ ├── ArrayCreations.expected
│ │ │ ├── ArrayCreations.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── csharp73.cs
│ │ ├── csharp7
│ │ │ ├── Access.expected
│ │ │ ├── Access.ql
│ │ │ ├── CSharp7.cs
│ │ │ ├── CaseCondition.expected
│ │ │ ├── CaseCondition.ql
│ │ │ ├── ConstructedLocalFunctions.expected
│ │ │ ├── ConstructedLocalFunctions.ql
│ │ │ ├── DefUse.expected
│ │ │ ├── DefUse.ql
│ │ │ ├── Discards.expected
│ │ │ ├── Discards.ql
│ │ │ ├── ExpressionBodies.expected
│ │ │ ├── ExpressionBodies.ql
│ │ │ ├── ForEach.expected
│ │ │ ├── ForEach.ql
│ │ │ ├── GlobalFlow.expected
│ │ │ ├── GlobalFlow.ql
│ │ │ ├── GlobalTaintTracking.expected
│ │ │ ├── GlobalTaintTracking.ql
│ │ │ ├── IsFlow.expected
│ │ │ ├── IsFlow.ql
│ │ │ ├── IsPatterns.expected
│ │ │ ├── IsPatterns.ql
│ │ │ ├── Literals.expected
│ │ │ ├── Literals.ql
│ │ │ ├── LocalFunctionCallArguments.expected
│ │ │ ├── LocalFunctionCallArguments.ql
│ │ │ ├── LocalFunctionCalls.expected
│ │ │ ├── LocalFunctionCalls.ql
│ │ │ ├── LocalFunctionParameters.expected
│ │ │ ├── LocalFunctionParameters.ql
│ │ │ ├── LocalFunctionStmts.expected
│ │ │ ├── LocalFunctionStmts.ql
│ │ │ ├── LocalFunctions.expected
│ │ │ ├── LocalFunctions.ql
│ │ │ ├── LocalTaintFlow.expected
│ │ │ ├── LocalTaintFlow.ql
│ │ │ ├── LocalVariables.expected
│ │ │ ├── LocalVariables.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── RefDelegates.expected
│ │ │ ├── RefDelegates.ql
│ │ │ ├── RefExprs.expected
│ │ │ ├── RefExprs.ql
│ │ │ ├── RefFunctions.expected
│ │ │ ├── RefFunctions.ql
│ │ │ ├── RefVariables.expected
│ │ │ ├── RefVariables.ql
│ │ │ ├── TaintReaches.expected
│ │ │ ├── TaintReaches.ql
│ │ │ ├── Throw.expected
│ │ │ ├── Throw.ql
│ │ │ ├── TupleAccess.expected
│ │ │ ├── TupleAccess.ql
│ │ │ ├── TupleExpr.expected
│ │ │ ├── TupleExpr.ql
│ │ │ ├── TupleTypes.expected
│ │ │ ├── TupleTypes.ql
│ │ │ ├── TypeCase1.expected
│ │ │ ├── TypeCase1.ql
│ │ │ ├── TypeCase2.expected
│ │ │ ├── TypeCase2.ql
│ │ │ ├── TypeCase3.expected
│ │ │ ├── TypeCase3.ql
│ │ │ ├── UnboundLocalFunctions.expected
│ │ │ └── UnboundLocalFunctions.ql
│ │ ├── csharp8
│ │ │ ├── AlternateInterpolatedStrings.cs
│ │ │ ├── AlternateInterpolatedStrings.expected
│ │ │ ├── AlternateInterpolatedStrings.ql
│ │ │ ├── AsyncStreams.cs
│ │ │ ├── DefaultInterfaceMethods.cs
│ │ │ ├── DefaultInterfaceMethods.expected
│ │ │ ├── DefaultInterfaceMethods.ql
│ │ │ ├── NameResolutionSuppressNullable.cs
│ │ │ ├── NullCoalescingAssignment.cs
│ │ │ ├── NullCoalescingAssignment.expected
│ │ │ ├── NullCoalescingAssignment.ql
│ │ │ ├── NullCoalescingControlFlow.expected
│ │ │ ├── NullCoalescingControlFlow.ql
│ │ │ ├── NullableRefTypes.cs
│ │ │ ├── NullableRefTypes.expected
│ │ │ ├── NullableRefTypes.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── StaticLocalFunctions.cs
│ │ │ ├── StaticLocalFunctions.expected
│ │ │ ├── StaticLocalFunctions.ql
│ │ │ ├── UnmanagedGenericStructs.cs
│ │ │ ├── UnmanagedGenericStructs.expected
│ │ │ ├── UnmanagedGenericStructs.ql
│ │ │ ├── UsingControlFlow.expected
│ │ │ ├── UsingControlFlow.ql
│ │ │ ├── UsingDeclarations.cs
│ │ │ ├── UsingDeclarations.expected
│ │ │ ├── UsingDeclarations.ql
│ │ │ ├── ispatternflow.expected
│ │ │ ├── ispatternflow.ql
│ │ │ ├── patterns.cs
│ │ │ ├── patterns.expected
│ │ │ ├── patterns.ql
│ │ │ ├── ranges.cs
│ │ │ ├── ranges.expected
│ │ │ ├── ranges.ql
│ │ │ ├── switchCaseExprTypes.expected
│ │ │ ├── switchCaseExprTypes.ql
│ │ │ ├── switchexprcontrolflow.expected
│ │ │ ├── switchexprcontrolflow.ql
│ │ │ ├── switchstmtctrlflow.expected
│ │ │ └── switchstmtctrlflow.ql
│ │ ├── csharp9
│ │ │ ├── AnonymousObjectCreation.cs
│ │ │ ├── AnonymousObjectCreation.expected
│ │ │ ├── AnonymousObjectCreation.ql
│ │ │ ├── BinaryPattern.cs
│ │ │ ├── CovariantReturn.cs
│ │ │ ├── Discard.cs
│ │ │ ├── Discard.expected
│ │ │ ├── Discard.ql
│ │ │ ├── ForeachExtension.cs
│ │ │ ├── FunctionPointer.cs
│ │ │ ├── FunctionPointer.expected
│ │ │ ├── FunctionPointer.ql
│ │ │ ├── GlobalStmt.cs
│ │ │ ├── InitOnlyProperty.cs
│ │ │ ├── IsExternalInit.cs
│ │ │ ├── LambdaModifier.cs
│ │ │ ├── LambdaModifier.expected
│ │ │ ├── LambdaModifier.ql
│ │ │ ├── LocalFunction.cs
│ │ │ ├── LocalFunctionWithoutBody.expected
│ │ │ ├── LocalFunctions.expected
│ │ │ ├── LocalFunctions.ql
│ │ │ ├── NativeInt.cs
│ │ │ ├── ParenthesizedPattern.cs
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── Record.cs
│ │ │ ├── RelationalPattern.cs
│ │ │ ├── TargetType.cs
│ │ │ ├── TargetType.expected
│ │ │ ├── TargetType.ql
│ │ │ ├── TypeParameterNullability.cs
│ │ │ ├── TypePattern.cs
│ │ │ ├── UnaryPattern.cs
│ │ │ ├── binaryPattern.expected
│ │ │ ├── binaryPattern.ql
│ │ │ ├── covariantReturn.expected
│ │ │ ├── covariantReturn.ql
│ │ │ ├── foreach.expected
│ │ │ ├── foreach.ql
│ │ │ ├── globalStmt.expected
│ │ │ ├── globalStmt.ql
│ │ │ ├── initOnlyProperty.expected
│ │ │ ├── initOnlyProperty.ql
│ │ │ ├── nativeInt.expected
│ │ │ ├── nativeInt.ql
│ │ │ ├── record.expected
│ │ │ ├── record.ql
│ │ │ ├── relationalPattern.expected
│ │ │ ├── relationalPattern.ql
│ │ │ ├── typeParameterNullability.expected
│ │ │ ├── typeParameterNullability.ql
│ │ │ ├── typePattern.expected
│ │ │ ├── typePattern.ql
│ │ │ ├── unaryPattern.expected
│ │ │ ├── unaryPattern.ql
│ │ │ ├── withExpr.expected
│ │ │ └── withExpr.ql
│ │ ├── dataflow
│ │ │ ├── async
│ │ │ │ ├── Async.cs
│ │ │ │ ├── Async.expected
│ │ │ │ └── Async.ql
│ │ │ ├── call-sensitivity
│ │ │ │ ├── CallSensitivityFlow.cs
│ │ │ │ ├── CallSensitivityFlow.expected
│ │ │ │ └── CallSensitivityFlow.ql
│ │ │ ├── callablereturnsarg
│ │ │ │ ├── CallableReturnsArg.cs
│ │ │ │ ├── Common.qll
│ │ │ │ ├── DataFlow.expected
│ │ │ │ ├── DataFlow.ql
│ │ │ │ ├── TaintTracking.expected
│ │ │ │ └── TaintTracking.ql
│ │ │ ├── collections
│ │ │ │ ├── CollectionFlow.cs
│ │ │ │ ├── CollectionFlow.expected
│ │ │ │ └── CollectionFlow.ql
│ │ │ ├── defuse
│ │ │ │ ├── Test.cs
│ │ │ │ ├── defUseEquivalence.expected
│ │ │ │ ├── defUseEquivalence.ql
│ │ │ │ ├── parameterUseEquivalence.expected
│ │ │ │ ├── parameterUseEquivalence.ql
│ │ │ │ ├── useUseEquivalence.expected
│ │ │ │ └── useUseEquivalence.ql
│ │ │ ├── delegates
│ │ │ │ ├── DelegateFlow.cs
│ │ │ │ ├── DelegateFlow.expected
│ │ │ │ └── DelegateFlow.ql
│ │ │ ├── fields
│ │ │ │ ├── A.cs
│ │ │ │ ├── B.cs
│ │ │ │ ├── C.cs
│ │ │ │ ├── D.cs
│ │ │ │ ├── E.cs
│ │ │ │ ├── F.cs
│ │ │ │ ├── FieldFlow.expected
│ │ │ │ ├── FieldFlow.ql
│ │ │ │ ├── G.cs
│ │ │ │ ├── H.cs
│ │ │ │ ├── I.cs
│ │ │ │ └── J.cs
│ │ │ ├── flowsources
│ │ │ │ ├── publicparameter
│ │ │ │ │ ├── PublicCallableParameterFlowSource.cs
│ │ │ │ │ ├── publicCallableParameterFlowSource.expected
│ │ │ │ │ └── publicCallableParameterFlowSource.ql
│ │ │ │ └── remote
│ │ │ │ │ ├── Controller.cs
│ │ │ │ │ ├── RemoteFlowSource.cs
│ │ │ │ │ ├── remoteFlowSource.expected
│ │ │ │ │ └── remoteFlowSource.ql
│ │ │ ├── functionpointers
│ │ │ │ ├── FunctionPointerFlow.cs
│ │ │ │ ├── FunctionPointerFlow.expected
│ │ │ │ └── FunctionPointerFlow.ql
│ │ │ ├── global
│ │ │ │ ├── Capture.cs
│ │ │ │ ├── Common.qll
│ │ │ │ ├── DataFlow.expected
│ │ │ │ ├── DataFlow.ql
│ │ │ │ ├── DataFlowPath.expected
│ │ │ │ ├── DataFlowPath.ql
│ │ │ │ ├── GetAnOutNode.expected
│ │ │ │ ├── GetAnOutNode.ql
│ │ │ │ ├── GlobalDataFlow.cs
│ │ │ │ ├── Splitting.cs
│ │ │ │ ├── TaintTracking.expected
│ │ │ │ ├── TaintTracking.ql
│ │ │ │ ├── TaintTrackingPath.expected
│ │ │ │ ├── TaintTrackingPath.ql
│ │ │ │ └── This.cs
│ │ │ ├── library
│ │ │ │ ├── FlowSummaries.expected
│ │ │ │ ├── FlowSummaries.ql
│ │ │ │ ├── LibraryTypeDataFlow.cs
│ │ │ │ ├── TaintedMember.expected
│ │ │ │ └── TaintedMember.ql
│ │ │ ├── local
│ │ │ │ ├── Capture.cs
│ │ │ │ ├── Common.qll
│ │ │ │ ├── DataFlow.expected
│ │ │ │ ├── DataFlow.ql
│ │ │ │ ├── DataFlowStep.expected
│ │ │ │ ├── DataFlowStep.ql
│ │ │ │ ├── LocalDataFlow.cs
│ │ │ │ ├── SSA.cs
│ │ │ │ ├── Splitting.cs
│ │ │ │ ├── TaintTracking.expected
│ │ │ │ ├── TaintTracking.ql
│ │ │ │ ├── TaintTrackingStep.expected
│ │ │ │ └── TaintTrackingStep.ql
│ │ │ ├── modulusanalysis
│ │ │ │ ├── ModulusAnalysis.cs
│ │ │ │ ├── ModulusAnalysis.expected
│ │ │ │ └── ModulusAnalysis.ql
│ │ │ ├── signanalysis
│ │ │ │ ├── MissingSign.expected
│ │ │ │ ├── MissingSign.ql
│ │ │ │ ├── SignAnalysis.cs
│ │ │ │ ├── SignAnalysis.expected
│ │ │ │ └── SignAnalysis.ql
│ │ │ ├── ssa-large
│ │ │ │ ├── Large.cs
│ │ │ │ ├── countssa.expected
│ │ │ │ └── countssa.ql
│ │ │ ├── ssa
│ │ │ │ ├── BaseSsaConsistency.expected
│ │ │ │ ├── BaseSsaConsistency.ql
│ │ │ │ ├── Capture.cs
│ │ │ │ ├── Consistency.cs
│ │ │ │ ├── DefAdjacentRead.expected
│ │ │ │ ├── DefAdjacentRead.ql
│ │ │ │ ├── DefUse.cs
│ │ │ │ ├── Example.cs
│ │ │ │ ├── Fields.cs
│ │ │ │ ├── IsLiveOutRefParameterDefinition.expected
│ │ │ │ ├── IsLiveOutRefParameterDefinition.ql
│ │ │ │ ├── OutRef.cs
│ │ │ │ ├── Patterns.cs
│ │ │ │ ├── PreSsaConsistency.expected
│ │ │ │ ├── PreSsaConsistency.ql
│ │ │ │ ├── Properties.cs
│ │ │ │ ├── ReadAdjacentRead.expected
│ │ │ │ ├── ReadAdjacentRead.ql
│ │ │ │ ├── SSAPhi.expected
│ │ │ │ ├── SSAPhi.ql
│ │ │ │ ├── Splitting.cs
│ │ │ │ ├── SsaCapturedVariableDef.expected
│ │ │ │ ├── SsaCapturedVariableDef.ql
│ │ │ │ ├── SsaConsistency.expected
│ │ │ │ ├── SsaConsistency.ql
│ │ │ │ ├── SsaDef.expected
│ │ │ │ ├── SsaDef.ql
│ │ │ │ ├── SsaDefElement.expected
│ │ │ │ ├── SsaDefElement.ql
│ │ │ │ ├── SsaDefLastRead.expected
│ │ │ │ ├── SsaDefLastRead.ql
│ │ │ │ ├── SsaExplicitDef.expected
│ │ │ │ ├── SsaExplicitDef.ql
│ │ │ │ ├── SsaImplicitCall.expected
│ │ │ │ ├── SsaImplicitCall.ql
│ │ │ │ ├── SsaImplicitQualifier.expected
│ │ │ │ ├── SsaImplicitQualifier.ql
│ │ │ │ ├── SsaRead.expected
│ │ │ │ ├── SsaRead.ql
│ │ │ │ ├── SsaUltimateDef.expected
│ │ │ │ ├── SsaUltimateDef.ql
│ │ │ │ ├── Test.cs
│ │ │ │ └── Tuples.cs
│ │ │ ├── tuples
│ │ │ │ ├── DataFlowStep.expected
│ │ │ │ ├── DataFlowStep.ql
│ │ │ │ ├── PrintAst.expected
│ │ │ │ ├── PrintAst.qlref
│ │ │ │ ├── Tuples.cs
│ │ │ │ ├── Tuples.expected
│ │ │ │ └── Tuples.ql
│ │ │ └── types
│ │ │ │ ├── Types.cs
│ │ │ │ ├── Types.expected
│ │ │ │ └── Types.ql
│ │ ├── definitions
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── definitions.cs
│ │ │ ├── definitions.expected
│ │ │ └── definitions.qlref
│ │ ├── delegates
│ │ │ ├── Delegates1.expected
│ │ │ ├── Delegates1.ql
│ │ │ ├── Delegates2.expected
│ │ │ ├── Delegates2.ql
│ │ │ ├── Delegates3.expected
│ │ │ ├── Delegates3.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── delegates.cs
│ │ ├── dispatch
│ │ │ ├── CallContext.expected
│ │ │ ├── CallContext.ql
│ │ │ ├── CallGraph.expected
│ │ │ ├── CallGraph.ql
│ │ │ ├── Dynamic.cs
│ │ │ ├── ExactCallable.cs
│ │ │ ├── GetADynamicTarget.expected
│ │ │ ├── GetADynamicTarget.ql
│ │ │ ├── TypeFlow.cs
│ │ │ ├── ViableCallable.cs
│ │ │ ├── exactCallable.expected
│ │ │ ├── exactCallable.ql
│ │ │ ├── viableCallable.expected
│ │ │ └── viableCallable.ql
│ │ ├── dynamic
│ │ │ ├── DynamicElementAccess.expected
│ │ │ ├── DynamicElementAccess.ql
│ │ │ ├── DynamicMemberAccess.expected
│ │ │ ├── DynamicMemberAccess.ql
│ │ │ ├── DynamicMethodCall.expected
│ │ │ ├── DynamicMethodCall.ql
│ │ │ ├── DynamicMutatorOperatorCall.expected
│ │ │ ├── DynamicMutatorOperatorCall.ql
│ │ │ ├── DynamicObjectCreation.expected
│ │ │ ├── DynamicObjectCreation.ql
│ │ │ ├── DynamicOperatorCall.expected
│ │ │ ├── DynamicOperatorCall.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── dynamic.cs
│ │ ├── encoding
│ │ │ ├── SBCS.cs
│ │ │ ├── sbcs.expected
│ │ │ └── sbcs.ql
│ │ ├── enums
│ │ │ ├── Enums1.expected
│ │ │ ├── Enums1.ql
│ │ │ ├── Enums10.expected
│ │ │ ├── Enums10.ql
│ │ │ ├── Enums11.expected
│ │ │ ├── Enums11.ql
│ │ │ ├── Enums2.expected
│ │ │ ├── Enums2.ql
│ │ │ ├── Enums3.expected
│ │ │ ├── Enums3.ql
│ │ │ ├── Enums4.expected
│ │ │ ├── Enums4.ql
│ │ │ ├── Enums5.expected
│ │ │ ├── Enums5.ql
│ │ │ ├── Enums6.expected
│ │ │ ├── Enums6.ql
│ │ │ ├── Enums7.expected
│ │ │ ├── Enums7.ql
│ │ │ ├── Enums8.expected
│ │ │ ├── Enums8.ql
│ │ │ ├── Enums9.expected
│ │ │ ├── Enums9.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── enums.cs
│ │ ├── events
│ │ │ ├── Events1.expected
│ │ │ ├── Events1.ql
│ │ │ ├── Events10.expected
│ │ │ ├── Events10.ql
│ │ │ ├── Events11.expected
│ │ │ ├── Events11.ql
│ │ │ ├── Events12.expected
│ │ │ ├── Events12.ql
│ │ │ ├── Events2.expected
│ │ │ ├── Events2.ql
│ │ │ ├── Events3.expected
│ │ │ ├── Events3.ql
│ │ │ ├── Events4.expected
│ │ │ ├── Events4.ql
│ │ │ ├── Events5.expected
│ │ │ ├── Events5.ql
│ │ │ ├── Events6.expected
│ │ │ ├── Events6.ql
│ │ │ ├── Events7.expected
│ │ │ ├── Events7.ql
│ │ │ ├── Events8.expected
│ │ │ ├── Events8.ql
│ │ │ ├── Events9.expected
│ │ │ ├── Events9.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── events.cs
│ │ ├── exceptions
│ │ │ ├── Exceptions1.expected
│ │ │ ├── Exceptions1.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── exceptions.cs
│ │ ├── expressions
│ │ │ ├── AddEventExpr1.expected
│ │ │ ├── AddEventExpr1.ql
│ │ │ ├── AnonymousMethod1.expected
│ │ │ ├── AnonymousMethod1.ql
│ │ │ ├── AnonymousMethod2.expected
│ │ │ ├── AnonymousMethod2.ql
│ │ │ ├── AnonymousMethod3.expected
│ │ │ ├── AnonymousMethod3.ql
│ │ │ ├── AnonymousMethod4.expected
│ │ │ ├── AnonymousMethod4.ql
│ │ │ ├── AnonymousMethod5.expected
│ │ │ ├── AnonymousMethod5.ql
│ │ │ ├── AnonymousObjectCreation1.expected
│ │ │ ├── AnonymousObjectCreation1.ql
│ │ │ ├── AnonymousObjectCreation2.expected
│ │ │ ├── AnonymousObjectCreation2.ql
│ │ │ ├── AnonymousObjectCreation3.expected
│ │ │ ├── AnonymousObjectCreation3.ql
│ │ │ ├── AnonymousObjectCreation4.expected
│ │ │ ├── AnonymousObjectCreation4.ql
│ │ │ ├── ArrayAccess1.expected
│ │ │ ├── ArrayAccess1.ql
│ │ │ ├── ArrayCreation1.expected
│ │ │ ├── ArrayCreation1.ql
│ │ │ ├── ArrayCreation10.expected
│ │ │ ├── ArrayCreation10.ql
│ │ │ ├── ArrayCreation11.expected
│ │ │ ├── ArrayCreation11.ql
│ │ │ ├── ArrayCreation2.expected
│ │ │ ├── ArrayCreation2.ql
│ │ │ ├── ArrayCreation3.expected
│ │ │ ├── ArrayCreation3.ql
│ │ │ ├── ArrayCreation4.expected
│ │ │ ├── ArrayCreation4.ql
│ │ │ ├── ArrayCreation5.expected
│ │ │ ├── ArrayCreation5.ql
│ │ │ ├── ArrayCreation6.expected
│ │ │ ├── ArrayCreation6.ql
│ │ │ ├── ArrayCreation7.expected
│ │ │ ├── ArrayCreation7.ql
│ │ │ ├── ArrayCreation8.expected
│ │ │ ├── ArrayCreation8.ql
│ │ │ ├── ArrayCreation9.expected
│ │ │ ├── ArrayCreation9.ql
│ │ │ ├── As1.expected
│ │ │ ├── As1.ql
│ │ │ ├── BaseAccess1.expected
│ │ │ ├── BaseAccess1.ql
│ │ │ ├── Call1.expected
│ │ │ ├── Call1.ql
│ │ │ ├── Call2.expected
│ │ │ ├── Call2.ql
│ │ │ ├── Call3.expected
│ │ │ ├── Call3.ql
│ │ │ ├── Call4.expected
│ │ │ ├── Call4.ql
│ │ │ ├── Call5.expected
│ │ │ ├── Call5.ql
│ │ │ ├── Call6.expected
│ │ │ ├── Call6.ql
│ │ │ ├── Call7.expected
│ │ │ ├── Call7.ql
│ │ │ ├── Cast1.expected
│ │ │ ├── Cast1.ql
│ │ │ ├── Cast2.expected
│ │ │ ├── Cast2.ql
│ │ │ ├── Cast3.expected
│ │ │ ├── Cast3.ql
│ │ │ ├── ConstructorInitializer1.expected
│ │ │ ├── ConstructorInitializer1.ql
│ │ │ ├── ConstructorInitializer2.expected
│ │ │ ├── ConstructorInitializer2.ql
│ │ │ ├── Default1.expected
│ │ │ ├── Default1.ql
│ │ │ ├── Default2.expected
│ │ │ ├── Default2.ql
│ │ │ ├── DelegateCall1.expected
│ │ │ ├── DelegateCall1.ql
│ │ │ ├── DelegateCall2.expected
│ │ │ ├── DelegateCall2.ql
│ │ │ ├── DelegateCall3.expected
│ │ │ ├── DelegateCall3.ql
│ │ │ ├── DelegateCreation1.expected
│ │ │ ├── DelegateCreation1.ql
│ │ │ ├── DelegateCreation2.expected
│ │ │ ├── DelegateCreation2.ql
│ │ │ ├── DelegateCreation3.expected
│ │ │ ├── DelegateCreation3.ql
│ │ │ ├── DelegateCreation4.expected
│ │ │ ├── DelegateCreation4.ql
│ │ │ ├── DelegateCreation5.expected
│ │ │ ├── DelegateCreation5.ql
│ │ │ ├── DelegateCreation6.expected
│ │ │ ├── DelegateCreation6.ql
│ │ │ ├── EventAccess1.expected
│ │ │ ├── EventAccess1.ql
│ │ │ ├── EventAccess2.expected
│ │ │ ├── EventAccess2.ql
│ │ │ ├── EventAccess3.expected
│ │ │ ├── EventAccess3.ql
│ │ │ ├── ExpressionDepth.expected
│ │ │ ├── ExpressionDepth.ql
│ │ │ ├── ExprsChecked1.expected
│ │ │ ├── ExprsChecked1.ql
│ │ │ ├── ExprsUnchecked1.expected
│ │ │ ├── ExprsUnchecked1.ql
│ │ │ ├── FieldAccess1.expected
│ │ │ ├── FieldAccess1.ql
│ │ │ ├── FieldAccess2.ql.disabled
│ │ │ ├── FoldedLiterals.cs
│ │ │ ├── IndexerAccess1.expected
│ │ │ ├── IndexerAccess1.ql
│ │ │ ├── IndexerAccess2.expected
│ │ │ ├── IndexerAccess2.ql
│ │ │ ├── Is1.expected
│ │ │ ├── Is1.ql
│ │ │ ├── Lambda1.expected
│ │ │ ├── Lambda1.ql
│ │ │ ├── Lambda2.expected
│ │ │ ├── Lambda2.ql
│ │ │ ├── Lambda3.expected
│ │ │ ├── Lambda3.ql
│ │ │ ├── Lambda4.expected
│ │ │ ├── Lambda4.ql
│ │ │ ├── Lambda5.expected
│ │ │ ├── Lambda5.ql
│ │ │ ├── Lambda6.expected
│ │ │ ├── Lambda6.ql
│ │ │ ├── Literals1.expected
│ │ │ ├── Literals1.ql
│ │ │ ├── Literals10.expected
│ │ │ ├── Literals10.ql
│ │ │ ├── Literals11.expected
│ │ │ ├── Literals11.ql
│ │ │ ├── Literals12.expected
│ │ │ ├── Literals12.ql
│ │ │ ├── Literals13.expected
│ │ │ ├── Literals13.ql
│ │ │ ├── Literals2.expected
│ │ │ ├── Literals2.ql
│ │ │ ├── Literals3.expected
│ │ │ ├── Literals3.ql
│ │ │ ├── Literals4.expected
│ │ │ ├── Literals4.ql
│ │ │ ├── Literals5.expected
│ │ │ ├── Literals5.ql
│ │ │ ├── Literals6.expected
│ │ │ ├── Literals6.ql
│ │ │ ├── Literals7.expected
│ │ │ ├── Literals7.ql
│ │ │ ├── Literals8.expected
│ │ │ ├── Literals8.ql
│ │ │ ├── Literals9.expected
│ │ │ ├── Literals9.ql
│ │ │ ├── LocalConstAccess1.expected
│ │ │ ├── LocalConstAccess1.ql
│ │ │ ├── LocalFunctionAccess.expected
│ │ │ ├── LocalFunctionAccess.ql
│ │ │ ├── LocalVarAccess1.expected
│ │ │ ├── LocalVarAccess1.ql
│ │ │ ├── LocalVarAccess2.expected
│ │ │ ├── LocalVarAccess2.ql
│ │ │ ├── LogicalOperators1.expected
│ │ │ ├── LogicalOperators1.ql
│ │ │ ├── MethodAccess.cs
│ │ │ ├── MethodAccess.expected
│ │ │ ├── MethodAccess.ql
│ │ │ ├── ObjectCreation1.expected
│ │ │ ├── ObjectCreation1.ql
│ │ │ ├── ObjectCreation10.expected
│ │ │ ├── ObjectCreation10.ql
│ │ │ ├── ObjectCreation11.expected
│ │ │ ├── ObjectCreation11.ql
│ │ │ ├── ObjectCreation2.expected
│ │ │ ├── ObjectCreation2.ql
│ │ │ ├── ObjectCreation3.expected
│ │ │ ├── ObjectCreation3.ql
│ │ │ ├── ObjectCreation4.expected
│ │ │ ├── ObjectCreation4.ql
│ │ │ ├── ObjectCreation5.expected
│ │ │ ├── ObjectCreation5.ql
│ │ │ ├── ObjectCreation6.expected
│ │ │ ├── ObjectCreation6.ql
│ │ │ ├── ObjectCreation7.expected
│ │ │ ├── ObjectCreation7.ql
│ │ │ ├── ObjectCreation8.expected
│ │ │ ├── ObjectCreation8.ql
│ │ │ ├── ObjectCreation9.expected
│ │ │ ├── ObjectCreation9.ql
│ │ │ ├── OperatorCall1.expected
│ │ │ ├── OperatorCall1.ql
│ │ │ ├── OperatorCall2.expected
│ │ │ ├── OperatorCall2.ql
│ │ │ ├── OperatorCall3.expected
│ │ │ ├── OperatorCall3.ql
│ │ │ ├── OperatorCall4.expected
│ │ │ ├── OperatorCall4.ql
│ │ │ ├── OperatorCall5.expected
│ │ │ ├── OperatorCall5.ql
│ │ │ ├── OperatorCall6.expected
│ │ │ ├── OperatorCall6.ql
│ │ │ ├── OperatorCall7.expected
│ │ │ ├── OperatorCall7.ql
│ │ │ ├── ParameterAccess1.expected
│ │ │ ├── ParameterAccess1.ql
│ │ │ ├── ParameterAccess2.expected
│ │ │ ├── ParameterAccess2.ql
│ │ │ ├── ParameterAccess3.expected
│ │ │ ├── ParameterAccess3.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── PropertyAccess1.expected
│ │ │ ├── PropertyAccess1.ql
│ │ │ ├── PropertyAccess2.expected
│ │ │ ├── PropertyAccess2.ql
│ │ │ ├── PropertyAccess3.expected
│ │ │ ├── PropertyAccess3.ql
│ │ │ ├── PropertyAccess4.expected
│ │ │ ├── PropertyAccess4.ql
│ │ │ ├── QualifiableExpr.expected
│ │ │ ├── QualifiableExpr.ql
│ │ │ ├── Qualifiers.cs
│ │ │ ├── Reduced1.expected
│ │ │ ├── Reduced1.ql
│ │ │ ├── ReducedExpression.cs
│ │ │ ├── RemoveEventExpr1.expected
│ │ │ ├── RemoveEventExpr1.ql
│ │ │ ├── StripCasts.expected
│ │ │ ├── StripCasts.ql
│ │ │ ├── ThisAccess1.expected
│ │ │ ├── ThisAccess1.ql
│ │ │ ├── Tuples1.expected
│ │ │ ├── Tuples1.ql
│ │ │ ├── Typeof1.expected
│ │ │ ├── Typeof1.ql
│ │ │ ├── Typeof2.expected
│ │ │ ├── Typeof2.ql
│ │ │ ├── Typeof3.expected
│ │ │ ├── Typeof3.ql
│ │ │ ├── Typeof4.expected
│ │ │ ├── Typeof4.ql
│ │ │ ├── Typeof5.expected
│ │ │ ├── Typeof5.ql
│ │ │ └── expressions.cs
│ │ ├── exprorstmtparent
│ │ │ ├── A.cs
│ │ │ ├── B.cs
│ │ │ ├── C.cs
│ │ │ ├── Callable.expected
│ │ │ ├── Callable.ql
│ │ │ ├── Declaration.expected
│ │ │ ├── Declaration.ql
│ │ │ ├── Indexer.expected
│ │ │ ├── Indexer.ql
│ │ │ ├── Parameter.expected
│ │ │ ├── Parameter.ql
│ │ │ ├── Property.expected
│ │ │ └── Property.ql
│ │ ├── extractor
│ │ │ ├── longstrings
│ │ │ │ ├── LongStrings.cs
│ │ │ │ ├── LongStrings.expected
│ │ │ │ └── LongStrings.ql
│ │ │ └── tagstack
│ │ │ │ ├── A.cs
│ │ │ │ ├── B.cs
│ │ │ │ ├── Bodies.expected
│ │ │ │ ├── Bodies.ql
│ │ │ │ ├── Classes.expected
│ │ │ │ ├── Classes.ql
│ │ │ │ ├── Methods.expected
│ │ │ │ └── Methods.ql
│ │ ├── fields
│ │ │ ├── Constants1.expected
│ │ │ ├── Constants1.ql
│ │ │ ├── Constants2.expected
│ │ │ ├── Constants2.ql
│ │ │ ├── Constants3.expected
│ │ │ ├── Constants3.ql
│ │ │ ├── Constants4.expected
│ │ │ ├── Constants4.ql
│ │ │ ├── Constants5.expected
│ │ │ ├── Constants5.ql
│ │ │ ├── Fields1.expected
│ │ │ ├── Fields1.ql
│ │ │ ├── Fields10.expected
│ │ │ ├── Fields10.ql
│ │ │ ├── Fields11.expected
│ │ │ ├── Fields11.ql
│ │ │ ├── Fields2.expected
│ │ │ ├── Fields2.ql
│ │ │ ├── Fields3.expected
│ │ │ ├── Fields3.ql
│ │ │ ├── Fields4.expected
│ │ │ ├── Fields4.ql
│ │ │ ├── Fields5.expected
│ │ │ ├── Fields5.ql
│ │ │ ├── Fields6.expected
│ │ │ ├── Fields6.ql
│ │ │ ├── Fields7.expected
│ │ │ ├── Fields7.ql
│ │ │ ├── Fields8.expected
│ │ │ ├── Fields8.ql
│ │ │ ├── Fields9.expected
│ │ │ ├── Fields9.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── fields.cs
│ │ ├── filters
│ │ │ └── ClassifyFiles
│ │ │ │ ├── ClassifyFiles.expected
│ │ │ │ ├── ClassifyFiles.qlref
│ │ │ │ ├── DontModify.cs
│ │ │ │ ├── File.autogen.cs
│ │ │ │ ├── File.designer.cs
│ │ │ │ ├── File.feature.cs
│ │ │ │ ├── File.g.cs
│ │ │ │ ├── GeneratedAssembly.cs
│ │ │ │ ├── GeneratedAttribute.cs
│ │ │ │ ├── GeneratedBy.cs
│ │ │ │ ├── NUnitTest.cs
│ │ │ │ ├── NormalFile.cs
│ │ │ │ ├── VisualStudioTest.cs
│ │ │ │ └── XUnitTest.cs
│ │ ├── folding
│ │ │ ├── Folding1.expected
│ │ │ ├── Folding1.ql
│ │ │ ├── UnaryFolding.cs
│ │ │ └── folding.cs
│ │ ├── frameworks
│ │ │ ├── EntityFramework
│ │ │ │ ├── Dataflow.expected
│ │ │ │ ├── Dataflow.ql
│ │ │ │ ├── EntityFramework.cs
│ │ │ │ ├── EntityFrameworkCore.cs
│ │ │ │ ├── FlowSummaries.expected
│ │ │ │ ├── FlowSummaries.ql
│ │ │ │ ├── MappedProperties.expected
│ │ │ │ ├── MappedProperties.ql
│ │ │ │ ├── SqlExprs.expected
│ │ │ │ ├── SqlExprs.ql
│ │ │ │ ├── StoredFlowSources.expected
│ │ │ │ └── StoredFlowSources.ql
│ │ │ ├── JsonNET
│ │ │ │ ├── Json.cs
│ │ │ │ ├── Json.expected
│ │ │ │ └── Json.ql
│ │ │ ├── NHibernate
│ │ │ │ ├── DataFlow.expected
│ │ │ │ ├── DataFlow.ql
│ │ │ │ ├── SqlExprs.expected
│ │ │ │ ├── SqlExprs.ql
│ │ │ │ ├── StoredFlowSources.expected
│ │ │ │ ├── StoredFlowSources.ql
│ │ │ │ └── nhibernate.cs
│ │ │ ├── format
│ │ │ │ ├── StringFormatItemParameter.expected
│ │ │ │ ├── StringFormatItemParameter.ql
│ │ │ │ └── Strings.cs
│ │ │ ├── sql
│ │ │ │ ├── Sql1.expected
│ │ │ │ ├── Sql1.ql
│ │ │ │ └── sql.cs
│ │ │ ├── system
│ │ │ │ ├── Dispose
│ │ │ │ │ ├── Dispose.cs
│ │ │ │ │ ├── Dispose.expected
│ │ │ │ │ └── Dispose.ql
│ │ │ │ ├── Equals
│ │ │ │ │ ├── Equals.cs
│ │ │ │ │ ├── Equals.expected
│ │ │ │ │ └── Equals.ql
│ │ │ │ ├── System
│ │ │ │ │ ├── System.cs
│ │ │ │ │ ├── System.expected
│ │ │ │ │ └── System.ql
│ │ │ │ └── data
│ │ │ │ │ └── entity
│ │ │ │ │ ├── entity.cs
│ │ │ │ │ ├── entity.expected
│ │ │ │ │ └── entity.ql
│ │ │ ├── test
│ │ │ │ ├── Assertions.expected
│ │ │ │ ├── Assertions.ql
│ │ │ │ ├── DoesNotReturnIf.cs
│ │ │ │ ├── NUnit1.expected
│ │ │ │ ├── NUnit1.ql
│ │ │ │ ├── NUnit2.expected
│ │ │ │ ├── NUnit2.ql
│ │ │ │ ├── Test.expected
│ │ │ │ ├── Test.ql
│ │ │ │ ├── VisualStudio.cs
│ │ │ │ ├── XUnit.cs
│ │ │ │ └── nunit.cs
│ │ │ └── wcf
│ │ │ │ ├── WCF.cs
│ │ │ │ ├── wcf.expected
│ │ │ │ └── wcf.ql
│ │ ├── generatedcode
│ │ │ ├── dontmodify.cs
│ │ │ ├── file.cs
│ │ │ ├── file.designer.cs
│ │ │ ├── file.feature.cs
│ │ │ ├── file.g.cs
│ │ │ ├── generatedassembly.cs
│ │ │ ├── generatedattribute.cs
│ │ │ ├── generatedby.cs
│ │ │ ├── generatedcode.expected
│ │ │ └── generatedcode.ql
│ │ ├── generics
│ │ │ ├── ConsistencyChecks.expected
│ │ │ ├── ConsistencyChecks.ql
│ │ │ ├── Generics.expected
│ │ │ ├── Generics.ql
│ │ │ ├── Nesting.cs
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── generics.cs
│ │ ├── goto
│ │ │ ├── Goto1.expected
│ │ │ ├── Goto1.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── goto.cs
│ │ ├── indexers
│ │ │ ├── Indexers1.expected
│ │ │ ├── Indexers1.ql
│ │ │ ├── Indexers10.expected
│ │ │ ├── Indexers10.ql
│ │ │ ├── Indexers11.expected
│ │ │ ├── Indexers11.ql
│ │ │ ├── Indexers12.expected
│ │ │ ├── Indexers12.ql
│ │ │ ├── Indexers2.expected
│ │ │ ├── Indexers2.ql
│ │ │ ├── Indexers3.expected
│ │ │ ├── Indexers3.ql
│ │ │ ├── Indexers4.expected
│ │ │ ├── Indexers4.ql
│ │ │ ├── Indexers5.expected
│ │ │ ├── Indexers5.ql
│ │ │ ├── Indexers6.expected
│ │ │ ├── Indexers6.ql
│ │ │ ├── Indexers7.expected
│ │ │ ├── Indexers7.ql
│ │ │ ├── Indexers8.expected
│ │ │ ├── Indexers8.ql
│ │ │ ├── Indexers9.expected
│ │ │ ├── Indexers9.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── indexers.cs
│ │ ├── initializers
│ │ │ ├── CollectionInitializer.expected
│ │ │ ├── CollectionInitializer.ql
│ │ │ ├── MemberInitializer.expected
│ │ │ ├── MemberInitializer.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── initializers.cs
│ │ ├── linq
│ │ │ ├── Linq1.expected
│ │ │ ├── Linq1.ql
│ │ │ ├── Linq2.expected
│ │ │ ├── Linq2.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── queries.cs
│ │ ├── members
│ │ │ ├── AccessModifiers.expected
│ │ │ ├── AccessModifiers.ql
│ │ │ ├── GetLabel.expected
│ │ │ ├── GetLabel.ql
│ │ │ ├── Members.cs
│ │ │ ├── PrintAst.expected
│ │ │ └── PrintAst.qlref
│ │ ├── methods
│ │ │ ├── ExtensionMethods.expected
│ │ │ ├── ExtensionMethods.ql
│ │ │ ├── Methods1.expected
│ │ │ ├── Methods1.ql
│ │ │ ├── Methods2.expected
│ │ │ ├── Methods2.ql
│ │ │ ├── Methods3.expected
│ │ │ ├── Methods3.ql
│ │ │ ├── Methods4.expected
│ │ │ ├── Methods4.ql
│ │ │ ├── Methods5.expected
│ │ │ ├── Methods5.ql
│ │ │ ├── Parameters1.expected
│ │ │ ├── Parameters1.ql
│ │ │ ├── Parameters2.expected
│ │ │ ├── Parameters2.ql
│ │ │ ├── Parameters3.expected
│ │ │ ├── Parameters3.ql
│ │ │ ├── Parameters4.expected
│ │ │ ├── Parameters4.ql
│ │ │ ├── Parameters5.expected
│ │ │ ├── Parameters5.ql
│ │ │ ├── Parameters6.expected
│ │ │ ├── Parameters6.ql
│ │ │ ├── Parameters7.expected
│ │ │ ├── Parameters7.ql
│ │ │ ├── Parameters8.expected
│ │ │ ├── Parameters8.ql
│ │ │ ├── Parameters9.expected
│ │ │ ├── Parameters9.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── methods.cs
│ │ ├── modifiers
│ │ │ ├── Effectively.expected
│ │ │ ├── Effectively.ql
│ │ │ ├── Modifiers.cs
│ │ │ ├── Modifiers.expected
│ │ │ └── Modifiers.ql
│ │ ├── namespaces
│ │ │ ├── Namespaces1.expected
│ │ │ ├── Namespaces1.ql
│ │ │ ├── Namespaces10.expected
│ │ │ ├── Namespaces10.ql
│ │ │ ├── Namespaces11.expected
│ │ │ ├── Namespaces11.ql
│ │ │ ├── Namespaces12.expected
│ │ │ ├── Namespaces12.ql
│ │ │ ├── Namespaces2.expected
│ │ │ ├── Namespaces2.ql
│ │ │ ├── Namespaces3.expected
│ │ │ ├── Namespaces3.ql
│ │ │ ├── Namespaces4.expected
│ │ │ ├── Namespaces4.ql
│ │ │ ├── Namespaces5.expected
│ │ │ ├── Namespaces5.ql
│ │ │ ├── Namespaces6.expected
│ │ │ ├── Namespaces6.ql
│ │ │ ├── Namespaces7.expected
│ │ │ ├── Namespaces7.ql
│ │ │ ├── Namespaces8.expected
│ │ │ ├── Namespaces8.ql
│ │ │ ├── Namespaces9.expected
│ │ │ ├── Namespaces9.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── namespaces.cs
│ │ ├── nestedtypes
│ │ │ ├── NestedTypes1.expected
│ │ │ ├── NestedTypes1.ql
│ │ │ ├── NestedTypes2.expected
│ │ │ ├── NestedTypes2.ql
│ │ │ ├── NestedTypes3.expected
│ │ │ ├── NestedTypes3.ql
│ │ │ ├── NestedTypes4.expected
│ │ │ ├── NestedTypes4.ql
│ │ │ ├── NestedTypes5.expected
│ │ │ ├── NestedTypes5.ql
│ │ │ ├── NestedTypes6.expected
│ │ │ ├── NestedTypes6.ql
│ │ │ ├── NestedTypes7.expected
│ │ │ ├── NestedTypes7.ql
│ │ │ ├── NestedTypes8.expected
│ │ │ ├── NestedTypes8.ql
│ │ │ ├── NestedTypes9.expected
│ │ │ ├── NestedTypes9.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── nestedtypes.cs
│ │ ├── nullable
│ │ │ ├── NullableExpressions.expected
│ │ │ ├── NullableExpressions.ql
│ │ │ └── nullable.cs
│ │ ├── operators
│ │ │ ├── Operators1.expected
│ │ │ ├── Operators1.ql
│ │ │ ├── Operators2.expected
│ │ │ ├── Operators2.ql
│ │ │ ├── Operators3.expected
│ │ │ ├── Operators3.ql
│ │ │ ├── Operators4.expected
│ │ │ ├── Operators4.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── operators.cs
│ │ ├── overrides
│ │ │ ├── Implements.expected
│ │ │ ├── Implements.ql
│ │ │ ├── Overrides1.expected
│ │ │ ├── Overrides1.ql
│ │ │ ├── Overrides10.expected
│ │ │ ├── Overrides10.ql
│ │ │ ├── Overrides11.expected
│ │ │ ├── Overrides11.ql
│ │ │ ├── Overrides12.expected
│ │ │ ├── Overrides12.ql
│ │ │ ├── Overrides13.expected
│ │ │ ├── Overrides13.ql
│ │ │ ├── Overrides14.expected
│ │ │ ├── Overrides14.ql
│ │ │ ├── Overrides15.expected
│ │ │ ├── Overrides15.ql
│ │ │ ├── Overrides16.expected
│ │ │ ├── Overrides16.ql
│ │ │ ├── Overrides17.expected
│ │ │ ├── Overrides17.ql
│ │ │ ├── Overrides18.expected
│ │ │ ├── Overrides18.ql
│ │ │ ├── Overrides19.expected
│ │ │ ├── Overrides19.ql
│ │ │ ├── Overrides2.expected
│ │ │ ├── Overrides2.ql
│ │ │ ├── Overrides20.expected
│ │ │ ├── Overrides20.ql
│ │ │ ├── Overrides21.expected
│ │ │ ├── Overrides21.ql
│ │ │ ├── Overrides22.expected
│ │ │ ├── Overrides22.ql
│ │ │ ├── Overrides3.expected
│ │ │ ├── Overrides3.ql
│ │ │ ├── Overrides4.expected
│ │ │ ├── Overrides4.ql
│ │ │ ├── Overrides5.expected
│ │ │ ├── Overrides5.ql
│ │ │ ├── Overrides6.expected
│ │ │ ├── Overrides6.ql
│ │ │ ├── Overrides7.expected
│ │ │ ├── Overrides7.ql
│ │ │ ├── Overrides8.expected
│ │ │ ├── Overrides8.ql
│ │ │ ├── Overrides9.expected
│ │ │ ├── Overrides9.ql
│ │ │ ├── overrides.cs
│ │ │ └── targets.cs
│ │ ├── partial
│ │ │ ├── MethodIsPartial.expected
│ │ │ ├── MethodIsPartial.ql
│ │ │ ├── Partial.cs
│ │ │ ├── Partial1.expected
│ │ │ ├── Partial1.ql
│ │ │ ├── Partial2.expected
│ │ │ ├── Partial2.ql
│ │ │ ├── PartialMethodBody.expected
│ │ │ ├── PartialMethodBody.ql
│ │ │ ├── PrintAst.expected
│ │ │ └── PrintAst.qlref
│ │ ├── properties
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── Properties1.expected
│ │ │ ├── Properties1.ql
│ │ │ ├── Properties10.expected
│ │ │ ├── Properties10.ql
│ │ │ ├── Properties11.expected
│ │ │ ├── Properties11.ql
│ │ │ ├── Properties12.expected
│ │ │ ├── Properties12.ql
│ │ │ ├── Properties13.expected
│ │ │ ├── Properties13.ql
│ │ │ ├── Properties14.expected
│ │ │ ├── Properties14.ql
│ │ │ ├── Properties15.expected
│ │ │ ├── Properties15.ql
│ │ │ ├── Properties16.expected
│ │ │ ├── Properties16.ql
│ │ │ ├── Properties17.expected
│ │ │ ├── Properties17.ql
│ │ │ ├── Properties18.expected
│ │ │ ├── Properties18.ql
│ │ │ ├── Properties2.expected
│ │ │ ├── Properties2.ql
│ │ │ ├── Properties3.expected
│ │ │ ├── Properties3.ql
│ │ │ ├── Properties4.expected
│ │ │ ├── Properties4.ql
│ │ │ ├── Properties5.expected
│ │ │ ├── Properties5.ql
│ │ │ ├── Properties6.expected
│ │ │ ├── Properties6.ql
│ │ │ ├── Properties7.expected
│ │ │ ├── Properties7.ql
│ │ │ ├── Properties8.expected
│ │ │ ├── Properties8.ql
│ │ │ ├── Properties9.expected
│ │ │ ├── Properties9.ql
│ │ │ └── properties.cs
│ │ ├── regressions
│ │ │ ├── CheckExtractionSucceeded.expected
│ │ │ ├── CheckExtractionSucceeded.ql
│ │ │ ├── DanglingFieldAccess.expected
│ │ │ ├── DanglingFieldAccess.ql
│ │ │ ├── NameOf.expected
│ │ │ ├── NameOf.ql
│ │ │ ├── Program.cs
│ │ │ ├── TypeMentions.expected
│ │ │ ├── TypeMentions.ql
│ │ │ ├── WhileIs.expected
│ │ │ └── WhileIs.ql
│ │ ├── security
│ │ │ └── dataflow
│ │ │ │ └── flowsources
│ │ │ │ ├── StoredFlowSources.expected
│ │ │ │ ├── StoredFlowSources.ql
│ │ │ │ ├── data.cs
│ │ │ │ └── entity.cs
│ │ ├── standalone
│ │ │ ├── controlflow
│ │ │ │ ├── ControlFlow.cs
│ │ │ │ ├── cfg.expected
│ │ │ │ └── cfg.ql
│ │ │ ├── errorrecovery
│ │ │ │ ├── DiagnosticsAndErrors.expected
│ │ │ │ ├── DiagnosticsAndErrors.ql
│ │ │ │ ├── ErrorCalls.expected
│ │ │ │ ├── ErrorCalls.ql
│ │ │ │ ├── ErrorTypes.expected
│ │ │ │ ├── ErrorTypes.ql
│ │ │ │ ├── Methods.expected
│ │ │ │ ├── Methods.ql
│ │ │ │ └── errors.cs
│ │ │ ├── normalmode
│ │ │ │ ├── normal.cs
│ │ │ │ ├── normal.expected
│ │ │ │ └── normal.ql
│ │ │ ├── regressions
│ │ │ │ ├── ConstCase.expected
│ │ │ │ ├── ConstCase.ql
│ │ │ │ ├── QualifierAccess.expected
│ │ │ │ ├── QualifierAccess.ql
│ │ │ │ └── regressions.cs
│ │ │ └── standalonemode
│ │ │ │ ├── standalone.cs
│ │ │ │ ├── standalone.expected
│ │ │ │ └── standalone.ql
│ │ ├── statements
│ │ │ ├── Block1.expected
│ │ │ ├── Block1.ql
│ │ │ ├── Block2.expected
│ │ │ ├── Block2.ql
│ │ │ ├── Block3.expected
│ │ │ ├── Block3.ql
│ │ │ ├── Block4.expected
│ │ │ ├── Block4.ql
│ │ │ ├── Break1.expected
│ │ │ ├── Break1.ql
│ │ │ ├── Checked1.expected
│ │ │ ├── Checked1.ql
│ │ │ ├── Continue1.expected
│ │ │ ├── Continue1.ql
│ │ │ ├── Do1.expected
│ │ │ ├── Do1.ql
│ │ │ ├── Do2.expected
│ │ │ ├── Do2.ql
│ │ │ ├── Expr1.expected
│ │ │ ├── Expr1.ql
│ │ │ ├── Fixed1.expected
│ │ │ ├── Fixed1.ql
│ │ │ ├── Fixed2.expected
│ │ │ ├── Fixed2.ql
│ │ │ ├── For1.expected
│ │ │ ├── For1.ql
│ │ │ ├── For2.expected
│ │ │ ├── For2.ql
│ │ │ ├── For3.expected
│ │ │ ├── For3.ql
│ │ │ ├── For4.expected
│ │ │ ├── For4.ql
│ │ │ ├── Foreach1.expected
│ │ │ ├── Foreach1.ql
│ │ │ ├── Foreach2.expected
│ │ │ ├── Foreach2.ql
│ │ │ ├── Foreach3.expected
│ │ │ ├── Foreach3.ql
│ │ │ ├── Goto1.expected
│ │ │ ├── Goto1.ql
│ │ │ ├── Goto2.expected
│ │ │ ├── Goto2.ql
│ │ │ ├── If1.expected
│ │ │ ├── If1.ql
│ │ │ ├── If2.expected
│ │ │ ├── If2.ql
│ │ │ ├── Labeled1.expected
│ │ │ ├── Labeled1.ql
│ │ │ ├── LocalConstDecl1.expected
│ │ │ ├── LocalConstDecl1.ql
│ │ │ ├── LocalConstDecl2.expected
│ │ │ ├── LocalConstDecl2.ql
│ │ │ ├── LocalConstDecl3.expected
│ │ │ ├── LocalConstDecl3.ql
│ │ │ ├── LocalVarDecl1.expected
│ │ │ ├── LocalVarDecl1.ql
│ │ │ ├── LocalVarDecl2.expected
│ │ │ ├── LocalVarDecl2.ql
│ │ │ ├── LocalVarDecl3.expected
│ │ │ ├── LocalVarDecl3.ql
│ │ │ ├── LocalVarDecl4.expected
│ │ │ ├── LocalVarDecl4.ql
│ │ │ ├── LocalVarDecl5.expected
│ │ │ ├── LocalVarDecl5.ql
│ │ │ ├── Lock1.expected
│ │ │ ├── Lock1.ql
│ │ │ ├── Lock2.expected
│ │ │ ├── Lock2.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── Return1.expected
│ │ │ ├── Return1.ql
│ │ │ ├── Return2.expected
│ │ │ ├── Return2.ql
│ │ │ ├── StripSingletonBlocks.expected
│ │ │ ├── StripSingletonBlocks.ql
│ │ │ ├── Switch1.expected
│ │ │ ├── Switch1.ql
│ │ │ ├── Switch2.expected
│ │ │ ├── Switch2.ql
│ │ │ ├── Switch3.expected
│ │ │ ├── Switch3.ql
│ │ │ ├── Switch4.expected
│ │ │ ├── Switch4.ql
│ │ │ ├── Throw1.expected
│ │ │ ├── Throw1.ql
│ │ │ ├── TryCatch1.expected
│ │ │ ├── TryCatch1.ql
│ │ │ ├── TryCatch2.expected
│ │ │ ├── TryCatch2.ql
│ │ │ ├── TryCatch3.expected
│ │ │ ├── TryCatch3.ql
│ │ │ ├── TryCatch4.expected
│ │ │ ├── TryCatch4.ql
│ │ │ ├── TryCatch5.expected
│ │ │ ├── TryCatch5.ql
│ │ │ ├── TryCatch6.expected
│ │ │ ├── TryCatch6.ql
│ │ │ ├── TryCatch7.expected
│ │ │ ├── TryCatch7.ql
│ │ │ ├── TryCatch8.expected
│ │ │ ├── TryCatch8.ql
│ │ │ ├── TryFinally1.expected
│ │ │ ├── TryFinally1.ql
│ │ │ ├── Unchecked1.expected
│ │ │ ├── Unchecked1.ql
│ │ │ ├── Using1.expected
│ │ │ ├── Using1.ql
│ │ │ ├── Using2.expected
│ │ │ ├── Using2.ql
│ │ │ ├── Using3.expected
│ │ │ ├── Using3.ql
│ │ │ ├── While1.expected
│ │ │ ├── While1.ql
│ │ │ ├── While2.expected
│ │ │ ├── While2.ql
│ │ │ ├── YieldBreak1.expected
│ │ │ ├── YieldBreak1.ql
│ │ │ ├── YieldReturn1.expected
│ │ │ ├── YieldReturn1.ql
│ │ │ ├── YieldReturn2.expected
│ │ │ ├── YieldReturn2.ql
│ │ │ ├── YieldReturn3.expected
│ │ │ ├── YieldReturn3.ql
│ │ │ ├── fixed.cs
│ │ │ └── statements.cs
│ │ ├── tokens
│ │ │ ├── Tokens1.expected
│ │ │ ├── Tokens1.ql
│ │ │ ├── Tokens2.expected
│ │ │ ├── Tokens2.ql
│ │ │ ├── Tokens3.expected
│ │ │ ├── Tokens3.ql
│ │ │ └── tokens.cs
│ │ ├── tostringwithtypes
│ │ │ ├── ToStringWithTypes.cs
│ │ │ ├── toStringWithTypes.expected
│ │ │ └── toStringWithTypes.ql
│ │ ├── typeMentions
│ │ │ ├── NullableDisabled.cs
│ │ │ ├── NullableEnabled.cs
│ │ │ ├── TypeMentions.expected
│ │ │ └── TypeMentions.ql
│ │ ├── types
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── Types1.expected
│ │ │ ├── Types1.ql
│ │ │ ├── Types10.expected
│ │ │ ├── Types10.ql
│ │ │ ├── Types11.expected
│ │ │ ├── Types11.ql
│ │ │ ├── Types12.expected
│ │ │ ├── Types12.ql
│ │ │ ├── Types13.expected
│ │ │ ├── Types13.ql
│ │ │ ├── Types14.expected
│ │ │ ├── Types14.ql
│ │ │ ├── Types15.expected
│ │ │ ├── Types15.ql
│ │ │ ├── Types16.expected
│ │ │ ├── Types16.ql
│ │ │ ├── Types17.expected
│ │ │ ├── Types17.ql
│ │ │ ├── Types18.expected
│ │ │ ├── Types18.ql
│ │ │ ├── Types19.expected
│ │ │ ├── Types19.ql
│ │ │ ├── Types2.expected
│ │ │ ├── Types2.ql
│ │ │ ├── Types20.expected
│ │ │ ├── Types20.ql
│ │ │ ├── Types21.expected
│ │ │ ├── Types21.ql
│ │ │ ├── Types22.expected
│ │ │ ├── Types22.ql
│ │ │ ├── Types23.expected
│ │ │ ├── Types23.ql
│ │ │ ├── Types24.expected
│ │ │ ├── Types24.ql
│ │ │ ├── Types25.expected
│ │ │ ├── Types25.ql
│ │ │ ├── Types26.expected
│ │ │ ├── Types26.ql
│ │ │ ├── Types27.expected
│ │ │ ├── Types27.ql
│ │ │ ├── Types28.expected
│ │ │ ├── Types28.ql
│ │ │ ├── Types29.expected
│ │ │ ├── Types29.ql
│ │ │ ├── Types3.expected
│ │ │ ├── Types3.ql
│ │ │ ├── Types30.expected
│ │ │ ├── Types30.ql
│ │ │ ├── Types31.expected
│ │ │ ├── Types31.ql
│ │ │ ├── Types32.expected
│ │ │ ├── Types32.ql
│ │ │ ├── Types33.expected
│ │ │ ├── Types33.ql
│ │ │ ├── Types34.expected
│ │ │ ├── Types34.ql
│ │ │ ├── Types35.expected
│ │ │ ├── Types35.ql
│ │ │ ├── Types36.expected
│ │ │ ├── Types36.ql
│ │ │ ├── Types4.expected
│ │ │ ├── Types4.ql
│ │ │ ├── Types5.expected
│ │ │ ├── Types5.ql
│ │ │ ├── Types6.expected
│ │ │ ├── Types6.ql
│ │ │ ├── Types7.expected
│ │ │ ├── Types7.ql
│ │ │ ├── Types8.expected
│ │ │ ├── Types8.ql
│ │ │ ├── Types9.expected
│ │ │ ├── Types9.ql
│ │ │ └── types.cs
│ │ ├── unification
│ │ │ ├── Unification.cs
│ │ │ ├── Unification.expected
│ │ │ └── Unification.ql
│ │ └── unsafe
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── unsafe.cs
│ │ │ ├── unsafe1.expected
│ │ │ ├── unsafe1.ql
│ │ │ ├── unsafe2.expected
│ │ │ ├── unsafe2.ql
│ │ │ ├── unsafe3.expected
│ │ │ ├── unsafe3.ql
│ │ │ ├── unsafe4.expected
│ │ │ └── unsafe4.ql
│ │ ├── qlpack.yml
│ │ ├── queries.xml
│ │ ├── query-tests
│ │ ├── API Abuse
│ │ │ ├── CallToGCCollect
│ │ │ │ ├── CallToGCCollect.expected
│ │ │ │ ├── CallToGCCollect.qlref
│ │ │ │ └── CallToGCCollectBad.cs
│ │ │ ├── CallToObsoleteMethod
│ │ │ │ ├── CallToObsoleteMethod.cs
│ │ │ │ ├── CallToObsoleteMethod.expected
│ │ │ │ ├── CallToObsoleteMethod.qlref
│ │ │ │ ├── CallToObsoleteMethodBad.cs
│ │ │ │ └── CallToObsoleteMethodGood.cs
│ │ │ ├── ClassDoesNotImplementEquals
│ │ │ │ ├── ClassDoesNotImplementEquals.cs
│ │ │ │ ├── ClassDoesNotImplementEquals.expected
│ │ │ │ ├── ClassDoesNotImplementEquals.qlref
│ │ │ │ ├── ClassDoesNotImplementEqualsBad.cs
│ │ │ │ └── ClassDoesNotImplementEqualsGood.cs
│ │ │ ├── ClassImplementsICloneable
│ │ │ │ ├── ClassImplementsICloneable.expected
│ │ │ │ ├── ClassImplementsICloneable.qlref
│ │ │ │ └── ClassImplementsICloneableBad.cs
│ │ │ ├── DisposeNotCalledOnException
│ │ │ │ ├── DisposeNotCalledOnException.cs
│ │ │ │ ├── DisposeNotCalledOnException.expected
│ │ │ │ ├── DisposeNotCalledOnException.qlref
│ │ │ │ ├── DisposeNotCalledOnExceptionBad.cs
│ │ │ │ └── DisposeNotCalledOnExceptionGood.cs
│ │ │ ├── FormatInvalid
│ │ │ │ ├── FormatInvalid.cs
│ │ │ │ ├── FormatInvalid.expected
│ │ │ │ ├── FormatInvalid.qlref
│ │ │ │ ├── FormatInvalidBad.cs
│ │ │ │ ├── FormatInvalidGood.cs
│ │ │ │ ├── FormatMissingArgument.cs
│ │ │ │ ├── FormatMissingArgumentBad.cs
│ │ │ │ ├── FormatMissingArgumentGood.cs
│ │ │ │ ├── FormatUnusedArgument.cs
│ │ │ │ └── FormatUnusedArgumentBad.cs
│ │ │ ├── InconsistentEqualsGetHashCode
│ │ │ │ ├── InconsistentEqualsGetHashCode.cs
│ │ │ │ ├── InconsistentEqualsGetHashCode.expected
│ │ │ │ ├── InconsistentEqualsGetHashCode.qlref
│ │ │ │ ├── InconsistentEqualsGetHashCodeBad.cs
│ │ │ │ └── InconsistentEqualsGetHashCodeGood.cs
│ │ │ ├── IncorrectCompareToSignature
│ │ │ │ ├── IncorrectCompareToSignature.cs
│ │ │ │ ├── IncorrectCompareToSignature.expected
│ │ │ │ ├── IncorrectCompareToSignature.qlref
│ │ │ │ ├── IncorrectCompareToSignatureBad.cs
│ │ │ │ └── IncorrectCompareToSignatureGood.cs
│ │ │ ├── IncorrectEqualsSignature
│ │ │ │ ├── IncorrectEqualsSignature.cs
│ │ │ │ ├── IncorrectEqualsSignature.expected
│ │ │ │ ├── IncorrectEqualsSignature.qlref
│ │ │ │ ├── IncorrectEqualsSignatureBad.cs
│ │ │ │ └── IncorrectEqualsSignatureGood.cs
│ │ │ ├── MissingDisposeCall
│ │ │ │ ├── MissingDisposeCall.cs
│ │ │ │ ├── MissingDisposeCall.expected
│ │ │ │ ├── MissingDisposeCall.qlref
│ │ │ │ ├── MissingDisposeCallBad.cs
│ │ │ │ └── MissingDisposeCallGood.cs
│ │ │ ├── MissingDisposeMethod
│ │ │ │ ├── MissingDisposeMethod.cs
│ │ │ │ ├── MissingDisposeMethod.expected
│ │ │ │ ├── MissingDisposeMethod.qlref
│ │ │ │ ├── MissingDisposeMethodBad.cs
│ │ │ │ └── MissingDisposeMethodGood.cs
│ │ │ ├── NoDisposeCallOnLocalIDisposable
│ │ │ │ ├── Class1.cs_
│ │ │ │ ├── DisposalTests.dll
│ │ │ │ ├── NoDisposeCallOnLocalIDisposable.cs
│ │ │ │ ├── NoDisposeCallOnLocalIDisposable.expected
│ │ │ │ ├── NoDisposeCallOnLocalIDisposable.qlref
│ │ │ │ ├── NoDisposeCallOnLocalIDisposableBad.cs
│ │ │ │ └── NoDisposeCallOnLocalIDisposableGood.cs
│ │ │ ├── NonOverridingMethod
│ │ │ │ ├── NonOverridingMethod.cs
│ │ │ │ ├── NonOverridingMethod.expected
│ │ │ │ ├── NonOverridingMethod.qlref
│ │ │ │ ├── NonOverridingMethodBad.cs
│ │ │ │ └── NonOverridingMethodGood.cs
│ │ │ ├── NullArgumentToEquals
│ │ │ │ ├── NullArgumentToEquals.cs
│ │ │ │ ├── NullArgumentToEquals.expected
│ │ │ │ ├── NullArgumentToEquals.qlref
│ │ │ │ ├── NullArgumentToEqualsBad.cs
│ │ │ │ └── NullArgumentToEqualsGood.cs
│ │ │ └── UncheckedReturnValue
│ │ │ │ ├── UncheckedReturnValue.cs
│ │ │ │ ├── UncheckedReturnValue.expected
│ │ │ │ ├── UncheckedReturnValue.qlref
│ │ │ │ └── UncheckedReturnValueBad.cs
│ │ ├── ASP
│ │ │ ├── BlockCodeResponseWrite
│ │ │ │ ├── BlockCodeResponseWrite.expected
│ │ │ │ ├── BlockCodeResponseWrite.qlref
│ │ │ │ ├── BlockCodeResponseWriteBad.aspx
│ │ │ │ ├── BlockCodeResponseWriteGood.aspx
│ │ │ │ └── test.aspx
│ │ │ ├── ComplexInlineCode
│ │ │ │ ├── ComplexInlineCode.expected
│ │ │ │ ├── ComplexInlineCode.qlref
│ │ │ │ ├── ComplexInlineCodeBad.aspx
│ │ │ │ ├── ComplexInlineCodeGood.aspx
│ │ │ │ └── test.aspx
│ │ │ ├── NonInternationalizedText
│ │ │ │ ├── NonInternationalizedText.expected
│ │ │ │ ├── NonInternationalizedText.qlref
│ │ │ │ ├── NonInternationalizedTextBad.aspx
│ │ │ │ ├── NonInternationalizedTextGood.aspx
│ │ │ │ └── test.aspx
│ │ │ └── SplitControlStructure
│ │ │ │ ├── SplitControlStructure.expected
│ │ │ │ ├── SplitControlStructure.qlref
│ │ │ │ ├── SplitControlStructureBad.aspx
│ │ │ │ ├── SplitControlStructureGood.aspx
│ │ │ │ └── test.aspx
│ │ ├── AlertSuppression
│ │ │ ├── AlertSuppression.cs
│ │ │ ├── AlertSuppression.expected
│ │ │ ├── AlertSuppression.qlref
│ │ │ └── AlertSuppressionWindows.cs
│ │ ├── Architecture
│ │ │ ├── Dependencies
│ │ │ │ └── MutualDependency
│ │ │ │ │ ├── ExtractorOptions.cs
│ │ │ │ │ ├── MutualDependency.expected
│ │ │ │ │ ├── MutualDependency.qlref
│ │ │ │ │ ├── MutualDependencyBad.cs
│ │ │ │ │ └── MutualDependencyGood.cs
│ │ │ └── Refactoring Opportunities
│ │ │ │ ├── FeatureEnvy
│ │ │ │ ├── FeatureEnvy.expected
│ │ │ │ ├── FeatureEnvy.qlref
│ │ │ │ ├── FeatureEnvyBad.cs
│ │ │ │ └── FeatureEnvyGood.cs
│ │ │ │ └── InappropriateIntimacy
│ │ │ │ ├── InappropriateIntimacy.cs
│ │ │ │ ├── InappropriateIntimacy.expected
│ │ │ │ └── InappropriateIntimacy.qlref
│ │ ├── Bad Practices
│ │ │ ├── Comments
│ │ │ │ ├── CommentedOutCode
│ │ │ │ │ ├── CommentedOutCode.cs
│ │ │ │ │ ├── CommentedOutCode.expected
│ │ │ │ │ └── CommentedOutCode.qlref
│ │ │ │ └── TodoComments
│ │ │ │ │ ├── TodoComments.cs
│ │ │ │ │ ├── TodoComments.expected
│ │ │ │ │ ├── TodoComments.qlref
│ │ │ │ │ └── TodoCommentsBad.cs
│ │ │ ├── Control-Flow
│ │ │ │ └── ConstantCondition
│ │ │ │ │ ├── ConstantCondition.cs
│ │ │ │ │ ├── ConstantCondition.expected
│ │ │ │ │ ├── ConstantCondition.qlref
│ │ │ │ │ ├── ConstantConditionBad.cs
│ │ │ │ │ ├── ConstantConditionGood.cs
│ │ │ │ │ ├── ConstantConditionalExpressionCondition.cs
│ │ │ │ │ ├── ConstantDoCondition.cs
│ │ │ │ │ ├── ConstantForCondition.cs
│ │ │ │ │ ├── ConstantIfCondition.cs
│ │ │ │ │ ├── ConstantNullCoalescingLeftHandOperand.cs
│ │ │ │ │ └── ConstantWhileCondition.cs
│ │ │ ├── Declarations
│ │ │ │ ├── EmptyInterface
│ │ │ │ │ ├── EmptyInterface.expected
│ │ │ │ │ ├── EmptyInterface.qlref
│ │ │ │ │ ├── EmptyInterfaceBad.cs
│ │ │ │ │ └── EmptyInterfaceGood.cs
│ │ │ │ ├── LocalScopeVariableShadowsMember
│ │ │ │ │ ├── ExtractorOptions.cs
│ │ │ │ │ ├── LocalScopeVariableShadowsMember.cs
│ │ │ │ │ ├── LocalScopeVariableShadowsMember.expected
│ │ │ │ │ ├── LocalScopeVariableShadowsMember.qlref
│ │ │ │ │ ├── LocalScopeVariableShadowsMemberBad.cs
│ │ │ │ │ └── LocalScopeVariableShadowsMemberGood.cs
│ │ │ │ ├── NoConstantsOnly
│ │ │ │ │ ├── NoConstantsOnly.cs
│ │ │ │ │ ├── NoConstantsOnly.expected
│ │ │ │ │ ├── NoConstantsOnly.qlref
│ │ │ │ │ └── NoConstantsOnlyBad.cs
│ │ │ │ └── TooManyRefParameters
│ │ │ │ │ ├── TooManyRefParameters.expected
│ │ │ │ │ ├── TooManyRefParameters.qlref
│ │ │ │ │ ├── TooManyRefParametersBad.cs
│ │ │ │ │ └── TooManyRefParametersGood.cs
│ │ │ ├── EmptyCatchBlock
│ │ │ │ ├── EmptyCatchBlock.cs
│ │ │ │ ├── EmptyCatchBlock.expected
│ │ │ │ └── EmptyCatchBlock.qlref
│ │ │ ├── Implementation Hiding
│ │ │ │ ├── AbstractToConcreteCollection
│ │ │ │ │ ├── AbstractToConcreteCollection.cs
│ │ │ │ │ ├── AbstractToConcreteCollection.expected
│ │ │ │ │ ├── AbstractToConcreteCollection.qlref
│ │ │ │ │ └── AbstractToConcreteCollectionBad.cs
│ │ │ │ ├── ExposeRepresentation
│ │ │ │ │ ├── ExposeRepresentation.cs
│ │ │ │ │ ├── ExposeRepresentation.expected
│ │ │ │ │ ├── ExposeRepresentation.qlref
│ │ │ │ │ ├── ExposeRepresentationBad.cs
│ │ │ │ │ ├── ExposeRepresentationGood1.cs
│ │ │ │ │ └── ExposeRepresentationGood2.cs
│ │ │ │ └── StaticArray
│ │ │ │ │ ├── StaticArray.cs
│ │ │ │ │ ├── StaticArray.expected
│ │ │ │ │ ├── StaticArray.qlref
│ │ │ │ │ ├── StaticArrayBad.cs
│ │ │ │ │ └── StaticArrayGood.cs
│ │ │ ├── Naming Conventions
│ │ │ │ ├── ConfusingMethodNames
│ │ │ │ │ ├── ConfusingMethodNames.expected
│ │ │ │ │ ├── ConfusingMethodNames.qlref
│ │ │ │ │ └── Program.cs
│ │ │ │ └── VariableNameTooShort
│ │ │ │ │ ├── VariableNameTooShort.cs
│ │ │ │ │ ├── VariableNameTooShort.expected
│ │ │ │ │ └── VariableNameTooShort.qlref
│ │ │ └── VirtualCallInConstructorOrDestructor
│ │ │ │ ├── VirtualCallInConstructorOrDestructor.cs
│ │ │ │ ├── VirtualCallInConstructorOrDestructor.expected
│ │ │ │ └── VirtualCallInConstructorOrDestructor.qlref
│ │ ├── CSI
│ │ │ └── CompareIdenticalValues
│ │ │ │ ├── CompareIdenticalValues.cs
│ │ │ │ ├── CompareIdenticalValues.expected
│ │ │ │ └── CompareIdenticalValues.qlref
│ │ ├── Concurrency
│ │ │ ├── FutileSyncOnField
│ │ │ │ ├── FutileSyncOnField.cs
│ │ │ │ ├── FutileSyncOnField.expected
│ │ │ │ └── FutileSyncOnField.qlref
│ │ │ ├── LockOrder
│ │ │ │ ├── LockOrder.cs
│ │ │ │ ├── LockOrder.expected
│ │ │ │ ├── LockOrder.qlref
│ │ │ │ ├── LockOrderBad.cs
│ │ │ │ └── LockOrderGood.cs
│ │ │ ├── LockThis
│ │ │ │ ├── LockThis.cs
│ │ │ │ ├── LockThis.expected
│ │ │ │ └── LockThis.qlref
│ │ │ ├── LockedWait
│ │ │ │ ├── LockedWait.cs
│ │ │ │ ├── LockedWait.expected
│ │ │ │ └── LockedWait.qlref
│ │ │ ├── SynchSetUnsynchGet
│ │ │ │ ├── SynchSetUnsynchGet.cs
│ │ │ │ ├── SynchSetUnsynchGet.expected
│ │ │ │ └── SynchSetUnsynchGet.qlref
│ │ │ ├── UnsafeLazyInitialization
│ │ │ │ ├── UnsafeLazyInitialization.cs
│ │ │ │ ├── UnsafeLazyInitialization.expected
│ │ │ │ └── UnsafeLazyInitialization.qlref
│ │ │ └── UnsynchronizedStaticAccess
│ │ │ │ ├── UnsynchronizedStaticAccess.cs
│ │ │ │ ├── UnsynchronizedStaticAccess.expected
│ │ │ │ └── UnsynchronizedStaticAccess.qlref
│ │ ├── Configuration
│ │ │ └── PasswordInConfigurationFile
│ │ │ │ ├── EmptyPasswordInConfigurationFile.expected
│ │ │ │ ├── EmptyPasswordInConfigurationFile.qlref
│ │ │ │ ├── PasswordInConfigurationFile.expected
│ │ │ │ ├── PasswordInConfigurationFile.qlref
│ │ │ │ ├── config.xml
│ │ │ │ └── hello.cs
│ │ ├── Dead Code
│ │ │ ├── DeadStoreOfLocal
│ │ │ │ ├── DeadStoreOfLocal.cs
│ │ │ │ ├── DeadStoreOfLocal.expected
│ │ │ │ ├── DeadStoreOfLocal.qlref
│ │ │ │ ├── DeadStoreOfLocalBad.cs
│ │ │ │ └── DeadStoreOfLocalGood.cs
│ │ │ ├── NonAssignedFields
│ │ │ │ ├── NonAssignedFields.cs
│ │ │ │ ├── NonAssignedFields.expected
│ │ │ │ └── NonAssignedFields.qlref
│ │ │ ├── Tests
│ │ │ │ ├── DeadRefTypes.expected
│ │ │ │ ├── DeadRefTypes.qlref
│ │ │ │ ├── UnusedField.expected
│ │ │ │ ├── UnusedField.qlref
│ │ │ │ ├── UnusedMethod.expected
│ │ │ │ ├── UnusedMethod.qlref
│ │ │ │ ├── deadcode.cs
│ │ │ │ ├── nunit.cs
│ │ │ │ └── regression.cs
│ │ │ └── consts.cs
│ │ ├── Documentation
│ │ │ ├── XmldocExtraParam.expected
│ │ │ ├── XmldocExtraParam.qlref
│ │ │ ├── XmldocExtraTypeParam.expected
│ │ │ ├── XmldocExtraTypeParam.qlref
│ │ │ ├── XmldocMissing.expected
│ │ │ ├── XmldocMissing.qlref
│ │ │ ├── XmldocMissingException.expected
│ │ │ ├── XmldocMissingException.qlref
│ │ │ ├── XmldocMissingParam.expected
│ │ │ ├── XmldocMissingParam.qlref
│ │ │ ├── XmldocMissingReturn.expected
│ │ │ ├── XmldocMissingReturn.qlref
│ │ │ ├── XmldocMissingSummary.expected
│ │ │ ├── XmldocMissingSummary.qlref
│ │ │ ├── XmldocMissingTypeParam.expected
│ │ │ ├── XmldocMissingTypeParam.qlref
│ │ │ └── documentation.cs
│ │ ├── EmptyBlock
│ │ │ ├── EmptyBlock.cs
│ │ │ ├── EmptyBlock.expected
│ │ │ └── EmptyBlock.qlref
│ │ ├── Language Abuse
│ │ │ ├── CatchOfGenericException
│ │ │ │ ├── CatchOfGenericException.cs
│ │ │ │ ├── CatchOfGenericException.expected
│ │ │ │ └── CatchOfGenericException.qlref
│ │ │ ├── ChainedIs
│ │ │ │ ├── ChainedIs.cs
│ │ │ │ ├── ChainedIs.expected
│ │ │ │ └── ChainedIs.qlref
│ │ │ ├── DubiousTypeTestOfThis
│ │ │ │ ├── DubiousTypeTestOfThis.cs
│ │ │ │ ├── DubiousTypeTestOfThis.expected
│ │ │ │ ├── DubiousTypeTestOfThis.qlref
│ │ │ │ └── DubiousTypeTestOfThis2.cs
│ │ │ ├── ForeachCapture
│ │ │ │ ├── ForeachCapture.cs
│ │ │ │ ├── ForeachCapture.expected
│ │ │ │ └── ForeachCapture.qlref
│ │ │ ├── MissedReadonlyOpportunity
│ │ │ │ ├── MissedReadonlyOpportunity.cs
│ │ │ │ ├── MissedReadonlyOpportunity.expected
│ │ │ │ ├── MissedReadonlyOpportunity.qlref
│ │ │ │ ├── MissedReadonlyOpportunityBad.cs
│ │ │ │ └── MissedReadonlyOpportunityGood.cs
│ │ │ ├── MissedTernaryOpportunity
│ │ │ │ ├── MissedTernaryOpportunity.cs
│ │ │ │ ├── MissedTernaryOpportunity.expected
│ │ │ │ └── MissedTernaryOpportunity.qlref
│ │ │ ├── NestedIf
│ │ │ │ ├── NestedIf.expected
│ │ │ │ ├── NestedIf.qlref
│ │ │ │ └── nestedif.cs
│ │ │ ├── RethrowException
│ │ │ │ ├── RethrowException.cs
│ │ │ │ ├── RethrowException.expected
│ │ │ │ └── RethrowException.qlref
│ │ │ ├── SimplifyBoolExpr
│ │ │ │ ├── SimplifyBoolExpr.cs
│ │ │ │ ├── SimplifyBoolExpr.expected
│ │ │ │ ├── SimplifyBoolExpr.qlref
│ │ │ │ ├── SimplifyBoolExprBad.cs
│ │ │ │ └── SimplifyBoolExprGood.cs
│ │ │ ├── UselessCastToSelf
│ │ │ │ ├── UselessCastToSelf.cs
│ │ │ │ ├── UselessCastToSelf.expected
│ │ │ │ └── UselessCastToSelf.qlref
│ │ │ ├── UselessIsBeforeAs
│ │ │ │ ├── UselessIsBeforeAs.cs
│ │ │ │ ├── UselessIsBeforeAs.expected
│ │ │ │ └── UselessIsBeforeAs.qlref
│ │ │ ├── UselessNullCoalescingExpression
│ │ │ │ ├── UselessNullCoalescingExpression.cs
│ │ │ │ ├── UselessNullCoalescingExpression.expected
│ │ │ │ └── UselessNullCoalescingExpression.qlref
│ │ │ └── UselessUpcast
│ │ │ │ ├── UselessUpcast.cs
│ │ │ │ ├── UselessUpcast.expected
│ │ │ │ ├── UselessUpcast.qlref
│ │ │ │ ├── UselessUpcastBad.cs
│ │ │ │ └── UselessUpcastGood.cs
│ │ ├── Likely Bugs
│ │ │ ├── BadCheckOdd
│ │ │ │ ├── BadCheckOdd.cs
│ │ │ │ ├── BadCheckOdd.expected
│ │ │ │ └── BadCheckOdd.qlref
│ │ │ ├── Collections
│ │ │ │ ├── ContainerLengthCmpOffByOne
│ │ │ │ │ ├── ContainerLengthCmpOffByOne.cs
│ │ │ │ │ ├── ContainerLengthCmpOffByOne.expected
│ │ │ │ │ └── ContainerLengthCmpOffByOne.qlref
│ │ │ │ └── ContainerSizeCmpZero
│ │ │ │ │ ├── ContainerSizeCmpZero.cs
│ │ │ │ │ ├── ContainerSizeCmpZero.expected
│ │ │ │ │ └── ContainerSizeCmpZero.qlref
│ │ │ ├── ConstantComparison
│ │ │ │ ├── ConstantComparison.cs
│ │ │ │ ├── ConstantComparison.expected
│ │ │ │ └── ConstantComparison.qlref
│ │ │ ├── DangerousNonShortCircuitLogic
│ │ │ │ ├── DangerousNonShortCircuitLogic.cs
│ │ │ │ ├── DangerousNonShortCircuitLogic.expected
│ │ │ │ └── DangerousNonShortCircuitLogic.qlref
│ │ │ ├── Dynamic
│ │ │ │ ├── BadDynamicCall.expected
│ │ │ │ ├── BadDynamicCall.qlref
│ │ │ │ └── dynamic.cs
│ │ │ ├── EqualsArray
│ │ │ │ ├── EqualsArray.cs
│ │ │ │ ├── EqualsArray.expected
│ │ │ │ └── EqualsArray.qlref
│ │ │ ├── EqualsUsesAs
│ │ │ │ ├── EqualsUsesAs.cs
│ │ │ │ ├── EqualsUsesAs.expected
│ │ │ │ └── EqualsUsesAs.qlref
│ │ │ ├── EqualsUsesIs
│ │ │ │ ├── EqualsUsesIs.cs
│ │ │ │ ├── EqualsUsesIs.expected
│ │ │ │ └── EqualsUsesIs.qlref
│ │ │ ├── HashedButNoHash
│ │ │ │ ├── HashedButNoHash.cs
│ │ │ │ ├── HashedButNoHash.expected
│ │ │ │ └── HashedButNoHash.qlref
│ │ │ ├── IncomparableEquals
│ │ │ │ ├── IncomparableEquals.cs
│ │ │ │ ├── IncomparableEquals.expected
│ │ │ │ └── IncomparableEquals.qlref
│ │ │ ├── InconsistentCompareTo
│ │ │ │ ├── InconsistentCompareTo.cs
│ │ │ │ ├── InconsistentCompareTo.expected
│ │ │ │ └── InconsistentCompareTo.qlref
│ │ │ ├── MishandlingJapaneseEra
│ │ │ │ ├── MishandlingJapaneseEra.expected
│ │ │ │ ├── MishandlingJapaneseEra.qlref
│ │ │ │ └── Program.cs
│ │ │ ├── NestedLoopsSameVariable
│ │ │ │ ├── NestedLoopsSameVariable.cs
│ │ │ │ ├── NestedLoopsSameVariable.expected
│ │ │ │ ├── NestedLoopsSameVariable.qlref
│ │ │ │ └── Test.cs
│ │ │ ├── ObjectComparison
│ │ │ │ ├── ObjectComparison.cs
│ │ │ │ ├── ObjectComparison.expected
│ │ │ │ └── ObjectComparison.qlref
│ │ │ ├── PossibleLossOfPrecision
│ │ │ │ ├── PossibleLossOfPrecision.cs
│ │ │ │ ├── PossibleLossOfPrecision.expected
│ │ │ │ └── PossibleLossOfPrecision.qlref
│ │ │ ├── RandomUsedOnce
│ │ │ │ ├── RandomUsedOnce.cs
│ │ │ │ ├── RandomUsedOnce.expected
│ │ │ │ └── RandomUsedOnce.qlref
│ │ │ ├── RecursiveEquals
│ │ │ │ ├── RecursiveEquals.cs
│ │ │ │ ├── RecursiveEquals.expected
│ │ │ │ └── RecursiveEquals.qlref
│ │ │ ├── SelfAssignment
│ │ │ │ ├── SelfAssignment.expected
│ │ │ │ ├── SelfAssignment.qlref
│ │ │ │ └── selfassigns.cs
│ │ │ ├── StaticFieldWrittenByInstance
│ │ │ │ ├── StaticFieldWrittenByInstance.cs
│ │ │ │ ├── StaticFieldWrittenByInstance.expected
│ │ │ │ └── StaticFieldWrittenByInstance.qlref
│ │ │ ├── StringBuilderCharInit
│ │ │ │ ├── StringBufferCharInit.expected
│ │ │ │ ├── StringBufferCharInit.qlref
│ │ │ │ └── StringBuilderCharInit.cs
│ │ │ ├── ThreadUnsafeICryptoTransform
│ │ │ │ ├── ThreadUnsafeICryptoTransform.cs
│ │ │ │ ├── ThreadUnsafeICryptoTransform.expected
│ │ │ │ └── ThreadUnsafeICryptoTransform.qlref
│ │ │ ├── ThreadUnsafeICryptoTransformLambda
│ │ │ │ ├── ThreadUnsafeICryptoTransformLambda.cs
│ │ │ │ ├── ThreadUnsafeICryptoTransformLambda.expected
│ │ │ │ └── ThreadUnsafeICryptoTransformLambda.qlref
│ │ │ ├── UncheckedCastInEquals
│ │ │ │ ├── UncheckedCastInEquals.cs
│ │ │ │ ├── UncheckedCastInEquals.expected
│ │ │ │ └── UncheckedCastInEquals.qlref
│ │ │ └── UnsafeYearConstruction
│ │ │ │ ├── Program.cs
│ │ │ │ ├── UnsafeYearConstruction.expected
│ │ │ │ └── UnsafeYearConstruction.qlref
│ │ ├── MagicConstants
│ │ │ ├── AttributeInts.cs
│ │ │ ├── AttributeStrings.cs
│ │ │ ├── AttributeStrings.expected
│ │ │ ├── AttributeStrings.qlref
│ │ │ ├── GeneratedCode.designer.cs
│ │ │ ├── HashCode.cs
│ │ │ ├── MagicConstantsNumbers.expected
│ │ │ ├── MagicConstantsNumbers.qlref
│ │ │ ├── MagicNumbersUseConstant.cs
│ │ │ ├── MagicNumbersUseConstant.expected
│ │ │ ├── MagicNumbersUseConstant.qlref
│ │ │ ├── MagicStringsUseConstant.cs
│ │ │ ├── MagicStringsUseConstant.expected
│ │ │ ├── MagicStringsUseConstant.qlref
│ │ │ └── generics.cs
│ │ ├── Metrics
│ │ │ ├── Files
│ │ │ │ └── FLinesOfCommentedCode
│ │ │ │ │ ├── file1.cs
│ │ │ │ │ ├── file2.cs
│ │ │ │ │ ├── flinesofcommentedcode.expected
│ │ │ │ │ └── flinesofcommentedcode.qlref
│ │ │ └── RefTypes
│ │ │ │ └── TNumberOfFields
│ │ │ │ ├── EnumSize.cs
│ │ │ │ ├── EnumSize.expected
│ │ │ │ └── EnumSize.qlref
│ │ ├── Nullness
│ │ │ ├── A.cs
│ │ │ ├── Assert.cs
│ │ │ ├── B.cs
│ │ │ ├── C.cs
│ │ │ ├── D.cs
│ │ │ ├── E.cs
│ │ │ ├── EqualityCheck.expected
│ │ │ ├── EqualityCheck.ql
│ │ │ ├── Forwarding.cs
│ │ │ ├── GuardedString.cs
│ │ │ ├── Implications.expected
│ │ │ ├── Implications.ql
│ │ │ ├── NullAlways.expected
│ │ │ ├── NullAlways.qlref
│ │ │ ├── NullAlwaysBad.cs
│ │ │ ├── NullAlwaysGood.cs
│ │ │ ├── NullCheck.expected
│ │ │ ├── NullCheck.ql
│ │ │ ├── NullMaybe.expected
│ │ │ ├── NullMaybe.qlref
│ │ │ ├── NullMaybeBad.cs
│ │ │ ├── NullMaybeGood.cs
│ │ │ └── StringConcatenation.cs
│ │ ├── Performance
│ │ │ ├── StringBuilderInLoop
│ │ │ │ ├── StringBuilderInLoop.cs
│ │ │ │ ├── StringBuilderInLoop.expected
│ │ │ │ └── StringBuilderInLoop.qlref
│ │ │ ├── StringConcatenationInLoop
│ │ │ │ ├── StringConcatenationInLoop.cs
│ │ │ │ ├── StringConcatenationInLoop.expected
│ │ │ │ └── StringConcatenationInLoop.qlref
│ │ │ └── UseTryGetValue
│ │ │ │ ├── UseTryGetValue.cs
│ │ │ │ ├── UseTryGetValue.expected
│ │ │ │ └── UseTryGetValue.qlref
│ │ ├── ReadOnlyContainer
│ │ │ ├── ReadOnlyContainer.cs
│ │ │ ├── ReadOnlyContainer.expected
│ │ │ └── ReadOnlyContainer.qlref
│ │ ├── Security Features
│ │ │ ├── CWE-011
│ │ │ │ ├── ASPNetDebug.cs
│ │ │ │ ├── ASPNetDebug.expected
│ │ │ │ ├── ASPNetDebug.qlref
│ │ │ │ ├── Web.config
│ │ │ │ └── bad
│ │ │ │ │ └── Web.config
│ │ │ ├── CWE-016
│ │ │ │ ├── ASPNetMaxRequestLength
│ │ │ │ │ ├── ASPNetMaxRequestLength.cs
│ │ │ │ │ ├── ASPNetMaxRequestLength.expected
│ │ │ │ │ ├── ASPNetMaxRequestLength.qlref
│ │ │ │ │ ├── Web.config
│ │ │ │ │ └── bad
│ │ │ │ │ │ └── Web.config
│ │ │ │ ├── ASPNetPagesValidateRequest
│ │ │ │ │ ├── ASPNetPagesValidateRequest.expected
│ │ │ │ │ ├── ASPNetPagesValidateRequest.qlref
│ │ │ │ │ ├── ASPNetPagesValidateRequestBad.config
│ │ │ │ │ ├── ASPNetPagesValidateRequestGood.config
│ │ │ │ │ └── Program.cs
│ │ │ │ └── ASPNetRequestValidationMode
│ │ │ │ │ ├── ASPNetRequestValidationMode.expected
│ │ │ │ │ ├── ASPNetRequestValidationMode.qlref
│ │ │ │ │ ├── ASPNetRequestValidationModeBad.config
│ │ │ │ │ ├── ASPNetRequestValidationModeGood.config
│ │ │ │ │ └── Program.cs
│ │ │ ├── CWE-020
│ │ │ │ ├── ExternalAPIsUsedWithUntrustedData.expected
│ │ │ │ ├── ExternalAPIsUsedWithUntrustedData.qlref
│ │ │ │ ├── RuntimeChecksBypass.cs
│ │ │ │ ├── RuntimeChecksBypassBad.cs
│ │ │ │ ├── RuntimeChecksBypassGood.cs
│ │ │ │ ├── RuntimeChecksbypass.expected
│ │ │ │ ├── RuntimeChecksbypass.qlref
│ │ │ │ ├── UntrustedData.cs
│ │ │ │ ├── UntrustedDataToExternalAPI.expected
│ │ │ │ └── UntrustedDataToExternalAPI.qlref
│ │ │ ├── CWE-022
│ │ │ │ ├── TaintedPath
│ │ │ │ │ ├── TaintedPath.cs
│ │ │ │ │ ├── TaintedPath.expected
│ │ │ │ │ └── TaintedPath.qlref
│ │ │ │ └── ZipSlip
│ │ │ │ │ ├── ZipSlip.cs
│ │ │ │ │ ├── ZipSlip.expected
│ │ │ │ │ ├── ZipSlip.qlref
│ │ │ │ │ ├── ZipSlipBad.cs
│ │ │ │ │ └── ZipSlipGood.cs
│ │ │ ├── CWE-078
│ │ │ │ ├── CommandInjection.cs
│ │ │ │ ├── CommandInjection.expected
│ │ │ │ ├── CommandInjection.qlref
│ │ │ │ ├── StoredCommandInjection.cs
│ │ │ │ ├── StoredCommandInjection.expected
│ │ │ │ └── StoredCommandInjection.qlref
│ │ │ ├── CWE-079
│ │ │ │ ├── StoredXSS
│ │ │ │ │ ├── AspInline.expected
│ │ │ │ │ ├── AspInline.ql
│ │ │ │ │ ├── StoredXSS.cs
│ │ │ │ │ ├── StoredXSS.expected
│ │ │ │ │ ├── StoredXSS.qlref
│ │ │ │ │ ├── XSS.cs
│ │ │ │ │ ├── XSS.expected
│ │ │ │ │ ├── XSS.qlref
│ │ │ │ │ └── script.aspx
│ │ │ │ └── XSS
│ │ │ │ │ ├── XSS.expected
│ │ │ │ │ ├── XSS.qlref
│ │ │ │ │ ├── XSSAspNet.cs
│ │ │ │ │ ├── XSSAspNetCore.cs
│ │ │ │ │ ├── corestubs.cs
│ │ │ │ │ └── stubs.cs
│ │ │ ├── CWE-089
│ │ │ │ ├── SecondOrderSqlInjection.cs
│ │ │ │ ├── SecondOrderSqlInjection.expected
│ │ │ │ ├── SecondOrderSqlInjection.qlref
│ │ │ │ ├── SqlInjection.cs
│ │ │ │ ├── SqlInjection.expected
│ │ │ │ └── SqlInjection.qlref
│ │ │ ├── CWE-090
│ │ │ │ ├── LDAPInjection.cs
│ │ │ │ ├── LDAPInjection.expected
│ │ │ │ ├── LDAPInjection.qlref
│ │ │ │ ├── StoredLDAPInjection.cs
│ │ │ │ ├── StoredLDAPInjection.expected
│ │ │ │ └── StoredLDAPInjection.qlref
│ │ │ ├── CWE-091
│ │ │ │ └── XMLInjection
│ │ │ │ │ ├── Test.cs
│ │ │ │ │ ├── XMLInjection.expected
│ │ │ │ │ └── XMLInjection.qlref
│ │ │ ├── CWE-094
│ │ │ │ ├── CodeInjection.cs
│ │ │ │ ├── CodeInjection.expected
│ │ │ │ └── CodeInjection.qlref
│ │ │ ├── CWE-099
│ │ │ │ ├── ResourceInjection.cs
│ │ │ │ ├── ResourceInjection.expected
│ │ │ │ └── ResourceInjection.qlref
│ │ │ ├── CWE-112
│ │ │ │ ├── MissingXMLValidation.cs
│ │ │ │ ├── MissingXMLValidation.expected
│ │ │ │ └── MissingXMLValidation.qlref
│ │ │ ├── CWE-114
│ │ │ │ └── AssemblyPathInjection
│ │ │ │ │ ├── AssemblyPathInjection.expected
│ │ │ │ │ ├── AssemblyPathInjection.qlref
│ │ │ │ │ └── Test.cs
│ │ │ ├── CWE-117
│ │ │ │ ├── LogForging.cs
│ │ │ │ ├── LogForging.expected
│ │ │ │ └── LogForging.qlref
│ │ │ ├── CWE-119
│ │ │ │ ├── LocalUnvalidatedArithmetic.cs
│ │ │ │ ├── LocalUnvalidatedArithmetic.expected
│ │ │ │ └── LocalUnvalidatedArithmetic.qlref
│ │ │ ├── CWE-134
│ │ │ │ ├── UncontrolledFormatString.cs
│ │ │ │ ├── UncontrolledFormatString.expected
│ │ │ │ ├── UncontrolledFormatString.qlref
│ │ │ │ └── UncontrolledFormatStringBad.cs
│ │ │ ├── CWE-201
│ │ │ │ └── ExposureInTransmittedData
│ │ │ │ │ ├── ExposureInTransmittedData.cs
│ │ │ │ │ ├── ExposureInTransmittedData.expected
│ │ │ │ │ └── ExposureInTransmittedData.qlref
│ │ │ ├── CWE-209
│ │ │ │ ├── ExceptionInformationExposure.cs
│ │ │ │ ├── ExceptionInformationExposure.expected
│ │ │ │ └── ExceptionInformationExposure.qlref
│ │ │ ├── CWE-248
│ │ │ │ └── MissingASPNETGlobalErrorHandler
│ │ │ │ │ ├── WebConfigOff
│ │ │ │ │ ├── MissingASPNETGlobalErrorHandler.expected
│ │ │ │ │ ├── MissingASPNETGlobalErrorHandler.qlref
│ │ │ │ │ ├── Web.config
│ │ │ │ │ └── global.asax.cs
│ │ │ │ │ └── WebConfigOffButGlobal
│ │ │ │ │ ├── MissingASPNETGlobalErrorHandler.expected
│ │ │ │ │ ├── MissingASPNETGlobalErrorHandler.qlref
│ │ │ │ │ ├── Web.config
│ │ │ │ │ └── global.asax.cs
│ │ │ ├── CWE-312
│ │ │ │ ├── CleartextStorage.cs
│ │ │ │ ├── CleartextStorage.expected
│ │ │ │ └── CleartextStorage.qlref
│ │ │ ├── CWE-321
│ │ │ │ └── HardcodedSymmetricEncryptionKey
│ │ │ │ │ ├── HardcodedSymmetricEncryptionKey.cs
│ │ │ │ │ ├── HardcodedSymmetricEncryptionKey.expected
│ │ │ │ │ ├── HardcodedSymmetricEncryptionKey.qlref
│ │ │ │ │ └── Stubs.cs
│ │ │ ├── CWE-327
│ │ │ │ ├── DontInstallRootCert
│ │ │ │ │ ├── DontInstallRootCert.expected
│ │ │ │ │ ├── DontInstallRootCert.qlref
│ │ │ │ │ └── Test.cs
│ │ │ │ ├── InsecureSQLConnection
│ │ │ │ │ ├── InsecureSQLConnection.cs
│ │ │ │ │ ├── InsecureSQLConnection.expected
│ │ │ │ │ ├── InsecureSQLConnection.qlref
│ │ │ │ │ └── stubs.cs
│ │ │ │ └── InsufficientKeySize
│ │ │ │ │ ├── InsufficientKeySize.cs
│ │ │ │ │ ├── InsufficientKeySize.expected
│ │ │ │ │ └── InsufficientKeySize.qlref
│ │ │ ├── CWE-338
│ │ │ │ ├── InsecureRandomness.cs
│ │ │ │ ├── InsecureRandomness.expected
│ │ │ │ ├── InsecureRandomness.qlref
│ │ │ │ └── TestInsecureRandomness.cs
│ │ │ ├── CWE-352
│ │ │ │ ├── global
│ │ │ │ │ ├── MissingAntiForgeryTokenValidation.cs
│ │ │ │ │ ├── MissingAntiForgeryTokenValidation.expected
│ │ │ │ │ └── MissingAntiForgeryTokenValidation.qlref
│ │ │ │ └── missing
│ │ │ │ │ ├── MissingAntiForgeryTokenValidation.cs
│ │ │ │ │ ├── MissingAntiForgeryTokenValidation.expected
│ │ │ │ │ └── MissingAntiForgeryTokenValidation.qlref
│ │ │ ├── CWE-359
│ │ │ │ ├── ExposureOfPrivateInformation.cs
│ │ │ │ ├── ExposureOfPrivateInformation.expected
│ │ │ │ └── ExposureOfPrivateInformation.qlref
│ │ │ ├── CWE-384
│ │ │ │ ├── AbandonSession.cs
│ │ │ │ ├── AbandonSession.expected
│ │ │ │ └── AbandonSession.qlref
│ │ │ ├── CWE-451
│ │ │ │ └── MissingXFrameOptions
│ │ │ │ │ ├── CodeAddedHeader
│ │ │ │ │ ├── MissingXFrameOptions.cs
│ │ │ │ │ ├── MissingXFrameOptions.expected
│ │ │ │ │ ├── MissingXFrameOptions.qlref
│ │ │ │ │ └── Web.config
│ │ │ │ │ ├── NoHeader
│ │ │ │ │ ├── MissingXFrameOptions.cs
│ │ │ │ │ ├── MissingXFrameOptions.expected
│ │ │ │ │ ├── MissingXFrameOptions.qlref
│ │ │ │ │ └── Web.config
│ │ │ │ │ └── WebConfigAddedHeader
│ │ │ │ │ ├── MissingXFrameOptions.cs
│ │ │ │ │ ├── MissingXFrameOptions.expected
│ │ │ │ │ ├── MissingXFrameOptions.qlref
│ │ │ │ │ └── Web.config
│ │ │ ├── CWE-502
│ │ │ │ ├── DeserializedDelegate
│ │ │ │ │ ├── DeserializedDelegate.cs
│ │ │ │ │ ├── DeserializedDelegate.expected
│ │ │ │ │ ├── DeserializedDelegate.qlref
│ │ │ │ │ ├── DeserializedDelegateBad.cs
│ │ │ │ │ └── ExtractorOptions.cs
│ │ │ │ ├── UnsafeDeserialization
│ │ │ │ │ ├── ExtractorOptions.cs
│ │ │ │ │ ├── UnsafeDeserialization.expected
│ │ │ │ │ ├── UnsafeDeserialization.qlref
│ │ │ │ │ ├── UnsafeDeserializationBad.cs
│ │ │ │ │ └── UnsafeDeserializationGood.cs
│ │ │ │ └── UnsafeDeserializationUntrustedInput
│ │ │ │ │ ├── ExtractorOptions.cs
│ │ │ │ │ ├── UnsafeDeserializationUntrustedInput.expected
│ │ │ │ │ ├── UnsafeDeserializationUntrustedInput.qlref
│ │ │ │ │ ├── UnsafeDeserializationUntrustedInputBad.cs
│ │ │ │ │ └── UnsafeDeserializationUntrustedInputGood.cs
│ │ │ ├── CWE-539
│ │ │ │ └── PersistentCookie
│ │ │ │ │ ├── PersistentCookie.cs
│ │ │ │ │ ├── PersistentCookie.expected
│ │ │ │ │ └── PersistentCookie.qlref
│ │ │ ├── CWE-548
│ │ │ │ ├── ASPNetDirectoryListing.expected
│ │ │ │ ├── ASPNetDirectoryListing.qlref
│ │ │ │ ├── Test.cs
│ │ │ │ └── web.config
│ │ │ ├── CWE-601
│ │ │ │ └── UrlRedirect
│ │ │ │ │ ├── UrlRedirect.cs
│ │ │ │ │ ├── UrlRedirect.expected
│ │ │ │ │ ├── UrlRedirect.qlref
│ │ │ │ │ ├── UrlRedirectCore.cs
│ │ │ │ │ └── stubs.cs
│ │ │ ├── CWE-611
│ │ │ │ ├── InsecureXMLSettings.expected
│ │ │ │ ├── InsecureXMLSettings.ql
│ │ │ │ ├── Test.cs
│ │ │ │ ├── UntrustedDataInsecureXml.expected
│ │ │ │ ├── UntrustedDataInsecureXml.qlref
│ │ │ │ ├── UseXmlSecureResolver.expected
│ │ │ │ └── UseXmlSecureResolver.qlref
│ │ │ ├── CWE-614
│ │ │ │ └── RequireSSL
│ │ │ │ │ ├── AddedInCode
│ │ │ │ │ ├── Program.cs
│ │ │ │ │ ├── RequireSSL.expected
│ │ │ │ │ ├── RequireSSL.qlref
│ │ │ │ │ └── Web.config
│ │ │ │ │ ├── AddedInForms
│ │ │ │ │ ├── Program.cs
│ │ │ │ │ ├── RequireSSL.expected
│ │ │ │ │ ├── RequireSSL.qlref
│ │ │ │ │ └── Web.config
│ │ │ │ │ ├── HttpCookiesCorrect
│ │ │ │ │ ├── Program.cs
│ │ │ │ │ ├── RequireSSL.expected
│ │ │ │ │ ├── RequireSSL.qlref
│ │ │ │ │ └── Web.config
│ │ │ │ │ └── RequireSSLMissing
│ │ │ │ │ ├── Program.cs
│ │ │ │ │ ├── RequireSSL.expected
│ │ │ │ │ ├── RequireSSL.qlref
│ │ │ │ │ └── Web.config
│ │ │ ├── CWE-643
│ │ │ │ ├── StoredXPathInjection.cs
│ │ │ │ ├── StoredXPathInjection.expected
│ │ │ │ ├── StoredXPathInjection.qlref
│ │ │ │ ├── XPathInjection.cs
│ │ │ │ ├── XPathInjection.expected
│ │ │ │ └── XPathInjection.qlref
│ │ │ ├── CWE-730
│ │ │ │ ├── ReDoS
│ │ │ │ │ ├── ExponentialRegex.cs
│ │ │ │ │ ├── ExponentialRegex.expected
│ │ │ │ │ ├── ExponentialRegex.ql
│ │ │ │ │ ├── ReDoS.expected
│ │ │ │ │ └── ReDoS.qlref
│ │ │ │ ├── ReDoSGlobalTimeout
│ │ │ │ │ ├── ExponentialRegex.cs
│ │ │ │ │ ├── ReDoS.expected
│ │ │ │ │ └── ReDoS.qlref
│ │ │ │ └── RegexInjection
│ │ │ │ │ ├── RegexInjection.cs
│ │ │ │ │ ├── RegexInjection.expected
│ │ │ │ │ └── RegexInjection.qlref
│ │ │ ├── CWE-798
│ │ │ │ ├── HardcodedConnectionString.expected
│ │ │ │ ├── HardcodedConnectionString.qlref
│ │ │ │ ├── HardcodedCredentials.cs
│ │ │ │ ├── HardcodedCredentials.expected
│ │ │ │ ├── HardcodedCredentials.qlref
│ │ │ │ └── TestHardcodedCredentials.cs
│ │ │ ├── CWE-807
│ │ │ │ ├── ConditionalBypass.cs
│ │ │ │ ├── ConditionalBypass.expected
│ │ │ │ └── ConditionalBypass.qlref
│ │ │ └── CWE-838
│ │ │ │ ├── HtmlEncode.cs
│ │ │ │ ├── InappropriateEncoding.cs
│ │ │ │ ├── InappropriateEncoding.expected
│ │ │ │ ├── InappropriateEncoding.qlref
│ │ │ │ ├── SqlEncode.cs
│ │ │ │ └── UrlEncode.cs
│ │ ├── Stubs
│ │ │ ├── MinimalStubsFromSource.expected
│ │ │ ├── MinimalStubsFromSource.qlref
│ │ │ └── Test.cs
│ │ ├── UnusedPropertyValue
│ │ │ ├── UnusedPropertyValue.cs
│ │ │ ├── UnusedPropertyValue.expected
│ │ │ └── UnusedPropertyValue.qlref
│ │ ├── UseBraces
│ │ │ ├── UseBraces.cs
│ │ │ ├── UseBraces.expected
│ │ │ └── UseBraces.qlref
│ │ ├── Useless Code
│ │ │ ├── DefaultToString
│ │ │ │ ├── DefaultToString.cs
│ │ │ │ ├── DefaultToString.expected
│ │ │ │ ├── DefaultToString.ql
│ │ │ │ ├── DefaultToStringBad.cs
│ │ │ │ ├── DefaultToStringGood.cs
│ │ │ │ └── WriteLineArray.cs
│ │ │ ├── IntGetHashCode
│ │ │ │ ├── IntGetHashCode.cs
│ │ │ │ ├── IntGetHashCode.expected
│ │ │ │ └── IntGetHashCode.qlref
│ │ │ ├── PointlessForwardingMethod
│ │ │ │ ├── PointlessForwardingMethod.cs
│ │ │ │ ├── PointlessForwardingMethod.expected
│ │ │ │ └── PointlessForwardingMethod.qlref
│ │ │ ├── RedundantToStringCall
│ │ │ │ ├── RedundantToStringCall.cs
│ │ │ │ ├── RedundantToStringCall.expected
│ │ │ │ ├── RedundantToStringCall.qlref
│ │ │ │ ├── RedundantToStringCallBad.cs
│ │ │ │ └── RedundantToStringCallGood.cs
│ │ │ └── UnusedLabel
│ │ │ │ ├── UnusedLabel.cs
│ │ │ │ ├── UnusedLabel.expected
│ │ │ │ └── UnusedLabel.qlref
│ │ ├── WriteOnlyContainer
│ │ │ ├── WriteOnlyContainer.cs
│ │ │ ├── WriteOnlyContainer.expected
│ │ │ └── WriteOnlyContainer.qlref
│ │ └── standalone
│ │ │ ├── IncomparableEquals
│ │ │ ├── IncomparableEquals.cs
│ │ │ ├── IncomparableEquals.expected
│ │ │ └── IncomparableEquals.qlref
│ │ │ └── ObjectComparison
│ │ │ ├── ObjectComparison.cs
│ │ │ ├── ObjectComparison.expected
│ │ │ └── ObjectComparison.qlref
│ │ └── resources
│ │ ├── assemblies
│ │ ├── System.Data.dll
│ │ ├── System.Net.Http.dll
│ │ ├── System.Web.ApplicationServices.dll
│ │ ├── System.Web.Mvc.dll
│ │ └── System.Web.dll
│ │ └── stubs
│ │ ├── EntityFramework.cs
│ │ ├── JsonNET.cs
│ │ ├── Microsoft.CSharp.cs
│ │ ├── Microsoft.VisualStudio.TestTools.UnitTesting.cs
│ │ ├── NHibernate.cs
│ │ ├── System.Data.cs
│ │ ├── System.DirectoryServices.cs
│ │ ├── System.Net.cs
│ │ ├── System.Web.cs
│ │ └── System.Windows.cs
├── tools
│ ├── autobuild.cmd
│ ├── autobuild.sh
│ ├── linux64
│ │ ├── compiler-tracing.spec
│ │ └── extract-csharp.sh
│ ├── osx64
│ │ ├── compiler-tracing.spec
│ │ └── extract-csharp.sh
│ ├── pre-finalize.cmd
│ ├── pre-finalize.sh
│ └── win64
│ │ └── compiler-tracing.spec
└── upgrades
│ ├── 027e958f156862103c2ef44f77f79b030c2b1359
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── 094972aab8c537db2cec0b9508361ca9d4cc2006
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── 16936565fbeffa1492ef636112694d29f7c578d0
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── 22d4df34563b234c6fc108ccebdffe8ae9b8e49c
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── 26249c105a81c61ef8738a198928de2d4b763c37
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── 2fb07f0b8c65f6c89437c28caf5d99fdbcdbef2d
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── 34565707dfbb74188a6d7e9ef4477ca8e8dab6a4
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── 57331d90231fc8247d5a5197f4ac45d502708c6a
│ ├── expr_parent.ql
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── 5f6770a8a174aa0b651375a847d9686533d3f528
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── 68db341c2ed1693c2ae6e20ad533c84138cb275a
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── 6b8962d52bd5ed58edb163f78467074fd7e1a127
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── 90fdbc8f87761f223ef7723e4b421c5b26ecc15e
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ ├── type_annotation.ql
│ └── upgrade.properties
│ ├── 98e37f65f0ae39cfe1bff33908d6620ade5df0f7
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── ad622770b3c38e7639883301e9e52ff1f3a4df4c
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── b93e202508f21bdf2e0d831e464c3b14187378cc
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── cf21dd4151d107ab649a2a218e7f52e355c43906
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── cfaa4e90da23a5ca3f0e914fbd5ca689ba0282d9
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── d8a619a011a649390ee658cbbceaa1241e08f24b
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── dd813977f70fcbf737b0bbe9dc8297edff713168
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── ddd39829bb71811b1fcb6559c0efe34f3fb6aa03
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── df0118d2d283379d89c2bec5aadda78cdae0b904
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── e0531e97fc1251265b06a94b3047a1b6fa484dcc
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── e6442d16b7e3786d0918597c2c9fbd871ca06f77
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── eedef9359e1e4e1ebcf2a1dc9d2ae75d4ea4d160
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── efcd69e086a26dd33395f2ddb3113b2849399040
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── f2aa2d4ac31309bd83ab633d0f40e8a442767bd1
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── f5903552e3099dba41375ca19af7caca5c2e4966
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── f93793ee5f6b7bec615eaa1af0a1a4dea19472bb
│ ├── old.dbscheme
│ ├── semmlecode.csharp.dbscheme
│ └── upgrade.properties
│ ├── initial
│ └── semmlecode.csharp.dbscheme
│ └── qlpack.yml
├── docs
├── codeql
│ ├── .gitignore
│ ├── .vale.ini
│ ├── README.rst
│ ├── _static
│ │ ├── custom.css_t
│ │ └── primer.css
│ ├── _templates
│ │ └── layout.html
│ ├── codeql-cli
│ │ ├── about-ql-packs.rst
│ │ ├── about-the-codeql-cli.rst
│ │ ├── analyzing-databases-with-the-codeql-cli.rst
│ │ ├── codeql-cli-reference.rst
│ │ ├── creating-codeql-databases.rst
│ │ ├── creating-codeql-query-suites.rst
│ │ ├── exit-codes.rst
│ │ ├── getting-started-with-the-codeql-cli.rst
│ │ ├── index.rst
│ │ ├── query-reference-files.rst
│ │ ├── sarif-output.rst
│ │ ├── specifying-command-options-in-a-codeql-configuration-file.rst
│ │ ├── testing-custom-queries.rst
│ │ ├── testing-query-help-files.rst
│ │ ├── upgrading-codeql-databases.rst
│ │ ├── using-custom-queries-with-the-codeql-cli.rst
│ │ └── using-the-codeql-cli.rst
│ ├── codeql-for-visual-studio-code
│ │ ├── .gitignore
│ │ ├── about-codeql-for-visual-studio-code.rst
│ │ ├── about-telemetry-in-codeql-for-visual-studio-code.rst
│ │ ├── analyzing-your-projects.rst
│ │ ├── customizing-settings.rst
│ │ ├── exploring-data-flow-with-path-queries.rst
│ │ ├── exploring-the-structure-of-your-source-code.rst
│ │ ├── index.rst
│ │ ├── setting-up-codeql-in-visual-studio-code.rst
│ │ ├── testing-codeql-queries-in-visual-studio-code.rst
│ │ └── troubleshooting-codeql-for-visual-studio-code.rst
│ ├── codeql-language-guides
│ │ ├── abstract-syntax-tree-classes-for-working-with-go-programs.rst
│ │ ├── abstract-syntax-tree-classes-for-working-with-java-programs.rst
│ │ ├── abstract-syntax-tree-classes-for-working-with-javascript-and-typescript-programs.rst
│ │ ├── analyzing-control-flow-in-python.rst
│ │ ├── analyzing-data-flow-in-cpp.rst
│ │ ├── analyzing-data-flow-in-csharp.rst
│ │ ├── analyzing-data-flow-in-java.rst
│ │ ├── analyzing-data-flow-in-javascript-and-typescript.rst
│ │ ├── analyzing-data-flow-in-python.rst
│ │ ├── annotations-in-java.rst
│ │ ├── basic-query-for-cpp-code.rst
│ │ ├── basic-query-for-csharp-code.rst
│ │ ├── basic-query-for-go-code.rst
│ │ ├── basic-query-for-java-code.rst
│ │ ├── basic-query-for-javascript-code.rst
│ │ ├── basic-query-for-python-code.rst
│ │ ├── codeql-for-cpp.rst
│ │ ├── codeql-for-csharp.rst
│ │ ├── codeql-for-go.rst
│ │ ├── codeql-for-java.rst
│ │ ├── codeql-for-javascript.rst
│ │ ├── codeql-for-python.rst
│ │ ├── codeql-library-for-cpp.rst
│ │ ├── codeql-library-for-csharp.rst
│ │ ├── codeql-library-for-go.rst
│ │ ├── codeql-library-for-java.rst
│ │ ├── codeql-library-for-javascript.rst
│ │ ├── codeql-library-for-python.rst
│ │ ├── codeql-library-for-typescript.rst
│ │ ├── conversions-and-classes-in-cpp.rst
│ │ ├── data-flow-cheat-sheet-for-javascript.rst
│ │ ├── detecting-a-potential-buffer-overflow.rst
│ │ ├── expressions-and-statements-in-python.rst
│ │ ├── expressions-types-and-statements-in-cpp.rst
│ │ ├── functions-in-cpp.rst
│ │ ├── functions-in-python.rst
│ │ ├── hash-consing-and-value-numbering.rst
│ │ ├── index.rst
│ │ ├── javadoc.rst
│ │ ├── modeling-data-flow-in-go-libraries.rst
│ │ ├── navigating-the-call-graph.rst
│ │ ├── overflow-prone-comparisons-in-java.rst
│ │ ├── refining-a-query-to-account-for-edge-cases.rst
│ │ ├── specifying-additional-remote-flow-sources-for-javascript.rst
│ │ ├── types-in-java.rst
│ │ ├── using-api-graphs-in-python.rst
│ │ ├── using-flow-labels-for-precise-data-flow-analysis.rst
│ │ ├── using-range-analsis-in-cpp.rst
│ │ ├── using-the-guards-library-in-cpp.rst
│ │ ├── using-type-tracking-for-api-modeling.rst
│ │ └── working-with-source-locations.rst
│ ├── codeql-overview
│ │ ├── about-codeql.rst
│ │ ├── codeql-glossary.rst
│ │ ├── codeql-tools.rst
│ │ ├── index.rst
│ │ └── supported-languages-and-frameworks.rst
│ ├── conf.py
│ ├── contents.rst
│ ├── images
│ │ ├── codeql-for-go
│ │ │ ├── ast.dot
│ │ │ ├── ast.png
│ │ │ ├── cfg.dot
│ │ │ ├── cfg.png
│ │ │ ├── cfg2.dot
│ │ │ ├── cfg2.png
│ │ │ ├── dfg.dot
│ │ │ ├── dfg.png
│ │ │ ├── ssa.dot
│ │ │ └── ssa.png
│ │ ├── codeql-for-visual-studio-code
│ │ │ ├── choose-database.png
│ │ │ ├── explore-ast.png
│ │ │ ├── open-extension-settings.png
│ │ │ ├── open-source-file.png
│ │ │ ├── open-test-explorer.png
│ │ │ ├── query-history.png
│ │ │ ├── run-multiple-queries.png
│ │ │ ├── select-logs.png
│ │ │ └── show-test-diff.png
│ │ ├── monotonic-aggregates-graph.png
│ │ ├── python-flow-graph.png
│ │ ├── ql-select-statement-basic.png
│ │ ├── ql-select-statement-filename.png
│ │ ├── ql-select-statement-similarity.png
│ │ ├── query-metadata.png
│ │ ├── query-progress.png
│ │ └── site
│ │ │ └── favicon.ico
│ ├── index.html
│ ├── ql-language-reference
│ │ ├── .gitignore
│ │ ├── about-the-ql-language.rst
│ │ ├── aliases.rst
│ │ ├── annotations.rst
│ │ ├── evaluation-of-ql-programs.rst
│ │ ├── expressions.rst
│ │ ├── formulas.rst
│ │ ├── index.rst
│ │ ├── lexical-syntax.rst
│ │ ├── modules.rst
│ │ ├── name-resolution.rst
│ │ ├── predicates.rst
│ │ ├── ql-language-specification.rst
│ │ ├── queries.rst
│ │ ├── recursion.rst
│ │ ├── types.rst
│ │ └── variables.rst
│ ├── ql-training
│ │ ├── _static-training
│ │ │ ├── alternative-slide.svg
│ │ │ ├── analysis-overview.png
│ │ │ ├── curiosity.png
│ │ │ ├── curiosity2.png
│ │ │ ├── end-slide.svg
│ │ │ ├── java-data-flow-code-example.svg
│ │ │ ├── java-expression-ast.svg
│ │ │ ├── mismatched-calls-and-returns.svg
│ │ │ ├── normal-slide.svg
│ │ │ ├── setup-slide.svg
│ │ │ ├── slides-semmle-2
│ │ │ │ ├── end_slide.html
│ │ │ │ ├── layout.html
│ │ │ │ ├── slide.html
│ │ │ │ ├── static
│ │ │ │ │ ├── config.rb
│ │ │ │ │ ├── js
│ │ │ │ │ │ ├── hammer.js
│ │ │ │ │ │ ├── modernizr.custom.45394.js
│ │ │ │ │ │ ├── order.js
│ │ │ │ │ │ ├── polyfills
│ │ │ │ │ │ │ ├── classList.min.js
│ │ │ │ │ │ │ ├── dataset.min.js
│ │ │ │ │ │ │ └── history.min.js
│ │ │ │ │ │ ├── prettify
│ │ │ │ │ │ │ ├── lang-apollo.js
│ │ │ │ │ │ │ ├── lang-clj.js
│ │ │ │ │ │ │ ├── lang-css.js
│ │ │ │ │ │ │ ├── lang-go.js
│ │ │ │ │ │ │ ├── lang-hs.js
│ │ │ │ │ │ │ ├── lang-lisp.js
│ │ │ │ │ │ │ ├── lang-lua.js
│ │ │ │ │ │ │ ├── lang-ml.js
│ │ │ │ │ │ │ ├── lang-n.js
│ │ │ │ │ │ │ ├── lang-proto.js
│ │ │ │ │ │ │ ├── lang-scala.js
│ │ │ │ │ │ │ ├── lang-sql.js
│ │ │ │ │ │ │ ├── lang-tex.js
│ │ │ │ │ │ │ ├── lang-vb.js
│ │ │ │ │ │ │ ├── lang-vhdl.js
│ │ │ │ │ │ │ ├── lang-wiki.js
│ │ │ │ │ │ │ ├── lang-xq.js
│ │ │ │ │ │ │ ├── lang-yaml.js
│ │ │ │ │ │ │ ├── prettify.css
│ │ │ │ │ │ │ └── prettify.js
│ │ │ │ │ │ ├── require-1.0.8.min.js
│ │ │ │ │ │ ├── slide-controller.js
│ │ │ │ │ │ ├── slide-deck-instantiate.js
│ │ │ │ │ │ ├── slide-deck.js
│ │ │ │ │ │ ├── slide-testing.js
│ │ │ │ │ │ └── slides.js
│ │ │ │ │ ├── slide_config.js
│ │ │ │ │ ├── slide_config.js_t
│ │ │ │ │ └── theme
│ │ │ │ │ │ ├── css
│ │ │ │ │ │ ├── default.css
│ │ │ │ │ │ ├── hieroglyph.css
│ │ │ │ │ │ ├── io2013.css
│ │ │ │ │ │ └── phone.css
│ │ │ │ │ │ └── scss
│ │ │ │ │ │ ├── _base.scss
│ │ │ │ │ │ ├── _variables.scss
│ │ │ │ │ │ ├── default.scss
│ │ │ │ │ │ ├── hieroglyph.scss
│ │ │ │ │ │ ├── io2013.scss
│ │ │ │ │ │ └── phone.scss
│ │ │ │ ├── theme.conf
│ │ │ │ └── title_slide.html
│ │ │ └── title-slide.svg
│ │ ├── conf.py
│ │ ├── cpp
│ │ │ ├── bad-overflow-guard.rst
│ │ │ ├── control-flow-cpp.rst
│ │ │ ├── data-flow-cpp.rst
│ │ │ ├── global-data-flow-cpp.rst
│ │ │ ├── intro-ql-cpp.rst
│ │ │ ├── program-representation-cpp.rst
│ │ │ └── snprintf.rst
│ │ ├── index.rst
│ │ ├── java
│ │ │ ├── apache-struts-java.rst
│ │ │ ├── data-flow-java.rst
│ │ │ ├── global-data-flow-java.rst
│ │ │ ├── intro-ql-java.rst
│ │ │ ├── program-representation-java.rst
│ │ │ └── query-injection-java.rst
│ │ ├── query-examples
│ │ │ ├── cpp
│ │ │ │ ├── bad-overflow-guard-1.ql
│ │ │ │ ├── bad-overflow-guard-2.ql
│ │ │ │ ├── bad-overflow-guard-3.ql
│ │ │ │ ├── control-flow-cpp-1.ql
│ │ │ │ ├── control-flow-cpp-2.ql
│ │ │ │ ├── control-flow-cpp-3.ql
│ │ │ │ ├── control-flow-cpp-4.ql
│ │ │ │ ├── control-flow-cpp-5.ql
│ │ │ │ ├── data-flow-cpp-1.ql
│ │ │ │ ├── data-flow-cpp-2.ql
│ │ │ │ ├── empty-if-cpp-class.ql
│ │ │ │ ├── empty-if-cpp-model.ql
│ │ │ │ ├── empty-if-cpp-predicate.ql
│ │ │ │ ├── empty-if-cpp.ql
│ │ │ │ ├── global-data-flow-cpp-1.ql
│ │ │ │ └── snprintf-1.ql
│ │ │ └── java
│ │ │ │ ├── data-flow-java-1.ql
│ │ │ │ ├── data-flow-java-2.ql
│ │ │ │ ├── empty-if-java-class.ql
│ │ │ │ ├── empty-if-java-model.ql
│ │ │ │ ├── empty-if-java-predicate.ql
│ │ │ │ ├── empty-if-java.ql
│ │ │ │ ├── global-data-flow-java-1.ql
│ │ │ │ ├── query-injection-java-1.ql
│ │ │ │ ├── query-injection-java-2.ql
│ │ │ │ └── query-injection-java-3.ql
│ │ ├── slide-snippets
│ │ │ ├── abstract-syntax-tree.rst
│ │ │ ├── database-note.rst
│ │ │ ├── global-data-flow-extra-slides.rst
│ │ │ ├── global-data-flow.rst
│ │ │ ├── intro-ql-general.rst
│ │ │ ├── local-data-flow.rst
│ │ │ └── path-queries.rst
│ │ └── template.rst
│ ├── qllexer.py
│ ├── query-help
│ │ ├── codeql-cwe-coverage.md
│ │ ├── conf.py
│ │ ├── cpp.rst
│ │ ├── csharp.rst
│ │ ├── go.rst
│ │ ├── index.rst
│ │ ├── java.rst
│ │ ├── javascript.rst
│ │ ├── python.rst
│ │ └── readme.md
│ ├── reusables
│ │ ├── abstract-syntax-tree.rst
│ │ ├── advanced-query-execution.rst
│ │ ├── codeql-cli-overview.rst
│ │ ├── codeql-ref-tools-further-reading.rst
│ │ ├── cpp-further-reading.rst
│ │ ├── csharp-further-reading.rst
│ │ ├── download-lgtm-database.rst
│ │ ├── extractors.rst
│ │ ├── go-further-reading.rst
│ │ ├── index-files-note.rst
│ │ ├── java-further-reading.rst
│ │ ├── javascript-further-reading.rst
│ │ ├── license-note.rst
│ │ ├── path-problem.rst
│ │ ├── python-further-reading.rst
│ │ ├── query-help-overview.rst
│ │ ├── running-queries-debug.rst
│ │ ├── test-qlpack.rst
│ │ └── threads-query-execution.rst
│ ├── support
│ │ ├── conf.py
│ │ ├── framework-support.rst
│ │ ├── index.rst
│ │ ├── language-support.rst
│ │ ├── notes-ql-users.rst
│ │ ├── ql-training.rst
│ │ ├── read-me-project.rst
│ │ └── reusables
│ │ │ ├── frameworks.rst
│ │ │ └── versions-compilers.rst
│ ├── vale-styles
│ │ ├── Microsoft
│ │ │ ├── AMPM.yml
│ │ │ ├── Accessibility.yml
│ │ │ ├── Acronyms.yml
│ │ │ ├── Adverbs.yml
│ │ │ ├── Auto.yml
│ │ │ ├── Avoid.yml
│ │ │ ├── Backend.yml
│ │ │ ├── ComplexWords.yml
│ │ │ ├── Contractions.yml
│ │ │ ├── Dashes.yml
│ │ │ ├── DateFormat.yml
│ │ │ ├── DateNumbers.yml
│ │ │ ├── DateOrder.yml
│ │ │ ├── Ellipses.yml
│ │ │ ├── FirstPerson.yml
│ │ │ ├── Foreign.yml
│ │ │ ├── Gender.yml
│ │ │ ├── GenderBias.yml
│ │ │ ├── GeneralURL.yml
│ │ │ ├── HeadingAcronyms.yml
│ │ │ ├── HeadingColons.yml
│ │ │ ├── HeadingPunctuation.yml
│ │ │ ├── Headings.yml
│ │ │ ├── Hyphens.yml
│ │ │ ├── Negative.yml
│ │ │ ├── Ordinal.yml
│ │ │ ├── OxfordComma.yml
│ │ │ ├── Passive.yml
│ │ │ ├── Percentages.yml
│ │ │ ├── Quotes.yml
│ │ │ ├── RangeFormat.yml
│ │ │ ├── RangeTime.yml
│ │ │ ├── Ranges.yml
│ │ │ ├── Semicolon.yml
│ │ │ ├── SentenceLength.yml
│ │ │ ├── Spacing.yml
│ │ │ ├── Suspended.yml
│ │ │ ├── Terms.yml
│ │ │ ├── URLFormat.yml
│ │ │ ├── Units.yml
│ │ │ ├── Vocab.yml
│ │ │ ├── We.yml
│ │ │ ├── Wordiness.yml
│ │ │ ├── meta.json
│ │ │ └── vocab.txt
│ │ ├── README.md
│ │ └── Semmle
│ │ │ ├── Headings.yml
│ │ │ ├── Spelling.yml
│ │ │ └── ignore.txt
│ └── writing-codeql-queries
│ │ ├── about-codeql-queries.rst
│ │ ├── about-data-flow-analysis.rst
│ │ ├── catch-the-fire-starter.rst
│ │ ├── codeql-queries.rst
│ │ ├── creating-path-queries.rst
│ │ ├── cross-the-river.rst
│ │ ├── crown-the-rightful-heir.rst
│ │ ├── defining-the-results-of-a-query.rst
│ │ ├── find-the-thief.rst
│ │ ├── index.rst
│ │ ├── introduction-to-ql.rst
│ │ ├── metadata-for-codeql-queries.rst
│ │ ├── providing-locations-in-codeql-queries.rst
│ │ ├── ql-tutorials.rst
│ │ ├── query-help-files.rst
│ │ ├── river-crossing-1.ql
│ │ ├── river-crossing.ql
│ │ └── troubleshooting-query-performance.rst
├── experimental.md
├── pre-commit-hook-setup.md
├── ql-design-patterns.md
├── ql-libraries
│ └── dataflow
│ │ └── dataflow.md
├── ql-style-guide.md
├── qldoc-style-guide.md
├── query-classification-and-display.md
├── query-help-style-guide.md
├── query-metadata-style-guide.md
└── supported-queries.md
├── java
├── change-notes
│ ├── 2020-05-21-mongodb-sql-injection-sinks.md
│ ├── 2020-05-21-websocket-taintsource.md
│ ├── 2020-06-30-jooq-sql-injection-sinks.md
│ ├── 2020-07-03-more-pathcreations.md
│ ├── 2020-07-09-untrusted-data-to-external-api.md
│ ├── 2020-07-13-stacktraceexposure-fp-fix.md
│ ├── 2020-08-11-printwriter-format-xss-sink.md
│ ├── 2020-08-14-dataflow-dispatch-instance-arg-ctx.md
│ ├── 2020-08-17-string-formatted.md
│ ├── 2020-08-24-records-flow.md
│ ├── 2020-08-31-extensible-security-queries.md
│ ├── 2020-09-08-blockstmt.md
│ ├── 2020-09-17-exectainted-array.md
│ ├── 2020-09-21-jhipster-gen-prng-query.md
│ ├── 2020-09-22-hibernate-sql-sinks.md
│ ├── 2020-09-23-spring-multipart-request-sources.md
│ ├── 2020-10-03-android-intent-taintsource.md
│ ├── 2020-10-07-fastjson-deserialization-sink.md
│ ├── 2020-10-16-guava-flow-steps.md
│ ├── 2020-10-27-insecure-bean-validation.md
│ ├── 2020-11-04-commonslang-unsafe-deserialization-sinks.md
│ ├── 2020-12-09-xxe-fp-fix.md
│ ├── 2021-01-12-unsafe-hostname-verification.md
│ ├── 2021-01-14-java-15-support.md
│ ├── 2021-01-19-struts-xml-extraction.md
│ ├── 2021-02-09-commons-string-utils.md
│ ├── 2021-02-15-commons-array-utils.md
│ ├── 2021-02-15-snakeyaml-fn-fix.md
│ ├── 2021-02-17-apache-http.md
│ ├── 2021-02-23-deprecated-jcenter-bintray.md
│ ├── 2021-03-01-fluent-interface-data-flow.md
│ ├── 2021-03-02-apache-text-misc.md
│ ├── 2021-03-02-guava-io.md
│ ├── 2021-03-05-commons-lang-randomutils.md
│ ├── 2021-03-05-commons-object-utils.md
│ ├── 2021-03-05-play-framework.md
│ ├── 2021-03-05-regex-utils.md
│ ├── 2021-03-23-guava-collections-and-preconditions.md
│ ├── 2021-03-25-remove-legacy-code-duplication-library.md
│ └── 2021-03-25-remove-legacy-filter-queries.md
├── config
│ └── suites
│ │ └── lgtm
│ │ ├── java-alerts-lgtm
│ │ ├── java-lgtm
│ │ ├── java-metrics-lgtm
│ │ └── java-queries-lgtm
├── ql
│ ├── examples
│ │ ├── qlpack.yml
│ │ ├── queries.xml
│ │ └── snippets
│ │ │ ├── arrayaccess.ql
│ │ │ ├── castexpr.ql
│ │ │ ├── catch_exception.ql
│ │ │ ├── constructor_call.ql
│ │ │ ├── emptyblock.ql
│ │ │ ├── emptythen.ql
│ │ │ ├── eq_true.ql
│ │ │ ├── extend_class.ql
│ │ │ ├── field_read.ql
│ │ │ ├── integer_literal.ql
│ │ │ ├── method_call.ql
│ │ │ ├── mutualrecursion.ql
│ │ │ ├── nativemethod.ql
│ │ │ ├── null_argument.ql
│ │ │ ├── override_method.ql
│ │ │ ├── qualifiedthis.ql
│ │ │ ├── returnstatement.ql
│ │ │ ├── singletonblock.ql
│ │ │ ├── switchcase.ql
│ │ │ ├── synchronizedmethod.ql
│ │ │ ├── ternaryconditional.ql
│ │ │ ├── throw_exception.ql
│ │ │ ├── todocomment.ql
│ │ │ ├── toomanyparams.ql
│ │ │ ├── tryfinally.ql
│ │ │ ├── unusedlocalvar.ql
│ │ │ ├── unusedmethod.ql
│ │ │ ├── unusedparam.ql
│ │ │ ├── voidreturntype.ql
│ │ │ └── volatilefield.ql
│ ├── src
│ │ ├── .project
│ │ ├── .qlpath
│ │ ├── .settings
│ │ │ └── org.eclipse.jdt.core.prefs
│ │ ├── .vs
│ │ │ └── VSWorkspaceSettings.json
│ │ ├── Advisory
│ │ │ ├── Declarations
│ │ │ │ ├── MissingOverrideAnnotation.java
│ │ │ │ ├── MissingOverrideAnnotation.qhelp
│ │ │ │ ├── MissingOverrideAnnotation.ql
│ │ │ │ ├── NonFinalImmutableField.qhelp
│ │ │ │ ├── NonFinalImmutableField.ql
│ │ │ │ ├── NonPrivateField.qhelp
│ │ │ │ └── NonPrivateField.ql
│ │ │ ├── Deprecated Code
│ │ │ │ ├── AvoidDeprecatedCallableAccess.qhelp
│ │ │ │ └── AvoidDeprecatedCallableAccess.ql
│ │ │ ├── Documentation
│ │ │ │ ├── ImpossibleJavadocThrows.java
│ │ │ │ ├── ImpossibleJavadocThrows.qhelp
│ │ │ │ ├── ImpossibleJavadocThrows.ql
│ │ │ │ ├── ImpossibleJavadocThrowsFix.java
│ │ │ │ ├── JavadocCommon.qll
│ │ │ │ ├── MissingJavadocMethods.java
│ │ │ │ ├── MissingJavadocMethods.qhelp
│ │ │ │ ├── MissingJavadocMethods.ql
│ │ │ │ ├── MissingJavadocParameters.qhelp
│ │ │ │ ├── MissingJavadocParameters.ql
│ │ │ │ ├── MissingJavadocReturnValues.qhelp
│ │ │ │ ├── MissingJavadocReturnValues.ql
│ │ │ │ ├── MissingJavadocThrows.qhelp
│ │ │ │ ├── MissingJavadocThrows.ql
│ │ │ │ ├── MissingJavadocTypes.java
│ │ │ │ ├── MissingJavadocTypes.qhelp
│ │ │ │ ├── MissingJavadocTypes.ql
│ │ │ │ ├── SpuriousJavadocParam.java
│ │ │ │ ├── SpuriousJavadocParam.qhelp
│ │ │ │ └── SpuriousJavadocParam.ql
│ │ │ ├── Java Objects
│ │ │ │ ├── AvoidCloneMethodAccess.qhelp
│ │ │ │ ├── AvoidCloneMethodAccess.ql
│ │ │ │ ├── AvoidCloneOverride.qhelp
│ │ │ │ ├── AvoidCloneOverride.ql
│ │ │ │ ├── AvoidCloneableInterface.java
│ │ │ │ ├── AvoidCloneableInterface.qhelp
│ │ │ │ ├── AvoidCloneableInterface.ql
│ │ │ │ ├── AvoidFinalizeOverride.qhelp
│ │ │ │ └── AvoidFinalizeOverride.ql
│ │ │ ├── Naming
│ │ │ │ ├── NamingConventionsCommon.qll
│ │ │ │ ├── NamingConventionsConstants.qhelp
│ │ │ │ ├── NamingConventionsConstants.ql
│ │ │ │ ├── NamingConventionsMethods.qhelp
│ │ │ │ ├── NamingConventionsMethods.ql
│ │ │ │ ├── NamingConventionsPackages.qhelp
│ │ │ │ ├── NamingConventionsPackages.ql
│ │ │ │ ├── NamingConventionsRefTypes.qhelp
│ │ │ │ ├── NamingConventionsRefTypes.ql
│ │ │ │ ├── NamingConventionsVariables.qhelp
│ │ │ │ └── NamingConventionsVariables.ql
│ │ │ ├── Statements
│ │ │ │ ├── MissingDefaultInSwitch.java
│ │ │ │ ├── MissingDefaultInSwitch.qhelp
│ │ │ │ ├── MissingDefaultInSwitch.ql
│ │ │ │ ├── MissingDefaultInSwitchGood.java
│ │ │ │ ├── OneStatementPerLine.qhelp
│ │ │ │ ├── OneStatementPerLine.ql
│ │ │ │ ├── TerminateIfElseIfWithElse.java
│ │ │ │ ├── TerminateIfElseIfWithElse.qhelp
│ │ │ │ ├── TerminateIfElseIfWithElse.ql
│ │ │ │ └── TerminateIfElseIfWithElseGood.java
│ │ │ └── Types
│ │ │ │ ├── GenericsConstructor.qhelp
│ │ │ │ ├── GenericsConstructor.ql
│ │ │ │ ├── GenericsReturnType.qhelp
│ │ │ │ ├── GenericsReturnType.ql
│ │ │ │ ├── GenericsVariable.qhelp
│ │ │ │ ├── GenericsVariable.ql
│ │ │ │ ├── Generics_Common.inc.qhelp
│ │ │ │ ├── Generics_Common.java
│ │ │ │ └── Generics_CommonGood.java
│ │ ├── AlertSuppression.ql
│ │ ├── AlertSuppressionAnnotations.ql
│ │ ├── Architecture
│ │ │ ├── Dependencies
│ │ │ │ ├── MutualDependency.java
│ │ │ │ ├── MutualDependency.qhelp
│ │ │ │ ├── MutualDependency.ql
│ │ │ │ ├── MutualDependencyFix.java
│ │ │ │ ├── UnusedMavenDependencies.qll
│ │ │ │ ├── UnusedMavenDependency.inc.qhelp
│ │ │ │ ├── UnusedMavenDependencyBinary.qhelp
│ │ │ │ ├── UnusedMavenDependencyBinary.ql
│ │ │ │ ├── UnusedMavenDependencySource.qhelp
│ │ │ │ └── UnusedMavenDependencySource.ql
│ │ │ └── Refactoring Opportunities
│ │ │ │ ├── DeeplyNestedClass.java
│ │ │ │ ├── DeeplyNestedClass.qhelp
│ │ │ │ ├── DeeplyNestedClass.ql
│ │ │ │ ├── DeeplyNestedClassFix.java
│ │ │ │ ├── FeatureEnvy.java
│ │ │ │ ├── FeatureEnvy.qhelp
│ │ │ │ ├── FeatureEnvy.ql
│ │ │ │ ├── HubClasses.qhelp
│ │ │ │ ├── HubClasses.ql
│ │ │ │ ├── InappropriateIntimacy.qhelp
│ │ │ │ └── InappropriateIntimacy.ql
│ │ ├── Compatibility
│ │ │ └── JDK9
│ │ │ │ ├── JdkInternalAccess.qhelp
│ │ │ │ ├── JdkInternalAccess.ql
│ │ │ │ ├── JdkInternals.qll
│ │ │ │ ├── JdkInternalsReplacement.qll
│ │ │ │ ├── UnderscoreIdentifier.qhelp
│ │ │ │ └── UnderscoreIdentifier.ql
│ │ ├── Complexity
│ │ │ ├── BlockWithTooManyStatements.qhelp
│ │ │ ├── BlockWithTooManyStatements.ql
│ │ │ ├── ComplexCondition.java
│ │ │ ├── ComplexCondition.qhelp
│ │ │ ├── ComplexCondition.ql
│ │ │ └── ComplexConditionGood.java
│ │ ├── Customizations.qll
│ │ ├── DeadCode
│ │ │ ├── DeadClass.java
│ │ │ ├── DeadClass.qhelp
│ │ │ ├── DeadClass.ql
│ │ │ ├── DeadCodeDetails.inc.qhelp
│ │ │ ├── DeadCodeExtraEntryPoints.inc.qhelp
│ │ │ ├── DeadCodeReferences.inc.qhelp
│ │ │ ├── DeadCodeSummary.inc.qhelp
│ │ │ ├── DeadEnumConstant.java
│ │ │ ├── DeadEnumConstant.qhelp
│ │ │ ├── DeadEnumConstant.ql
│ │ │ ├── DeadField.java
│ │ │ ├── DeadField.qhelp
│ │ │ ├── DeadField.ql
│ │ │ ├── DeadFieldSerialized.java
│ │ │ ├── DeadFieldWrittenTo.java
│ │ │ ├── DeadMethod.java
│ │ │ ├── DeadMethod.qhelp
│ │ │ ├── DeadMethod.ql
│ │ │ ├── DeadMethodTest.java
│ │ │ ├── FLinesOfDeadCode.qhelp
│ │ │ ├── FLinesOfDeadCode.ql
│ │ │ ├── NamespaceClass.java
│ │ │ ├── NamespaceClass2.java
│ │ │ ├── UselessParameter.java
│ │ │ ├── UselessParameter.qhelp
│ │ │ └── UselessParameter.ql
│ │ ├── Frameworks
│ │ │ ├── JavaEE
│ │ │ │ └── EJB
│ │ │ │ │ ├── EjbContainerInterference.qhelp
│ │ │ │ │ ├── EjbContainerInterference.ql
│ │ │ │ │ ├── EjbFileIO.qhelp
│ │ │ │ │ ├── EjbFileIO.ql
│ │ │ │ │ ├── EjbGraphics.qhelp
│ │ │ │ │ ├── EjbGraphics.ql
│ │ │ │ │ ├── EjbNative.qhelp
│ │ │ │ │ ├── EjbNative.ql
│ │ │ │ │ ├── EjbReflection.qhelp
│ │ │ │ │ ├── EjbReflection.ql
│ │ │ │ │ ├── EjbSecurityConfiguration.qhelp
│ │ │ │ │ ├── EjbSecurityConfiguration.ql
│ │ │ │ │ ├── EjbSerialization.qhelp
│ │ │ │ │ ├── EjbSerialization.ql
│ │ │ │ │ ├── EjbSetSocketOrUrlFactory.qhelp
│ │ │ │ │ ├── EjbSetSocketOrUrlFactory.ql
│ │ │ │ │ ├── EjbSocketAsServer.qhelp
│ │ │ │ │ ├── EjbSocketAsServer.ql
│ │ │ │ │ ├── EjbStaticFieldNonFinal.qhelp
│ │ │ │ │ ├── EjbStaticFieldNonFinal.ql
│ │ │ │ │ ├── EjbSynchronization.qhelp
│ │ │ │ │ ├── EjbSynchronization.ql
│ │ │ │ │ ├── EjbThis.qhelp
│ │ │ │ │ ├── EjbThis.ql
│ │ │ │ │ ├── EjbThreads.qhelp
│ │ │ │ │ └── EjbThreads.ql
│ │ │ └── Spring
│ │ │ │ ├── Architecture
│ │ │ │ └── Refactoring Opportunities
│ │ │ │ │ ├── MissingParentBean.qhelp
│ │ │ │ │ ├── MissingParentBean.ql
│ │ │ │ │ ├── MissingParentBean.xml
│ │ │ │ │ ├── MissingParentBeanGood.xml
│ │ │ │ │ ├── TooManyBeans.qhelp
│ │ │ │ │ ├── TooManyBeans.ql
│ │ │ │ │ ├── TooManyBeans.xml
│ │ │ │ │ ├── UnusedBean.java
│ │ │ │ │ ├── UnusedBean.qhelp
│ │ │ │ │ ├── UnusedBean.ql
│ │ │ │ │ ├── UnusedBean.xml
│ │ │ │ │ ├── UselessPropertyOverride.qhelp
│ │ │ │ │ ├── UselessPropertyOverride.ql
│ │ │ │ │ └── UselessPropertyOverride.xml
│ │ │ │ ├── Violations of Best Practice
│ │ │ │ ├── AvoidAutowiring.qhelp
│ │ │ │ ├── AvoidAutowiring.ql
│ │ │ │ ├── AvoidAutowiring.xml
│ │ │ │ ├── DontUseConstructorArgIndex.qhelp
│ │ │ │ ├── DontUseConstructorArgIndex.ql
│ │ │ │ ├── DontUseConstructorArgIndex.xml
│ │ │ │ ├── ImportsFirst.qhelp
│ │ │ │ ├── ImportsFirst.ql
│ │ │ │ ├── ImportsFirst.xml
│ │ │ │ ├── NoBeanDescription.qhelp
│ │ │ │ ├── NoBeanDescription.ql
│ │ │ │ ├── NoBeanDescription.xml
│ │ │ │ ├── ParentShouldNotUseAbstractClass.qhelp
│ │ │ │ ├── ParentShouldNotUseAbstractClass.ql
│ │ │ │ ├── ParentShouldNotUseAbstractClass.xml
│ │ │ │ ├── UseIdInsteadOfName.qhelp
│ │ │ │ ├── UseIdInsteadOfName.ql
│ │ │ │ ├── UseIdInsteadOfName.xml
│ │ │ │ ├── UseLocalRef.qhelp
│ │ │ │ ├── UseLocalRef.ql
│ │ │ │ ├── UseLocalRef.xml
│ │ │ │ ├── UseSetterInjection.java
│ │ │ │ ├── UseSetterInjection.qhelp
│ │ │ │ ├── UseSetterInjection.ql
│ │ │ │ ├── UseSetterInjection.xml
│ │ │ │ ├── UseSetterInjectionGood.java
│ │ │ │ ├── UseSetterInjectionGood.xml
│ │ │ │ ├── UseShortcutForms.qhelp
│ │ │ │ ├── UseShortcutForms.ql
│ │ │ │ └── UseShortcutForms.xml
│ │ │ │ └── XML Configuration Errors
│ │ │ │ ├── MissingSetters.java
│ │ │ │ ├── MissingSetters.qhelp
│ │ │ │ ├── MissingSetters.ql
│ │ │ │ └── MissingSetters.xml
│ │ ├── IDEContextual.qll
│ │ ├── Language Abuse
│ │ │ ├── CastThisToTypeParameter.java
│ │ │ ├── CastThisToTypeParameter.qhelp
│ │ │ ├── CastThisToTypeParameter.ql
│ │ │ ├── CastThisToTypeParameterFix.java
│ │ │ ├── ChainedInstanceof.java
│ │ │ ├── ChainedInstanceof.qhelp
│ │ │ ├── ChainedInstanceof.ql
│ │ │ ├── DubiousDowncastOfThis.java
│ │ │ ├── DubiousDowncastOfThis.qhelp
│ │ │ ├── DubiousDowncastOfThis.ql
│ │ │ ├── DubiousTypeTestOfThis.java
│ │ │ ├── DubiousTypeTestOfThis.qhelp
│ │ │ ├── DubiousTypeTestOfThis.ql
│ │ │ ├── EmptyStatement.java
│ │ │ ├── EmptyStatement.qhelp
│ │ │ ├── EmptyStatement.ql
│ │ │ ├── EnumIdentifier.java
│ │ │ ├── EnumIdentifier.qhelp
│ │ │ ├── EnumIdentifier.ql
│ │ │ ├── ImplementsAnnotation.java
│ │ │ ├── ImplementsAnnotation.qhelp
│ │ │ ├── ImplementsAnnotation.ql
│ │ │ ├── ImplementsAnnotationGood.java
│ │ │ ├── IterableClass.qll
│ │ │ ├── IterableIterator.qhelp
│ │ │ ├── IterableIterator.ql
│ │ │ ├── IterableIteratorBad.java
│ │ │ ├── IterableIteratorGood1.java
│ │ │ ├── IterableIteratorGood2.java
│ │ │ ├── IterableOverview.inc.qhelp
│ │ │ ├── MissedTernaryOpportunity.java
│ │ │ ├── MissedTernaryOpportunity.qhelp
│ │ │ ├── MissedTernaryOpportunity.ql
│ │ │ ├── OverridePackagePrivate.java
│ │ │ ├── OverridePackagePrivate.qhelp
│ │ │ ├── OverridePackagePrivate.ql
│ │ │ ├── TypeVarExtendsFinalType.java
│ │ │ ├── TypeVarExtendsFinalType.qhelp
│ │ │ ├── TypeVarExtendsFinalType.ql
│ │ │ ├── TypeVariableHidesType.java
│ │ │ ├── TypeVariableHidesType.qhelp
│ │ │ ├── TypeVariableHidesType.ql
│ │ │ ├── UselessNullCheck.qhelp
│ │ │ ├── UselessNullCheck.ql
│ │ │ ├── UselessNullCheckBad.java
│ │ │ ├── UselessTypeTest.java
│ │ │ ├── UselessTypeTest.qhelp
│ │ │ ├── UselessTypeTest.ql
│ │ │ ├── UselessUpcast.java
│ │ │ ├── UselessUpcast.qhelp
│ │ │ ├── UselessUpcast.ql
│ │ │ ├── WrappedIterator.qhelp
│ │ │ ├── WrappedIterator.ql
│ │ │ ├── WrappedIteratorBad1.java
│ │ │ ├── WrappedIteratorBad2.java
│ │ │ └── WrappedIteratorGood.java
│ │ ├── Likely Bugs
│ │ │ ├── Arithmetic
│ │ │ │ ├── BadAbsOfRandom.java
│ │ │ │ ├── BadAbsOfRandom.qhelp
│ │ │ │ ├── BadAbsOfRandom.ql
│ │ │ │ ├── BadCheckOdd.java
│ │ │ │ ├── BadCheckOdd.qhelp
│ │ │ │ ├── BadCheckOdd.ql
│ │ │ │ ├── BadCheckOddGood.java
│ │ │ │ ├── CondExprTypes.java
│ │ │ │ ├── CondExprTypes.qhelp
│ │ │ │ ├── CondExprTypes.ql
│ │ │ │ ├── ConstantExpAppearsNonConstant.java
│ │ │ │ ├── ConstantExpAppearsNonConstant.qhelp
│ │ │ │ ├── ConstantExpAppearsNonConstant.ql
│ │ │ │ ├── ConstantExpAppearsNonConstantGood.java
│ │ │ │ ├── InformationLoss.qhelp
│ │ │ │ ├── InformationLoss.ql
│ │ │ │ ├── IntMultToLong.java
│ │ │ │ ├── IntMultToLong.qhelp
│ │ │ │ ├── IntMultToLong.ql
│ │ │ │ ├── IntMultToLongGood.java
│ │ │ │ ├── LShiftLargerThanTypeWidth.java
│ │ │ │ ├── LShiftLargerThanTypeWidth.qhelp
│ │ │ │ ├── LShiftLargerThanTypeWidth.ql
│ │ │ │ ├── LShiftLargerThanTypeWidthGood.java
│ │ │ │ ├── MultiplyRemainder.qhelp
│ │ │ │ ├── MultiplyRemainder.ql
│ │ │ │ ├── OctalLiteral.java
│ │ │ │ ├── OctalLiteral.qhelp
│ │ │ │ ├── OctalLiteral.ql
│ │ │ │ ├── RandomUsedOnce.java
│ │ │ │ ├── RandomUsedOnce.qhelp
│ │ │ │ ├── RandomUsedOnce.ql
│ │ │ │ ├── WhitespaceContradictsPrecedence.qhelp
│ │ │ │ └── WhitespaceContradictsPrecedence.ql
│ │ │ ├── Cloning
│ │ │ │ ├── MissingCallToSuperClone.qhelp
│ │ │ │ ├── MissingCallToSuperClone.ql
│ │ │ │ ├── MissingCallToSuperCloneBad.java
│ │ │ │ ├── MissingCallToSuperCloneGood.java
│ │ │ │ ├── MissingCloneDetails.inc.qhelp
│ │ │ │ ├── MissingMethodClone.qhelp
│ │ │ │ ├── MissingMethodClone.ql
│ │ │ │ ├── MissingMethodCloneBad.java
│ │ │ │ └── MissingMethodCloneGood.java
│ │ │ ├── Collections
│ │ │ │ ├── ArrayIndexOutOfBounds.qhelp
│ │ │ │ ├── ArrayIndexOutOfBounds.ql
│ │ │ │ ├── ArrayIndexOutOfBoundsBad.java
│ │ │ │ ├── ArrayIndexOutOfBoundsGood.java
│ │ │ │ ├── Containers.qll
│ │ │ │ ├── ContainsTypeMismatch.java
│ │ │ │ ├── ContainsTypeMismatch.qhelp
│ │ │ │ ├── ContainsTypeMismatch.ql
│ │ │ │ ├── ContainsTypeMismatch2.java
│ │ │ │ ├── IteratorRemoveMayFail.java
│ │ │ │ ├── IteratorRemoveMayFail.qhelp
│ │ │ │ ├── IteratorRemoveMayFail.ql
│ │ │ │ ├── IteratorRemoveMayFailGood.java
│ │ │ │ ├── ReadOnlyContainer.java
│ │ │ │ ├── ReadOnlyContainer.qhelp
│ │ │ │ ├── ReadOnlyContainer.ql
│ │ │ │ ├── RemoveTypeMismatch.java
│ │ │ │ ├── RemoveTypeMismatch.qhelp
│ │ │ │ ├── RemoveTypeMismatch.ql
│ │ │ │ ├── RemoveTypeMismatch2.java
│ │ │ │ ├── WriteOnlyContainer.java
│ │ │ │ ├── WriteOnlyContainer.qhelp
│ │ │ │ ├── WriteOnlyContainer.ql
│ │ │ │ └── WriteOnlyContainerGood.java
│ │ │ ├── Comparison
│ │ │ │ ├── BitwiseSignCheck.java
│ │ │ │ ├── BitwiseSignCheck.qhelp
│ │ │ │ ├── BitwiseSignCheck.ql
│ │ │ │ ├── BitwiseSignCheckGood.java
│ │ │ │ ├── CompareIdenticalValues.java
│ │ │ │ ├── CompareIdenticalValues.qhelp
│ │ │ │ ├── CompareIdenticalValues.ql
│ │ │ │ ├── CovariantCompareTo.java
│ │ │ │ ├── CovariantCompareTo.qhelp
│ │ │ │ ├── CovariantCompareTo.ql
│ │ │ │ ├── CovariantEquals.java
│ │ │ │ ├── CovariantEquals.qhelp
│ │ │ │ ├── CovariantEquals.ql
│ │ │ │ ├── DefineEqualsWhenAddingFields.java
│ │ │ │ ├── DefineEqualsWhenAddingFields.qhelp
│ │ │ │ ├── DefineEqualsWhenAddingFields.ql
│ │ │ │ ├── Equality.qll
│ │ │ │ ├── EqualsArray.java
│ │ │ │ ├── EqualsArray.qhelp
│ │ │ │ ├── EqualsArray.ql
│ │ │ │ ├── EqualsUsesInstanceOf.java
│ │ │ │ ├── EqualsUsesInstanceOf.qhelp
│ │ │ │ ├── EqualsUsesInstanceOf.ql
│ │ │ │ ├── HashedButNoHash.java
│ │ │ │ ├── HashedButNoHash.qhelp
│ │ │ │ ├── HashedButNoHash.ql
│ │ │ │ ├── HashedButNoHashBad.java
│ │ │ │ ├── IncomparableEquals.java
│ │ │ │ ├── IncomparableEquals.qhelp
│ │ │ │ ├── IncomparableEquals.ql
│ │ │ │ ├── InconsistentCompareTo.java
│ │ │ │ ├── InconsistentCompareTo.qhelp
│ │ │ │ ├── InconsistentCompareTo.ql
│ │ │ │ ├── InconsistentCompareToGood.java
│ │ │ │ ├── InconsistentEqualsHashCode.java
│ │ │ │ ├── InconsistentEqualsHashCode.qhelp
│ │ │ │ ├── InconsistentEqualsHashCode.ql
│ │ │ │ ├── InconsistentEqualsHashCodeGood.java
│ │ │ │ ├── MissingInstanceofInEquals.java
│ │ │ │ ├── MissingInstanceofInEquals.qhelp
│ │ │ │ ├── MissingInstanceofInEquals.ql
│ │ │ │ ├── NoAssignInBooleanExprs.java
│ │ │ │ ├── NoAssignInBooleanExprs.qhelp
│ │ │ │ ├── NoAssignInBooleanExprs.ql
│ │ │ │ ├── NoComparisonOnFloats.java
│ │ │ │ ├── NoComparisonOnFloats.qhelp
│ │ │ │ ├── NoComparisonOnFloats.ql
│ │ │ │ ├── NoComparisonOnFloatsGood.java
│ │ │ │ ├── ObjectComparison.qhelp
│ │ │ │ ├── ObjectComparison.ql
│ │ │ │ ├── RefEqBoxed.java
│ │ │ │ ├── RefEqBoxed.qhelp
│ │ │ │ ├── RefEqBoxed.ql
│ │ │ │ ├── RefEqBoxedBad.java
│ │ │ │ ├── StringComparison.java
│ │ │ │ ├── StringComparison.qhelp
│ │ │ │ ├── StringComparison.ql
│ │ │ │ ├── StringComparisonGood.java
│ │ │ │ ├── UselessComparisonTest.java
│ │ │ │ ├── UselessComparisonTest.qhelp
│ │ │ │ ├── UselessComparisonTest.ql
│ │ │ │ ├── UselessComparisonTest.qll
│ │ │ │ ├── WrongNanComparison.qhelp
│ │ │ │ └── WrongNanComparison.ql
│ │ │ ├── Concurrency
│ │ │ │ ├── BusyWait.java
│ │ │ │ ├── BusyWait.qhelp
│ │ │ │ ├── BusyWait.ql
│ │ │ │ ├── BusyWaitGood.java
│ │ │ │ ├── CallsToConditionWait.qhelp
│ │ │ │ ├── CallsToConditionWait.ql
│ │ │ │ ├── CallsToRunnableRun.java
│ │ │ │ ├── CallsToRunnableRun.qhelp
│ │ │ │ ├── CallsToRunnableRun.ql
│ │ │ │ ├── CallsToRunnableRunFixed.java
│ │ │ │ ├── DateFormatThreadUnsafe.java
│ │ │ │ ├── DateFormatThreadUnsafe.qhelp
│ │ │ │ ├── DateFormatThreadUnsafe.ql
│ │ │ │ ├── DateFormatThreadUnsafeGood.java
│ │ │ │ ├── DoubleCheckedLocking.qhelp
│ │ │ │ ├── DoubleCheckedLocking.ql
│ │ │ │ ├── DoubleCheckedLocking.qll
│ │ │ │ ├── DoubleCheckedLockingBad1.java
│ │ │ │ ├── DoubleCheckedLockingBad2.java
│ │ │ │ ├── DoubleCheckedLockingBad3.java
│ │ │ │ ├── DoubleCheckedLockingGood.java
│ │ │ │ ├── DoubleCheckedLockingShared.inc.qhelp
│ │ │ │ ├── DoubleCheckedLockingWithInitRace.qhelp
│ │ │ │ ├── DoubleCheckedLockingWithInitRace.ql
│ │ │ │ ├── EmptyRunMethodInThread.java
│ │ │ │ ├── EmptyRunMethodInThread.qhelp
│ │ │ │ ├── EmptyRunMethodInThread.ql
│ │ │ │ ├── EmptyRunMethodInThreadGood.java
│ │ │ │ ├── FutileSynchOnField.java
│ │ │ │ ├── FutileSynchOnField.qhelp
│ │ │ │ ├── FutileSynchOnField.ql
│ │ │ │ ├── FutileSynchOnFieldGood.java
│ │ │ │ ├── InconsistentAccess.java
│ │ │ │ ├── InconsistentAccess.qhelp
│ │ │ │ ├── InconsistentAccess.ql
│ │ │ │ ├── LazyInitStaticField.java
│ │ │ │ ├── LazyInitStaticField.qhelp
│ │ │ │ ├── LazyInitStaticField.ql
│ │ │ │ ├── LazyInitStaticFieldGood.java
│ │ │ │ ├── NonSynchronizedOverride.qhelp
│ │ │ │ ├── NonSynchronizedOverride.ql
│ │ │ │ ├── NotifyNotNotifyAll.java
│ │ │ │ ├── NotifyNotNotifyAll.qhelp
│ │ │ │ ├── NotifyNotNotifyAll.ql
│ │ │ │ ├── NotifyWithoutSynch.java
│ │ │ │ ├── NotifyWithoutSynch.qhelp
│ │ │ │ ├── NotifyWithoutSynch.ql
│ │ │ │ ├── PriorityCalls.qhelp
│ │ │ │ ├── PriorityCalls.ql
│ │ │ │ ├── SleepWithLock.java
│ │ │ │ ├── SleepWithLock.qhelp
│ │ │ │ ├── SleepWithLock.ql
│ │ │ │ ├── StartInConstructor.java
│ │ │ │ ├── StartInConstructor.qhelp
│ │ │ │ ├── StartInConstructor.ql
│ │ │ │ ├── StartInConstructorGood.java
│ │ │ │ ├── SynchOnBoxedType.java
│ │ │ │ ├── SynchOnBoxedType.qhelp
│ │ │ │ ├── SynchOnBoxedType.ql
│ │ │ │ ├── SynchOnBoxedTypeGood.java
│ │ │ │ ├── SynchSetUnsynchGet.qhelp
│ │ │ │ ├── SynchSetUnsynchGet.ql
│ │ │ │ ├── SynchWriteObject.qhelp
│ │ │ │ ├── SynchWriteObject.ql
│ │ │ │ ├── UnreleasedLock.java
│ │ │ │ ├── UnreleasedLock.qhelp
│ │ │ │ ├── UnreleasedLock.ql
│ │ │ │ ├── WaitOutsideLoop.java
│ │ │ │ ├── WaitOutsideLoop.qhelp
│ │ │ │ ├── WaitOutsideLoop.ql
│ │ │ │ ├── WaitWithTwoLocks.java
│ │ │ │ ├── WaitWithTwoLocks.qhelp
│ │ │ │ ├── WaitWithTwoLocks.ql
│ │ │ │ ├── WaitWithTwoLocksGood.java
│ │ │ │ ├── YieldCalls.qhelp
│ │ │ │ └── YieldCalls.ql
│ │ │ ├── Finalization
│ │ │ │ ├── NullifiedSuperFinalize.java
│ │ │ │ ├── NullifiedSuperFinalize.qhelp
│ │ │ │ ├── NullifiedSuperFinalize.ql
│ │ │ │ └── NullifiedSuperFinalizeGuarded.java
│ │ │ ├── Frameworks
│ │ │ │ ├── JUnit
│ │ │ │ │ ├── BadSuiteMethod.java
│ │ │ │ │ ├── BadSuiteMethod.qhelp
│ │ │ │ │ ├── BadSuiteMethod.ql
│ │ │ │ │ ├── TearDownNoSuper.java
│ │ │ │ │ ├── TearDownNoSuper.qhelp
│ │ │ │ │ ├── TearDownNoSuper.ql
│ │ │ │ │ ├── TestCaseNoTests.java
│ │ │ │ │ ├── TestCaseNoTests.qhelp
│ │ │ │ │ └── TestCaseNoTests.ql
│ │ │ │ └── Swing
│ │ │ │ │ ├── BadlyOverriddenAdapter.java
│ │ │ │ │ ├── BadlyOverriddenAdapter.qhelp
│ │ │ │ │ ├── BadlyOverriddenAdapter.ql
│ │ │ │ │ ├── BadlyOverriddenAdapterGood.java
│ │ │ │ │ ├── ThreadSafety.java
│ │ │ │ │ ├── ThreadSafety.qhelp
│ │ │ │ │ ├── ThreadSafety.ql
│ │ │ │ │ └── ThreadSafetyGood.java
│ │ │ ├── I18N
│ │ │ │ ├── MissingLocaleArgument.java
│ │ │ │ ├── MissingLocaleArgument.qhelp
│ │ │ │ └── MissingLocaleArgument.ql
│ │ │ ├── Inheritance
│ │ │ │ ├── NoNonFinalInConstructor.java
│ │ │ │ ├── NoNonFinalInConstructor.qhelp
│ │ │ │ └── NoNonFinalInConstructor.ql
│ │ │ ├── Likely Typos
│ │ │ │ ├── ConstructorTypo.java
│ │ │ │ ├── ConstructorTypo.qhelp
│ │ │ │ ├── ConstructorTypo.ql
│ │ │ │ ├── ContainerSizeCmpZero.java
│ │ │ │ ├── ContainerSizeCmpZero.qhelp
│ │ │ │ ├── ContainerSizeCmpZero.ql
│ │ │ │ ├── ContainerSizeCmpZeroGood.java
│ │ │ │ ├── ContradictoryTypeChecks.java
│ │ │ │ ├── ContradictoryTypeChecks.qhelp
│ │ │ │ ├── ContradictoryTypeChecks.ql
│ │ │ │ ├── ContradictoryTypeChecksGood.java
│ │ │ │ ├── DangerousNonCircuitLogic.java
│ │ │ │ ├── DangerousNonCircuitLogic.qhelp
│ │ │ │ ├── DangerousNonCircuitLogic.ql
│ │ │ │ ├── EqualsTypo.java
│ │ │ │ ├── EqualsTypo.qhelp
│ │ │ │ ├── EqualsTypo.ql
│ │ │ │ ├── FormatStringsOverview.inc.qhelp
│ │ │ │ ├── FormatStringsRefs.inc.qhelp
│ │ │ │ ├── HashCodeTypo.java
│ │ │ │ ├── HashCodeTypo.qhelp
│ │ │ │ ├── HashCodeTypo.ql
│ │ │ │ ├── MissingFormatArg.qhelp
│ │ │ │ ├── MissingFormatArg.ql
│ │ │ │ ├── MissingFormatArgBad.java
│ │ │ │ ├── MissingSpaceTypo.qhelp
│ │ │ │ ├── MissingSpaceTypo.ql
│ │ │ │ ├── MissingSpaceTypoBad.java
│ │ │ │ ├── NestedLoopsSameVariable.qhelp
│ │ │ │ ├── NestedLoopsSameVariable.ql
│ │ │ │ ├── SelfAssignment.java
│ │ │ │ ├── SelfAssignment.qhelp
│ │ │ │ ├── SelfAssignment.ql
│ │ │ │ ├── StringBufferCharInit.java
│ │ │ │ ├── StringBufferCharInit.qhelp
│ │ │ │ ├── StringBufferCharInit.ql
│ │ │ │ ├── SuspiciousDateFormat.java
│ │ │ │ ├── SuspiciousDateFormat.qhelp
│ │ │ │ ├── SuspiciousDateFormat.ql
│ │ │ │ ├── ToStringTypo.java
│ │ │ │ ├── ToStringTypo.qhelp
│ │ │ │ ├── ToStringTypo.ql
│ │ │ │ ├── UnusedFormatArg.qhelp
│ │ │ │ ├── UnusedFormatArg.ql
│ │ │ │ └── UnusedFormatArgBad.java
│ │ │ ├── Nullness
│ │ │ │ ├── NullAlways.java
│ │ │ │ ├── NullAlways.qhelp
│ │ │ │ ├── NullAlways.ql
│ │ │ │ ├── NullExprDeref.java
│ │ │ │ ├── NullExprDeref.qhelp
│ │ │ │ ├── NullExprDeref.ql
│ │ │ │ ├── NullMaybe.java
│ │ │ │ ├── NullMaybe.qhelp
│ │ │ │ └── NullMaybe.ql
│ │ │ ├── Reflection
│ │ │ │ ├── AnnotationPresentCheck.java
│ │ │ │ ├── AnnotationPresentCheck.qhelp
│ │ │ │ ├── AnnotationPresentCheck.ql
│ │ │ │ └── AnnotationPresentCheckFix.java
│ │ │ ├── Resource Leaks
│ │ │ │ ├── CloseReader.java
│ │ │ │ ├── CloseReader.qhelp
│ │ │ │ ├── CloseReader.ql
│ │ │ │ ├── CloseReaderGood.java
│ │ │ │ ├── CloseReaderNested.java
│ │ │ │ ├── CloseReaderNestedGood.java
│ │ │ │ ├── CloseSql.java
│ │ │ │ ├── CloseSql.qhelp
│ │ │ │ ├── CloseSql.ql
│ │ │ │ ├── CloseSqlGood.java
│ │ │ │ ├── CloseType.qll
│ │ │ │ ├── CloseWriter.java
│ │ │ │ ├── CloseWriter.qhelp
│ │ │ │ ├── CloseWriter.ql
│ │ │ │ ├── CloseWriterGood.java
│ │ │ │ ├── CloseWriterNested.java
│ │ │ │ └── CloseWriterNestedGood.java
│ │ │ ├── Serialization
│ │ │ │ ├── IncorrectSerialVersionUID.java
│ │ │ │ ├── IncorrectSerialVersionUID.qhelp
│ │ │ │ ├── IncorrectSerialVersionUID.ql
│ │ │ │ ├── IncorrectSerializableMethods.java
│ │ │ │ ├── IncorrectSerializableMethods.qhelp
│ │ │ │ ├── IncorrectSerializableMethods.ql
│ │ │ │ ├── IncorrectSerializableMethodsSig.java
│ │ │ │ ├── MissingVoidConstructorOnExternalizable.java
│ │ │ │ ├── MissingVoidConstructorOnExternalizable.qhelp
│ │ │ │ ├── MissingVoidConstructorOnExternalizable.ql
│ │ │ │ ├── MissingVoidConstructorsOnSerializable.java
│ │ │ │ ├── MissingVoidConstructorsOnSerializable.qhelp
│ │ │ │ ├── MissingVoidConstructorsOnSerializable.ql
│ │ │ │ ├── NonSerializableComparator.java
│ │ │ │ ├── NonSerializableComparator.qhelp
│ │ │ │ ├── NonSerializableComparator.ql
│ │ │ │ ├── NonSerializableField.java
│ │ │ │ ├── NonSerializableField.qhelp
│ │ │ │ ├── NonSerializableField.ql
│ │ │ │ ├── NonSerializableFieldTooGeneral.java
│ │ │ │ ├── NonSerializableInnerClass.java
│ │ │ │ ├── NonSerializableInnerClass.qhelp
│ │ │ │ ├── NonSerializableInnerClass.ql
│ │ │ │ ├── ReadResolveObject.java
│ │ │ │ ├── ReadResolveObject.qhelp
│ │ │ │ ├── ReadResolveObject.ql
│ │ │ │ ├── TransientNotSerializable.java
│ │ │ │ ├── TransientNotSerializable.qhelp
│ │ │ │ └── TransientNotSerializable.ql
│ │ │ ├── Statements
│ │ │ │ ├── Chaining.qll
│ │ │ │ ├── ContinueInFalseLoop.qhelp
│ │ │ │ ├── ContinueInFalseLoop.ql
│ │ │ │ ├── EmptyBlock.java
│ │ │ │ ├── EmptyBlock.qhelp
│ │ │ │ ├── EmptyBlock.ql
│ │ │ │ ├── EmptySynchronizedBlock.qhelp
│ │ │ │ ├── EmptySynchronizedBlock.ql
│ │ │ │ ├── ImpossibleCast.qhelp
│ │ │ │ ├── ImpossibleCast.ql
│ │ │ │ ├── InconsistentCallOnResult.java
│ │ │ │ ├── InconsistentCallOnResult.qhelp
│ │ │ │ ├── InconsistentCallOnResult.ql
│ │ │ │ ├── MissingEnumInSwitch.java
│ │ │ │ ├── MissingEnumInSwitch.qhelp
│ │ │ │ ├── MissingEnumInSwitch.ql
│ │ │ │ ├── PartiallyMaskedCatch.java
│ │ │ │ ├── PartiallyMaskedCatch.qhelp
│ │ │ │ ├── PartiallyMaskedCatch.ql
│ │ │ │ ├── ReturnValueIgnored.java
│ │ │ │ ├── ReturnValueIgnored.qhelp
│ │ │ │ ├── ReturnValueIgnored.ql
│ │ │ │ ├── StaticFieldWrittenByInstance.java
│ │ │ │ ├── StaticFieldWrittenByInstance.qhelp
│ │ │ │ ├── StaticFieldWrittenByInstance.ql
│ │ │ │ ├── UseBraces.java
│ │ │ │ ├── UseBraces.qhelp
│ │ │ │ ├── UseBraces.ql
│ │ │ │ ├── UseBraces2.java
│ │ │ │ └── UseBracesGood.java
│ │ │ └── Termination
│ │ │ │ ├── ConstantLoopCondition.qhelp
│ │ │ │ ├── ConstantLoopCondition.ql
│ │ │ │ ├── ConstantLoopConditionBad.java
│ │ │ │ ├── ConstantLoopConditionGood.java
│ │ │ │ ├── SpinOnField.java
│ │ │ │ ├── SpinOnField.qhelp
│ │ │ │ └── SpinOnField.ql
│ │ ├── Metrics
│ │ │ ├── Authors
│ │ │ │ ├── AuthorsPerFile.qhelp
│ │ │ │ └── AuthorsPerFile.ql
│ │ │ ├── Callables
│ │ │ │ ├── CCyclomaticComplexity.java
│ │ │ │ ├── CCyclomaticComplexity.qhelp
│ │ │ │ ├── CCyclomaticComplexity.ql
│ │ │ │ ├── CCyclomaticComplexity_ControlFlow.gv
│ │ │ │ ├── CCyclomaticComplexity_ControlFlow.png
│ │ │ │ ├── CLinesOfCode.qhelp
│ │ │ │ ├── CLinesOfCode.ql
│ │ │ │ ├── CLinesOfComment.qhelp
│ │ │ │ ├── CLinesOfComment.ql
│ │ │ │ ├── CNumberOfCalls.qhelp
│ │ │ │ ├── CNumberOfCalls.ql
│ │ │ │ ├── CNumberOfParameters.qhelp
│ │ │ │ ├── CNumberOfParameters.ql
│ │ │ │ ├── CNumberOfParameters1.java
│ │ │ │ ├── CNumberOfParameters1Good.java
│ │ │ │ ├── CNumberOfParameters2.java
│ │ │ │ ├── CNumberOfParameters2Good.java
│ │ │ │ ├── CNumberOfStatements.qhelp
│ │ │ │ ├── CNumberOfStatements.ql
│ │ │ │ ├── StatementNestingDepth.java
│ │ │ │ ├── StatementNestingDepth.qhelp
│ │ │ │ ├── StatementNestingDepth.ql
│ │ │ │ └── StatementNestingDepthGood.java
│ │ │ ├── Dependencies
│ │ │ │ ├── ExternalDependencies.ql
│ │ │ │ └── ExternalDependenciesSourceLinks.ql
│ │ │ ├── Files
│ │ │ │ ├── CommentedOutCodeMetricOverview.inc.qhelp
│ │ │ │ ├── CommentedOutCodeReferences.inc.qhelp
│ │ │ │ ├── DuplicationProblems.inc.qhelp
│ │ │ │ ├── FAfferentCoupling.qhelp
│ │ │ │ ├── FAfferentCoupling.ql
│ │ │ │ ├── FCommentRatio.qhelp
│ │ │ │ ├── FCommentRatio.ql
│ │ │ │ ├── FCommentRatioCommon.inc.qhelp
│ │ │ │ ├── FCyclomaticComplexity.java
│ │ │ │ ├── FCyclomaticComplexity.qhelp
│ │ │ │ ├── FCyclomaticComplexity.ql
│ │ │ │ ├── FCyclomaticComplexity_ControlFlow.gv
│ │ │ │ ├── FCyclomaticComplexity_ControlFlow.png
│ │ │ │ ├── FEfferentCoupling.qhelp
│ │ │ │ ├── FEfferentCoupling.ql
│ │ │ │ ├── FEfferentCoupling_SplitAfter.gv
│ │ │ │ ├── FEfferentCoupling_SplitAfter.png
│ │ │ │ ├── FEfferentCoupling_SplitBefore.gv
│ │ │ │ ├── FEfferentCoupling_SplitBefore.png
│ │ │ │ ├── FLines.ql
│ │ │ │ ├── FLinesOfCode.qhelp
│ │ │ │ ├── FLinesOfCode.ql
│ │ │ │ ├── FLinesOfCodeOverview.inc.qhelp
│ │ │ │ ├── FLinesOfCodeReferences.inc.qhelp
│ │ │ │ ├── FLinesOfComment.qhelp
│ │ │ │ ├── FLinesOfComment.ql
│ │ │ │ ├── FLinesOfCommentedCode.qhelp
│ │ │ │ ├── FLinesOfCommentedCode.ql
│ │ │ │ ├── FLinesOfDuplicatedCode.qhelp
│ │ │ │ ├── FLinesOfDuplicatedCode.ql
│ │ │ │ ├── FLinesOfDuplicatedCodeCommon.inc.qhelp
│ │ │ │ ├── FLinesOfSimilarCode.qhelp
│ │ │ │ ├── FLinesOfSimilarCode.ql
│ │ │ │ ├── FNumberOfClasses.qhelp
│ │ │ │ ├── FNumberOfClasses.ql
│ │ │ │ ├── FNumberOfInterfaces.qhelp
│ │ │ │ ├── FNumberOfInterfaces.ql
│ │ │ │ ├── FNumberOfTests.qhelp
│ │ │ │ ├── FNumberOfTests.ql
│ │ │ │ ├── FSelfContainedness.qhelp
│ │ │ │ └── FSelfContainedness.ql
│ │ │ ├── Internal
│ │ │ │ └── Extents.qll
│ │ │ └── RefTypes
│ │ │ │ ├── TAfferentCoupling.qhelp
│ │ │ │ ├── TAfferentCoupling.ql
│ │ │ │ ├── TEfferentCoupling.java
│ │ │ │ ├── TEfferentCoupling.qhelp
│ │ │ │ ├── TEfferentCoupling.ql
│ │ │ │ ├── TEfferentCouplingGood.java
│ │ │ │ ├── TEfferentSourceCoupling.qhelp
│ │ │ │ ├── TEfferentSourceCoupling.ql
│ │ │ │ ├── TInheritanceDepth.qhelp
│ │ │ │ ├── TInheritanceDepth.ql
│ │ │ │ ├── TInheritanceDepth_MergeIntoSuperclassAfter.gv
│ │ │ │ ├── TInheritanceDepth_MergeIntoSuperclassAfter.png
│ │ │ │ ├── TInheritanceDepth_MergeIntoSuperclassBefore.gv
│ │ │ │ ├── TInheritanceDepth_MergeIntoSuperclassBefore.png
│ │ │ │ ├── TInheritanceDepth_UseComponentsAfter.gv
│ │ │ │ ├── TInheritanceDepth_UseComponentsAfter.png
│ │ │ │ ├── TInheritanceDepth_UseComponentsBefore.gv
│ │ │ │ ├── TInheritanceDepth_UseComponentsBefore.png
│ │ │ │ ├── TLackOfCohesionCK.qhelp
│ │ │ │ ├── TLackOfCohesionCK.ql
│ │ │ │ ├── TLackOfCohesionHS.qhelp
│ │ │ │ ├── TLackOfCohesionHS.ql
│ │ │ │ ├── TLinesOfCode.qhelp
│ │ │ │ ├── TLinesOfCode.ql
│ │ │ │ ├── TLinesOfComment.qhelp
│ │ │ │ ├── TLinesOfComment.ql
│ │ │ │ ├── TNumberOfCallables.qhelp
│ │ │ │ ├── TNumberOfCallables.ql
│ │ │ │ ├── TNumberOfFields.java
│ │ │ │ ├── TNumberOfFields.qhelp
│ │ │ │ ├── TNumberOfFields.ql
│ │ │ │ ├── TNumberOfFieldsGood.java
│ │ │ │ ├── TNumberOfStatements.qhelp
│ │ │ │ ├── TNumberOfStatements.ql
│ │ │ │ ├── TPercentageOfComments.qhelp
│ │ │ │ ├── TPercentageOfComments.ql
│ │ │ │ ├── TPercentageOfComplexCode.qhelp
│ │ │ │ ├── TPercentageOfComplexCode.ql
│ │ │ │ ├── TResponse.qhelp
│ │ │ │ ├── TResponse.ql
│ │ │ │ ├── TSelfContainedness.qhelp
│ │ │ │ ├── TSelfContainedness.ql
│ │ │ │ ├── TSizeOfAPI.qhelp
│ │ │ │ ├── TSizeOfAPI.ql
│ │ │ │ ├── TSpecialisationIndex.java
│ │ │ │ ├── TSpecialisationIndex.qhelp
│ │ │ │ ├── TSpecialisationIndex.ql
│ │ │ │ └── TSpecialisationIndexGood.java
│ │ ├── Performance
│ │ │ ├── ConcatenationInLoops.java
│ │ │ ├── ConcatenationInLoops.qhelp
│ │ │ ├── ConcatenationInLoops.ql
│ │ │ ├── InefficientEmptyStringTest.java
│ │ │ ├── InefficientEmptyStringTest.qhelp
│ │ │ ├── InefficientEmptyStringTest.ql
│ │ │ ├── InefficientKeySetIterator.java
│ │ │ ├── InefficientKeySetIterator.qhelp
│ │ │ ├── InefficientKeySetIterator.ql
│ │ │ ├── InefficientOutputStream.qhelp
│ │ │ ├── InefficientOutputStream.ql
│ │ │ ├── InefficientOutputStreamBad.java
│ │ │ ├── InefficientOutputStreamGood.java
│ │ │ ├── InefficientPrimConstructor.java
│ │ │ ├── InefficientPrimConstructor.qhelp
│ │ │ ├── InefficientPrimConstructor.ql
│ │ │ ├── InnerClassCouldBeStatic.qhelp
│ │ │ ├── InnerClassCouldBeStatic.ql
│ │ │ ├── NewStringString.java
│ │ │ ├── NewStringString.qhelp
│ │ │ └── NewStringString.ql
│ │ ├── Security
│ │ │ └── CWE
│ │ │ │ ├── CWE-020
│ │ │ │ ├── ExternalAPISinkExample.java
│ │ │ │ ├── ExternalAPITaintStepExample.java
│ │ │ │ ├── ExternalAPIsUsedWithUntrustedData.qhelp
│ │ │ │ ├── ExternalAPIsUsedWithUntrustedData.ql
│ │ │ │ ├── UntrustedDataToExternalAPI.qhelp
│ │ │ │ └── UntrustedDataToExternalAPI.ql
│ │ │ │ ├── CWE-022
│ │ │ │ ├── TaintedPath.java
│ │ │ │ ├── TaintedPath.qhelp
│ │ │ │ ├── TaintedPath.ql
│ │ │ │ ├── TaintedPathCommon.qll
│ │ │ │ ├── TaintedPathLocal.qhelp
│ │ │ │ ├── TaintedPathLocal.ql
│ │ │ │ ├── ZipSlip.qhelp
│ │ │ │ ├── ZipSlip.ql
│ │ │ │ ├── ZipSlipBad.java
│ │ │ │ └── ZipSlipGood.java
│ │ │ │ ├── CWE-078
│ │ │ │ ├── ExecCommon.qll
│ │ │ │ ├── ExecRelative.java
│ │ │ │ ├── ExecRelative.qhelp
│ │ │ │ ├── ExecRelative.ql
│ │ │ │ ├── ExecTainted.java
│ │ │ │ ├── ExecTainted.qhelp
│ │ │ │ ├── ExecTainted.ql
│ │ │ │ ├── ExecTaintedLocal.qhelp
│ │ │ │ ├── ExecTaintedLocal.ql
│ │ │ │ ├── ExecUnescaped.java
│ │ │ │ ├── ExecUnescaped.qhelp
│ │ │ │ └── ExecUnescaped.ql
│ │ │ │ ├── CWE-079
│ │ │ │ ├── XSS.java
│ │ │ │ ├── XSS.qhelp
│ │ │ │ ├── XSS.ql
│ │ │ │ ├── XSSLocal.qhelp
│ │ │ │ └── XSSLocal.ql
│ │ │ │ ├── CWE-089
│ │ │ │ ├── HowToAddress.inc.qhelp
│ │ │ │ ├── SqlInjectionLib.qll
│ │ │ │ ├── SqlTainted.java
│ │ │ │ ├── SqlTainted.qhelp
│ │ │ │ ├── SqlTainted.ql
│ │ │ │ ├── SqlTaintedLocal.qhelp
│ │ │ │ ├── SqlTaintedLocal.ql
│ │ │ │ ├── SqlTaintedPersistence.java
│ │ │ │ ├── SqlUnescaped.java
│ │ │ │ ├── SqlUnescaped.qhelp
│ │ │ │ └── SqlUnescaped.ql
│ │ │ │ ├── CWE-090
│ │ │ │ ├── LdapInjection.qhelp
│ │ │ │ ├── LdapInjection.ql
│ │ │ │ ├── LdapInjectionApache.java
│ │ │ │ ├── LdapInjectionJndi.java
│ │ │ │ ├── LdapInjectionLib.qll
│ │ │ │ ├── LdapInjectionSpring.java
│ │ │ │ └── LdapInjectionUnboundId.java
│ │ │ │ ├── CWE-094
│ │ │ │ ├── InsecureBeanValidation.java
│ │ │ │ ├── InsecureBeanValidation.qhelp
│ │ │ │ └── InsecureBeanValidation.ql
│ │ │ │ ├── CWE-1104
│ │ │ │ ├── MavenPomDependsOnBintray.qhelp
│ │ │ │ ├── MavenPomDependsOnBintray.ql
│ │ │ │ └── bad-bintray-pom.xml
│ │ │ │ ├── CWE-113
│ │ │ │ ├── NettyResponseSplitting.java
│ │ │ │ ├── NettyResponseSplitting.qhelp
│ │ │ │ ├── NettyResponseSplitting.ql
│ │ │ │ ├── ResponseSplitting.java
│ │ │ │ ├── ResponseSplitting.qhelp
│ │ │ │ ├── ResponseSplitting.ql
│ │ │ │ ├── ResponseSplittingLocal.qhelp
│ │ │ │ └── ResponseSplittingLocal.ql
│ │ │ │ ├── CWE-129
│ │ │ │ ├── ArraySizing.qll
│ │ │ │ ├── BoundingChecks.qll
│ │ │ │ ├── ImproperValidationOfArrayConstruction.java
│ │ │ │ ├── ImproperValidationOfArrayConstruction.qhelp
│ │ │ │ ├── ImproperValidationOfArrayConstruction.ql
│ │ │ │ ├── ImproperValidationOfArrayConstructionCodeSpecified.java
│ │ │ │ ├── ImproperValidationOfArrayConstructionCodeSpecified.qhelp
│ │ │ │ ├── ImproperValidationOfArrayConstructionCodeSpecified.ql
│ │ │ │ ├── ImproperValidationOfArrayConstructionLocal.qhelp
│ │ │ │ ├── ImproperValidationOfArrayConstructionLocal.ql
│ │ │ │ ├── ImproperValidationOfArrayIndex.java
│ │ │ │ ├── ImproperValidationOfArrayIndex.qhelp
│ │ │ │ ├── ImproperValidationOfArrayIndex.ql
│ │ │ │ ├── ImproperValidationOfArrayIndexCodeSpecified.java
│ │ │ │ ├── ImproperValidationOfArrayIndexCodeSpecified.qhelp
│ │ │ │ ├── ImproperValidationOfArrayIndexCodeSpecified.ql
│ │ │ │ ├── ImproperValidationOfArrayIndexLocal.qhelp
│ │ │ │ └── ImproperValidationOfArrayIndexLocal.ql
│ │ │ │ ├── CWE-134
│ │ │ │ ├── ExternallyControlledFormatString.java
│ │ │ │ ├── ExternallyControlledFormatString.qhelp
│ │ │ │ ├── ExternallyControlledFormatString.ql
│ │ │ │ ├── ExternallyControlledFormatStringLocal.qhelp
│ │ │ │ └── ExternallyControlledFormatStringLocal.ql
│ │ │ │ ├── CWE-190
│ │ │ │ ├── ArithmeticCommon.qll
│ │ │ │ ├── ArithmeticTainted.java
│ │ │ │ ├── ArithmeticTainted.qhelp
│ │ │ │ ├── ArithmeticTainted.ql
│ │ │ │ ├── ArithmeticTaintedLocal.qhelp
│ │ │ │ ├── ArithmeticTaintedLocal.ql
│ │ │ │ ├── ArithmeticUncontrolled.java
│ │ │ │ ├── ArithmeticUncontrolled.qhelp
│ │ │ │ ├── ArithmeticUncontrolled.ql
│ │ │ │ ├── ArithmeticWithExtremeValues.java
│ │ │ │ ├── ArithmeticWithExtremeValues.qhelp
│ │ │ │ ├── ArithmeticWithExtremeValues.ql
│ │ │ │ ├── ComparisonWithWiderType.java
│ │ │ │ ├── ComparisonWithWiderType.qhelp
│ │ │ │ └── ComparisonWithWiderType.ql
│ │ │ │ ├── CWE-209
│ │ │ │ ├── StackTraceExposure.java
│ │ │ │ ├── StackTraceExposure.qhelp
│ │ │ │ └── StackTraceExposure.ql
│ │ │ │ ├── CWE-297
│ │ │ │ ├── UnsafeHostnameVerification.java
│ │ │ │ ├── UnsafeHostnameVerification.qhelp
│ │ │ │ └── UnsafeHostnameVerification.ql
│ │ │ │ ├── CWE-312
│ │ │ │ ├── CleartextStorage.inc.qhelp
│ │ │ │ ├── CleartextStorage.java
│ │ │ │ ├── CleartextStorageClass.qhelp
│ │ │ │ ├── CleartextStorageClass.ql
│ │ │ │ ├── CleartextStorageCookie.qhelp
│ │ │ │ ├── CleartextStorageCookie.ql
│ │ │ │ ├── CleartextStorageProperties.qhelp
│ │ │ │ ├── CleartextStorageProperties.ql
│ │ │ │ └── SensitiveStorage.qll
│ │ │ │ ├── CWE-319
│ │ │ │ ├── HttpsUrls.java
│ │ │ │ ├── HttpsUrls.qhelp
│ │ │ │ ├── HttpsUrls.ql
│ │ │ │ ├── UseSSL.java
│ │ │ │ ├── UseSSL.qhelp
│ │ │ │ ├── UseSSL.ql
│ │ │ │ ├── UseSSLSocketFactories.java
│ │ │ │ ├── UseSSLSocketFactories.qhelp
│ │ │ │ └── UseSSLSocketFactories.ql
│ │ │ │ ├── CWE-327
│ │ │ │ ├── BrokenCryptoAlgorithm.java
│ │ │ │ ├── BrokenCryptoAlgorithm.qhelp
│ │ │ │ ├── BrokenCryptoAlgorithm.ql
│ │ │ │ ├── MaybeBrokenCryptoAlgorithm.qhelp
│ │ │ │ └── MaybeBrokenCryptoAlgorithm.ql
│ │ │ │ ├── CWE-335
│ │ │ │ ├── PredictableSeed.java
│ │ │ │ ├── PredictableSeed.qhelp
│ │ │ │ └── PredictableSeed.ql
│ │ │ │ ├── CWE-338
│ │ │ │ ├── JHipsterGeneratedPRNG.qhelp
│ │ │ │ ├── JHipsterGeneratedPRNG.ql
│ │ │ │ ├── JHipsterGeneratedPRNGFixed.java
│ │ │ │ └── JHipsterGeneratedPRNGVulnerable.java
│ │ │ │ ├── CWE-352
│ │ │ │ ├── SpringCSRFProtection.java
│ │ │ │ ├── SpringCSRFProtection.qhelp
│ │ │ │ └── SpringCSRFProtection.ql
│ │ │ │ ├── CWE-367
│ │ │ │ ├── TOCTOURace.java
│ │ │ │ ├── TOCTOURace.qhelp
│ │ │ │ └── TOCTOURace.ql
│ │ │ │ ├── CWE-421
│ │ │ │ ├── SocketAuthRace.java
│ │ │ │ ├── SocketAuthRace.qhelp
│ │ │ │ └── SocketAuthRace.ql
│ │ │ │ ├── CWE-502
│ │ │ │ ├── UnsafeDeserialization.qhelp
│ │ │ │ ├── UnsafeDeserialization.ql
│ │ │ │ ├── UnsafeDeserializationBad.java
│ │ │ │ └── UnsafeDeserializationGood.java
│ │ │ │ ├── CWE-601
│ │ │ │ ├── UrlRedirect.java
│ │ │ │ ├── UrlRedirect.qhelp
│ │ │ │ ├── UrlRedirect.ql
│ │ │ │ ├── UrlRedirectLocal.qhelp
│ │ │ │ └── UrlRedirectLocal.ql
│ │ │ │ ├── CWE-611
│ │ │ │ ├── XXE.qhelp
│ │ │ │ ├── XXE.ql
│ │ │ │ ├── XXEBad.java
│ │ │ │ └── XXEGood.java
│ │ │ │ ├── CWE-614
│ │ │ │ ├── InsecureCookie.java
│ │ │ │ ├── InsecureCookie.qhelp
│ │ │ │ └── InsecureCookie.ql
│ │ │ │ ├── CWE-676
│ │ │ │ ├── PotentiallyDangerousFunction.java
│ │ │ │ ├── PotentiallyDangerousFunction.qhelp
│ │ │ │ └── PotentiallyDangerousFunction.ql
│ │ │ │ ├── CWE-681
│ │ │ │ ├── NumericCastCommon.qll
│ │ │ │ ├── NumericCastTainted.java
│ │ │ │ ├── NumericCastTainted.qhelp
│ │ │ │ ├── NumericCastTainted.ql
│ │ │ │ ├── NumericCastTaintedLocal.qhelp
│ │ │ │ └── NumericCastTaintedLocal.ql
│ │ │ │ ├── CWE-732
│ │ │ │ ├── ReadingFromWorldWritableFile.qhelp
│ │ │ │ └── ReadingFromWorldWritableFile.ql
│ │ │ │ ├── CWE-798
│ │ │ │ ├── HardcodedAWSCredentials.java
│ │ │ │ ├── HardcodedCredentials.qll
│ │ │ │ ├── HardcodedCredentialsApiCall.java
│ │ │ │ ├── HardcodedCredentialsApiCall.qhelp
│ │ │ │ ├── HardcodedCredentialsApiCall.ql
│ │ │ │ ├── HardcodedCredentialsComparison.qhelp
│ │ │ │ ├── HardcodedCredentialsComparison.ql
│ │ │ │ ├── HardcodedCredentialsSourceCall.qhelp
│ │ │ │ ├── HardcodedCredentialsSourceCall.ql
│ │ │ │ ├── HardcodedPasswordField.qhelp
│ │ │ │ ├── HardcodedPasswordField.ql
│ │ │ │ └── SensitiveApi.qll
│ │ │ │ ├── CWE-807
│ │ │ │ ├── ConditionalBypass.java
│ │ │ │ ├── ConditionalBypass.qhelp
│ │ │ │ ├── ConditionalBypass.ql
│ │ │ │ ├── TaintedPermissionsCheck.java
│ │ │ │ ├── TaintedPermissionsCheck.qhelp
│ │ │ │ └── TaintedPermissionsCheck.ql
│ │ │ │ ├── CWE-829
│ │ │ │ ├── InsecureDependencyResolution.qhelp
│ │ │ │ ├── InsecureDependencyResolution.ql
│ │ │ │ ├── insecure-pom.xml
│ │ │ │ └── secure-pom.xml
│ │ │ │ ├── CWE-833
│ │ │ │ ├── LockOrderInconsistency.java
│ │ │ │ ├── LockOrderInconsistency.qhelp
│ │ │ │ └── LockOrderInconsistency.ql
│ │ │ │ └── CWE-835
│ │ │ │ ├── InfiniteLoop.qhelp
│ │ │ │ ├── InfiniteLoop.ql
│ │ │ │ ├── InfiniteLoopBad.java
│ │ │ │ └── InfiniteLoopGood.java
│ │ ├── Violations of Best Practice
│ │ │ ├── Boolean Logic
│ │ │ │ ├── SimplifyBoolExpr.java
│ │ │ │ ├── SimplifyBoolExpr.qhelp
│ │ │ │ └── SimplifyBoolExpr.ql
│ │ │ ├── Boxed Types
│ │ │ │ ├── BoxedVariable.qhelp
│ │ │ │ ├── BoxedVariable.ql
│ │ │ │ ├── BoxedVariableBad.java
│ │ │ │ └── BoxedVariableGood.java
│ │ │ ├── Comments
│ │ │ │ ├── CommentedCode.qhelp
│ │ │ │ ├── CommentedCode.ql
│ │ │ │ ├── CommentedCode.qll
│ │ │ │ ├── CommentedOutCodeQuery.inc.qhelp
│ │ │ │ ├── TodoComments.qhelp
│ │ │ │ └── TodoComments.ql
│ │ │ ├── Dead Code
│ │ │ │ ├── AssignmentInReturn.java
│ │ │ │ ├── AssignmentInReturn.qhelp
│ │ │ │ ├── AssignmentInReturn.ql
│ │ │ │ ├── CreatesEmptyZip.java
│ │ │ │ ├── CreatesEmptyZip.qhelp
│ │ │ │ ├── CreatesEmptyZip.ql
│ │ │ │ ├── DeadLocals.qll
│ │ │ │ ├── DeadRefTypes.qhelp
│ │ │ │ ├── DeadRefTypes.ql
│ │ │ │ ├── DeadStoreOfLocal.java
│ │ │ │ ├── DeadStoreOfLocal.qhelp
│ │ │ │ ├── DeadStoreOfLocal.ql
│ │ │ │ ├── DeadStoreOfLocalUnread.qhelp
│ │ │ │ ├── DeadStoreOfLocalUnread.ql
│ │ │ │ ├── EmptyFinalize.java
│ │ │ │ ├── EmptyFinalize.qhelp
│ │ │ │ ├── EmptyFinalize.ql
│ │ │ │ ├── FinalizerNullsFields.java
│ │ │ │ ├── FinalizerNullsFields.qhelp
│ │ │ │ ├── FinalizerNullsFields.ql
│ │ │ │ ├── InterfaceCannotBeImplemented.java
│ │ │ │ ├── InterfaceCannotBeImplemented.qhelp
│ │ │ │ ├── InterfaceCannotBeImplemented.ql
│ │ │ │ ├── LocalInitialisedButNotUsed.qhelp
│ │ │ │ ├── LocalInitialisedButNotUsed.ql
│ │ │ │ ├── LocalNotRead.qhelp
│ │ │ │ ├── LocalNotRead.ql
│ │ │ │ ├── NonAssignedFields.java
│ │ │ │ ├── NonAssignedFields.qhelp
│ │ │ │ ├── NonAssignedFields.ql
│ │ │ │ ├── PointlessForwardingMethod.java
│ │ │ │ ├── PointlessForwardingMethod.qhelp
│ │ │ │ ├── PointlessForwardingMethod.ql
│ │ │ │ ├── UnreadLocal.java
│ │ │ │ ├── UnreadLocal.qhelp
│ │ │ │ ├── UnreadLocal.ql
│ │ │ │ ├── UnusedField.qhelp
│ │ │ │ ├── UnusedField.ql
│ │ │ │ ├── UnusedLabel.java
│ │ │ │ ├── UnusedLabel.qhelp
│ │ │ │ ├── UnusedLabel.ql
│ │ │ │ ├── UnusedLocal.qhelp
│ │ │ │ └── UnusedLocal.ql
│ │ │ ├── Declarations
│ │ │ │ ├── BreakInSwitchCase.java
│ │ │ │ ├── BreakInSwitchCase.qhelp
│ │ │ │ ├── BreakInSwitchCase.ql
│ │ │ │ ├── Common.qll
│ │ │ │ ├── MakeImportsExplicit.java
│ │ │ │ ├── MakeImportsExplicit.qhelp
│ │ │ │ ├── MakeImportsExplicit.ql
│ │ │ │ ├── NoConstantsOnly.java
│ │ │ │ ├── NoConstantsOnly.qhelp
│ │ │ │ └── NoConstantsOnly.ql
│ │ │ ├── Exception Handling
│ │ │ │ ├── DroppedExceptions-comment.java
│ │ │ │ ├── DroppedExceptions-good.java
│ │ │ │ ├── DroppedExceptions-ignore.java
│ │ │ │ ├── DroppedExceptions.java
│ │ │ │ ├── DroppedExceptions.qhelp
│ │ │ │ ├── DroppedExceptions.ql
│ │ │ │ ├── ExceptionCatch.java
│ │ │ │ ├── ExceptionCatch.qhelp
│ │ │ │ ├── ExceptionCatch.ql
│ │ │ │ ├── IgnoreExceptionalReturn.java
│ │ │ │ ├── IgnoreExceptionalReturn.qhelp
│ │ │ │ ├── IgnoreExceptionalReturn.ql
│ │ │ │ ├── NumberFormatException.java
│ │ │ │ ├── NumberFormatException.qhelp
│ │ │ │ └── NumberFormatException.ql
│ │ │ ├── Implementation Hiding
│ │ │ │ ├── AbstractToConcreteCollection.java
│ │ │ │ ├── AbstractToConcreteCollection.qhelp
│ │ │ │ ├── AbstractToConcreteCollection.ql
│ │ │ │ ├── ExposeRepresentation.java
│ │ │ │ ├── ExposeRepresentation.qhelp
│ │ │ │ ├── ExposeRepresentation.ql
│ │ │ │ ├── GetClassGetResource.java
│ │ │ │ ├── GetClassGetResource.qhelp
│ │ │ │ ├── GetClassGetResource.ql
│ │ │ │ ├── GetClassGetResourceGood.java
│ │ │ │ ├── StaticArray.java
│ │ │ │ ├── StaticArray.qhelp
│ │ │ │ ├── StaticArray.ql
│ │ │ │ └── StaticArrayGood.java
│ │ │ ├── Magic Constants
│ │ │ │ ├── MagicConstants.qll
│ │ │ │ ├── MagicConstantsNumbers.java
│ │ │ │ ├── MagicConstantsNumbers.qhelp
│ │ │ │ ├── MagicConstantsNumbers.ql
│ │ │ │ ├── MagicConstantsString.java
│ │ │ │ ├── MagicConstantsString.qhelp
│ │ │ │ ├── MagicConstantsString.ql
│ │ │ │ ├── MagicNumbersUseConstant.java
│ │ │ │ ├── MagicNumbersUseConstant.qhelp
│ │ │ │ ├── MagicNumbersUseConstant.ql
│ │ │ │ ├── MagicStringsUseConstant.java
│ │ │ │ ├── MagicStringsUseConstant.qhelp
│ │ │ │ └── MagicStringsUseConstant.ql
│ │ │ ├── Naming Conventions
│ │ │ │ ├── AmbiguousOuterSuper.java
│ │ │ │ ├── AmbiguousOuterSuper.qhelp
│ │ │ │ ├── AmbiguousOuterSuper.ql
│ │ │ │ ├── ConfusingMethodNames.java
│ │ │ │ ├── ConfusingMethodNames.qhelp
│ │ │ │ ├── ConfusingMethodNames.ql
│ │ │ │ ├── ConfusingOverloading.qhelp
│ │ │ │ ├── ConfusingOverloading.ql
│ │ │ │ ├── ConfusingOverridesNames.java
│ │ │ │ ├── ConfusingOverridesNames.qhelp
│ │ │ │ ├── ConfusingOverridesNames.ql
│ │ │ │ ├── FieldMasksSuperField.java
│ │ │ │ ├── FieldMasksSuperField.qhelp
│ │ │ │ ├── FieldMasksSuperField.ql
│ │ │ │ ├── LocalShadowsField.qhelp
│ │ │ │ ├── LocalShadowsField.ql
│ │ │ │ ├── LocalShadowsFieldConfusing.java
│ │ │ │ ├── LocalShadowsFieldConfusing.qhelp
│ │ │ │ ├── LocalShadowsFieldConfusing.ql
│ │ │ │ ├── SameNameAsSuper.java
│ │ │ │ ├── SameNameAsSuper.qhelp
│ │ │ │ ├── SameNameAsSuper.ql
│ │ │ │ └── Shadowing.qll
│ │ │ ├── Undesirable Calls
│ │ │ │ ├── CallsToRunFinalizersOnExit.java
│ │ │ │ ├── CallsToRunFinalizersOnExit.qhelp
│ │ │ │ ├── CallsToRunFinalizersOnExit.ql
│ │ │ │ ├── CallsToRunFinalizersOnExitGood.java
│ │ │ │ ├── CallsToStringToString.java
│ │ │ │ ├── CallsToStringToString.qhelp
│ │ │ │ ├── CallsToStringToString.ql
│ │ │ │ ├── CallsToSystemExit.java
│ │ │ │ ├── CallsToSystemExit.qhelp
│ │ │ │ ├── CallsToSystemExit.ql
│ │ │ │ ├── DefaultToString.java
│ │ │ │ ├── DefaultToString.qhelp
│ │ │ │ ├── DefaultToString.ql
│ │ │ │ ├── DefaultToStringGood.java
│ │ │ │ ├── GarbageCollection.java
│ │ │ │ ├── GarbageCollection.qhelp
│ │ │ │ ├── GarbageCollection.ql
│ │ │ │ ├── NextFromIterator.java
│ │ │ │ ├── NextFromIterator.qhelp
│ │ │ │ ├── NextFromIterator.ql
│ │ │ │ ├── PrintLnArray.java
│ │ │ │ ├── PrintLnArray.qhelp
│ │ │ │ └── PrintLnArray.ql
│ │ │ └── legacy
│ │ │ │ ├── AutoBoxing.java
│ │ │ │ ├── AutoBoxing.qhelp
│ │ │ │ ├── AutoBoxing.ql
│ │ │ │ ├── FinallyMayNotComplete.qhelp
│ │ │ │ ├── FinallyMayNotComplete.ql
│ │ │ │ ├── InexactVarArg.java
│ │ │ │ ├── InexactVarArg.qhelp
│ │ │ │ ├── InexactVarArg.ql
│ │ │ │ ├── ParameterAssignment.java
│ │ │ │ ├── ParameterAssignment.qhelp
│ │ │ │ ├── ParameterAssignment.ql
│ │ │ │ ├── UnnecessaryCast.java
│ │ │ │ ├── UnnecessaryCast.qhelp
│ │ │ │ ├── UnnecessaryCast.ql
│ │ │ │ ├── UnnecessaryImport.qhelp
│ │ │ │ └── UnnecessaryImport.ql
│ │ ├── codeql-suites
│ │ │ ├── java-code-scanning.qls
│ │ │ ├── java-lgtm-full.qls
│ │ │ ├── java-lgtm.qls
│ │ │ ├── java-security-and-quality.qls
│ │ │ └── java-security-extended.qls
│ │ ├── config
│ │ │ ├── semmlecode.dbscheme
│ │ │ └── semmlecode.dbscheme.stats
│ │ ├── default.qll
│ │ ├── definitions.ql
│ │ ├── definitions.qll
│ │ ├── experimental
│ │ │ ├── README.md
│ │ │ ├── Security
│ │ │ │ └── CWE
│ │ │ │ │ ├── CWE-016
│ │ │ │ │ ├── SpringBootActuators.java
│ │ │ │ │ ├── SpringBootActuators.qhelp
│ │ │ │ │ ├── SpringBootActuators.ql
│ │ │ │ │ └── SpringBootActuators.qll
│ │ │ │ │ ├── CWE-036
│ │ │ │ │ ├── OpenStream.java
│ │ │ │ │ ├── OpenStream.qhelp
│ │ │ │ │ └── OpenStream.ql
│ │ │ │ │ ├── CWE-074
│ │ │ │ │ ├── JndiInjection.java
│ │ │ │ │ ├── JndiInjection.qhelp
│ │ │ │ │ ├── JndiInjection.ql
│ │ │ │ │ ├── JndiInjectionLib.qll
│ │ │ │ │ ├── XsltInjection.java
│ │ │ │ │ ├── XsltInjection.qhelp
│ │ │ │ │ ├── XsltInjection.ql
│ │ │ │ │ └── XsltInjectionLib.qll
│ │ │ │ │ ├── CWE-094
│ │ │ │ │ ├── JexlInjection.qhelp
│ │ │ │ │ ├── JexlInjection.ql
│ │ │ │ │ ├── JexlInjectionLib.qll
│ │ │ │ │ ├── MvelInjection.qhelp
│ │ │ │ │ ├── MvelInjection.ql
│ │ │ │ │ ├── MvelInjectionLib.qll
│ │ │ │ │ ├── NashornScriptEngine.java
│ │ │ │ │ ├── SaferJexlExpressionEvaluationWithSandbox.java
│ │ │ │ │ ├── SaferJexlExpressionEvaluationWithUberspectSandbox.java
│ │ │ │ │ ├── SaferSpelExpressionEvaluation.java
│ │ │ │ │ ├── ScriptEngine.java
│ │ │ │ │ ├── ScriptEngine.qhelp
│ │ │ │ │ ├── ScriptEngine.ql
│ │ │ │ │ ├── SpelInjection.qhelp
│ │ │ │ │ ├── SpelInjection.ql
│ │ │ │ │ ├── SpelInjectionLib.qll
│ │ │ │ │ ├── SpringFrameworkLib.qll
│ │ │ │ │ ├── SpringImplicitViewManipulation.qhelp
│ │ │ │ │ ├── SpringImplicitViewManipulation.ql
│ │ │ │ │ ├── SpringViewBad.java
│ │ │ │ │ ├── SpringViewGood.java
│ │ │ │ │ ├── SpringViewManipulation.qhelp
│ │ │ │ │ ├── SpringViewManipulation.ql
│ │ │ │ │ ├── SpringViewManipulationLib.qll
│ │ │ │ │ ├── UnsafeJexlExpressionEvaluation.java
│ │ │ │ │ ├── UnsafeMvelExpressionEvaluation.java
│ │ │ │ │ └── UnsafeSpelExpressionEvaluation.java
│ │ │ │ │ ├── CWE-1004
│ │ │ │ │ ├── InsecureTomcatConfig.qhelp
│ │ │ │ │ ├── InsecureTomcatConfig.ql
│ │ │ │ │ └── insecure-web.xml
│ │ │ │ │ ├── CWE-117
│ │ │ │ │ ├── LogInjection.qhelp
│ │ │ │ │ ├── LogInjection.ql
│ │ │ │ │ ├── LogInjectionBad.java
│ │ │ │ │ └── LogInjectionGood.java
│ │ │ │ │ ├── CWE-273
│ │ │ │ │ ├── UnsafeCertTrust.java
│ │ │ │ │ ├── UnsafeCertTrust.qhelp
│ │ │ │ │ └── UnsafeCertTrust.ql
│ │ │ │ │ ├── CWE-295
│ │ │ │ │ ├── JxBrowserWithoutCertValidation.java
│ │ │ │ │ ├── JxBrowserWithoutCertValidation.qhelp
│ │ │ │ │ └── JxBrowserWithoutCertValidation.ql
│ │ │ │ │ ├── CWE-297
│ │ │ │ │ ├── InsecureJavaMail.qhelp
│ │ │ │ │ ├── InsecureJavaMail.ql
│ │ │ │ │ ├── InsecureLdapEndpoint.java
│ │ │ │ │ ├── InsecureLdapEndpoint.qhelp
│ │ │ │ │ ├── InsecureLdapEndpoint.ql
│ │ │ │ │ ├── InsecureLdapEndpoint2.java
│ │ │ │ │ ├── JavaMail.java
│ │ │ │ │ └── SimpleMail.java
│ │ │ │ │ ├── CWE-299
│ │ │ │ │ ├── CustomRevocationChecking.java
│ │ │ │ │ ├── DefaultRevocationChecking.java
│ │ │ │ │ ├── DisabledRevocationChecking.qhelp
│ │ │ │ │ ├── DisabledRevocationChecking.ql
│ │ │ │ │ ├── NoRevocationChecking.java
│ │ │ │ │ └── RevocationCheckingLib.qll
│ │ │ │ │ ├── CWE-312
│ │ │ │ │ ├── CleartextStorageSharedPrefs.java
│ │ │ │ │ ├── CleartextStorageSharedPrefs.qhelp
│ │ │ │ │ └── CleartextStorageSharedPrefs.ql
│ │ │ │ │ ├── CWE-326
│ │ │ │ │ ├── InsufficientKeySize.java
│ │ │ │ │ ├── InsufficientKeySize.qhelp
│ │ │ │ │ └── InsufficientKeySize.ql
│ │ │ │ │ ├── CWE-327
│ │ │ │ │ ├── SaferTLSVersion.java
│ │ │ │ │ ├── SslLib.qll
│ │ │ │ │ ├── UnsafeTLSVersion.java
│ │ │ │ │ ├── UnsafeTlsVersion.qhelp
│ │ │ │ │ └── UnsafeTlsVersion.ql
│ │ │ │ │ ├── CWE-346
│ │ │ │ │ ├── UnvalidatedCors.java
│ │ │ │ │ ├── UnvalidatedCors.qhelp
│ │ │ │ │ └── UnvalidatedCors.ql
│ │ │ │ │ ├── CWE-489
│ │ │ │ │ ├── EJBMain.java
│ │ │ │ │ ├── EJBMain.qhelp
│ │ │ │ │ ├── EJBMain.ql
│ │ │ │ │ ├── StrutsBad.xml
│ │ │ │ │ ├── StrutsGood.xml
│ │ │ │ │ ├── TestLib.qll
│ │ │ │ │ ├── WebComponentMain.java
│ │ │ │ │ ├── WebComponentMain.qhelp
│ │ │ │ │ ├── WebComponentMain.ql
│ │ │ │ │ ├── devMode.qhelp
│ │ │ │ │ └── devMode.ql
│ │ │ │ │ ├── CWE-502
│ │ │ │ │ ├── SpringExporterUnsafeDeserialization.java
│ │ │ │ │ ├── SpringExporterUnsafeDeserialization.xml
│ │ │ │ │ ├── UnsafeSpringExporterInConfigurationClass.qhelp
│ │ │ │ │ ├── UnsafeSpringExporterInConfigurationClass.ql
│ │ │ │ │ ├── UnsafeSpringExporterInConfigurationClassExample.inc.qhelp
│ │ │ │ │ ├── UnsafeSpringExporterInXMLConfiguration.qhelp
│ │ │ │ │ ├── UnsafeSpringExporterInXMLConfiguration.ql
│ │ │ │ │ ├── UnsafeSpringExporterInXMLConfigurationExample.inc.qhelp
│ │ │ │ │ ├── UnsafeSpringExporterLib.qll
│ │ │ │ │ ├── UnsafeSpringExporterQuery.inc.qhelp
│ │ │ │ │ └── UnsafeSpringExporterReferences.inc.qhelp
│ │ │ │ │ ├── CWE-522
│ │ │ │ │ ├── InsecureBasicAuth.java
│ │ │ │ │ ├── InsecureBasicAuth.qhelp
│ │ │ │ │ ├── InsecureBasicAuth.ql
│ │ │ │ │ ├── InsecureLdapAuth.java
│ │ │ │ │ ├── InsecureLdapAuth.qhelp
│ │ │ │ │ └── InsecureLdapAuth.ql
│ │ │ │ │ ├── CWE-532
│ │ │ │ │ ├── SensitiveInfoLog.java
│ │ │ │ │ ├── SensitiveInfoLog.qhelp
│ │ │ │ │ └── SensitiveInfoLog.ql
│ │ │ │ │ ├── CWE-548
│ │ │ │ │ ├── InsecureDirectoryConfig.qhelp
│ │ │ │ │ ├── InsecureDirectoryConfig.ql
│ │ │ │ │ └── web.xml
│ │ │ │ │ ├── CWE-555
│ │ │ │ │ ├── PasswordInConfigurationFile.qhelp
│ │ │ │ │ ├── PasswordInConfigurationFile.ql
│ │ │ │ │ └── context.xml
│ │ │ │ │ ├── CWE-598
│ │ │ │ │ ├── SensitiveGetQuery.java
│ │ │ │ │ ├── SensitiveGetQuery.qhelp
│ │ │ │ │ └── SensitiveGetQuery.ql
│ │ │ │ │ ├── CWE-600
│ │ │ │ │ ├── UncaughtServletException.java
│ │ │ │ │ ├── UncaughtServletException.qhelp
│ │ │ │ │ └── UncaughtServletException.ql
│ │ │ │ │ ├── CWE-643
│ │ │ │ │ ├── XPathInjection.java
│ │ │ │ │ ├── XPathInjection.qhelp
│ │ │ │ │ └── XPathInjection.ql
│ │ │ │ │ ├── CWE-652
│ │ │ │ │ ├── XQueryInjection.java
│ │ │ │ │ ├── XQueryInjection.qhelp
│ │ │ │ │ ├── XQueryInjection.ql
│ │ │ │ │ └── XQueryInjectionLib.qll
│ │ │ │ │ ├── CWE-749
│ │ │ │ │ ├── UnsafeAndroidAccess.java
│ │ │ │ │ ├── UnsafeAndroidAccess.qhelp
│ │ │ │ │ └── UnsafeAndroidAccess.ql
│ │ │ │ │ ├── CWE-755
│ │ │ │ │ ├── NFEAndroidDoS.java
│ │ │ │ │ ├── NFEAndroidDoS.qhelp
│ │ │ │ │ └── NFEAndroidDoS.ql
│ │ │ │ │ ├── CWE-759
│ │ │ │ │ ├── HashWithoutSalt.java
│ │ │ │ │ ├── HashWithoutSalt.qhelp
│ │ │ │ │ └── HashWithoutSalt.ql
│ │ │ │ │ ├── CWE-917
│ │ │ │ │ ├── OgnlInjection.java
│ │ │ │ │ ├── OgnlInjection.qhelp
│ │ │ │ │ ├── OgnlInjection.ql
│ │ │ │ │ └── OgnlInjectionLib.qll
│ │ │ │ │ ├── CWE-918
│ │ │ │ │ ├── RequestForgery.java
│ │ │ │ │ ├── RequestForgery.qhelp
│ │ │ │ │ ├── RequestForgery.ql
│ │ │ │ │ └── RequestForgery.qll
│ │ │ │ │ ├── CWE-927
│ │ │ │ │ ├── SensitiveBroadcast.java
│ │ │ │ │ ├── SensitiveBroadcast.qhelp
│ │ │ │ │ └── SensitiveBroadcast.ql
│ │ │ │ │ └── CWE-939
│ │ │ │ │ ├── IncorrectURLVerification.java
│ │ │ │ │ ├── IncorrectURLVerification.qhelp
│ │ │ │ │ └── IncorrectURLVerification.ql
│ │ │ └── semmle
│ │ │ │ └── code
│ │ │ │ ├── java
│ │ │ │ ├── Logging.qll
│ │ │ │ └── frameworks
│ │ │ │ │ ├── Jndi.qll
│ │ │ │ │ ├── Shiro.qll
│ │ │ │ │ └── spring
│ │ │ │ │ └── SpringJndi.qll
│ │ │ │ └── xml
│ │ │ │ └── StrutsXML.qll
│ │ ├── external
│ │ │ ├── Clover.qll
│ │ │ ├── DuplicateAnonymous.java
│ │ │ ├── DuplicateAnonymous.qhelp
│ │ │ ├── DuplicateAnonymous.ql
│ │ │ ├── DuplicateBlock.ql
│ │ │ ├── DuplicateMethod.java
│ │ │ ├── DuplicateMethod.qhelp
│ │ │ ├── DuplicateMethod.ql
│ │ │ ├── ExternalArtifact.qll
│ │ │ ├── MostlyDuplicateClass.qhelp
│ │ │ ├── MostlyDuplicateClass.ql
│ │ │ ├── MostlyDuplicateFile.qhelp
│ │ │ ├── MostlyDuplicateFile.ql
│ │ │ ├── MostlyDuplicateMethod.qhelp
│ │ │ ├── MostlyDuplicateMethod.ql
│ │ │ ├── MostlySimilarFile.qhelp
│ │ │ └── MostlySimilarFile.ql
│ │ ├── filters
│ │ │ └── ClassifyFiles.ql
│ │ ├── java.qll
│ │ ├── localDefinitions.ql
│ │ ├── localReferences.ql
│ │ ├── meta
│ │ │ ├── frameworks
│ │ │ │ └── Coverage.ql
│ │ │ └── ssa
│ │ │ │ ├── AmbiguousToString.ql
│ │ │ │ ├── TooFewPhiInputs.ql
│ │ │ │ ├── UncertainDefWithoutPrior.ql
│ │ │ │ └── UseWithoutUniqueSsaVariable.ql
│ │ ├── printAst.ql
│ │ ├── qlpack.yml
│ │ ├── queries.xml
│ │ └── semmle
│ │ │ ├── code
│ │ │ ├── FileSystem.qll
│ │ │ ├── Location.qll
│ │ │ ├── SMAP.qll
│ │ │ ├── Unit.qll
│ │ │ ├── configfiles
│ │ │ │ └── ConfigFiles.qll
│ │ │ ├── java
│ │ │ │ ├── Annotation.qll
│ │ │ │ ├── Collections.qll
│ │ │ │ ├── CompilationUnit.qll
│ │ │ │ ├── Completion.qll
│ │ │ │ ├── Concurrency.qll
│ │ │ │ ├── ControlFlowGraph.qll
│ │ │ │ ├── Conversions.qll
│ │ │ │ ├── Dependency.qll
│ │ │ │ ├── DependencyCounts.qll
│ │ │ │ ├── Element.qll
│ │ │ │ ├── Exception.qll
│ │ │ │ ├── Expr.qll
│ │ │ │ ├── GeneratedFiles.qll
│ │ │ │ ├── Generics.qll
│ │ │ │ ├── Import.qll
│ │ │ │ ├── J2EE.qll
│ │ │ │ ├── JDK.qll
│ │ │ │ ├── JDKAnnotations.qll
│ │ │ │ ├── JMX.qll
│ │ │ │ ├── Javadoc.qll
│ │ │ │ ├── Maps.qll
│ │ │ │ ├── Member.qll
│ │ │ │ ├── Modifier.qll
│ │ │ │ ├── Modules.qll
│ │ │ │ ├── NumberFormatException.qll
│ │ │ │ ├── Package.qll
│ │ │ │ ├── PrettyPrintAst.qll
│ │ │ │ ├── PrintAst.ql
│ │ │ │ ├── PrintAst.qll
│ │ │ │ ├── Reflection.qll
│ │ │ │ ├── Serializability.qll
│ │ │ │ ├── Statement.qll
│ │ │ │ ├── StringFormat.qll
│ │ │ │ ├── Type.qll
│ │ │ │ ├── UnitTests.qll
│ │ │ │ ├── Variable.qll
│ │ │ │ ├── arithmetic
│ │ │ │ │ └── Overflow.qll
│ │ │ │ ├── comparison
│ │ │ │ │ └── Comparison.qll
│ │ │ │ ├── controlflow
│ │ │ │ │ ├── BasicBlocks.qll
│ │ │ │ │ ├── Dominance.qll
│ │ │ │ │ ├── Guards.qll
│ │ │ │ │ ├── Paths.qll
│ │ │ │ │ ├── UnreachableBlocks.qll
│ │ │ │ │ ├── internal
│ │ │ │ │ │ ├── GuardsLogic.qll
│ │ │ │ │ │ └── Preconditions.qll
│ │ │ │ │ └── unreachableblocks
│ │ │ │ │ │ └── ExcludeDebuggingProfilingLogging.qll
│ │ │ │ ├── dataflow
│ │ │ │ │ ├── Bound.qll
│ │ │ │ │ ├── DataFlow.qll
│ │ │ │ │ ├── DataFlow2.qll
│ │ │ │ │ ├── DataFlow3.qll
│ │ │ │ │ ├── DataFlow4.qll
│ │ │ │ │ ├── DataFlow5.qll
│ │ │ │ │ ├── DefUse.qll
│ │ │ │ │ ├── ExternalFlow.qll
│ │ │ │ │ ├── FlowSources.qll
│ │ │ │ │ ├── FlowSteps.qll
│ │ │ │ │ ├── InstanceAccess.qll
│ │ │ │ │ ├── IntegerGuards.qll
│ │ │ │ │ ├── ModulusAnalysis.qll
│ │ │ │ │ ├── NullGuards.qll
│ │ │ │ │ ├── Nullness.qll
│ │ │ │ │ ├── RangeAnalysis.qll
│ │ │ │ │ ├── RangeUtils.qll
│ │ │ │ │ ├── SSA.qll
│ │ │ │ │ ├── SignAnalysis.qll
│ │ │ │ │ ├── TaintTracking.qll
│ │ │ │ │ ├── TaintTracking2.qll
│ │ │ │ │ ├── TypeFlow.qll
│ │ │ │ │ └── internal
│ │ │ │ │ │ ├── BaseSSA.qll
│ │ │ │ │ │ ├── ContainerFlow.qll
│ │ │ │ │ │ ├── DataFlowDispatch.qll
│ │ │ │ │ │ ├── DataFlowImpl.qll
│ │ │ │ │ │ ├── DataFlowImpl2.qll
│ │ │ │ │ │ ├── DataFlowImpl3.qll
│ │ │ │ │ │ ├── DataFlowImpl4.qll
│ │ │ │ │ │ ├── DataFlowImpl5.qll
│ │ │ │ │ │ ├── DataFlowImplCommon.qll
│ │ │ │ │ │ ├── DataFlowImplConsistency.qll
│ │ │ │ │ │ ├── DataFlowImplSpecific.qll
│ │ │ │ │ │ ├── DataFlowPrivate.qll
│ │ │ │ │ │ ├── DataFlowUtil.qll
│ │ │ │ │ │ ├── TaintTrackingUtil.qll
│ │ │ │ │ │ ├── rangeanalysis
│ │ │ │ │ │ ├── BoundSpecific.qll
│ │ │ │ │ │ ├── ModulusAnalysisSpecific.qll
│ │ │ │ │ │ ├── Sign.qll
│ │ │ │ │ │ ├── SignAnalysisCommon.qll
│ │ │ │ │ │ ├── SignAnalysisSpecific.qll
│ │ │ │ │ │ ├── SsaReadPositionCommon.qll
│ │ │ │ │ │ └── SsaReadPositionSpecific.qll
│ │ │ │ │ │ ├── tainttracking1
│ │ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ │ │ │ └── tainttracking2
│ │ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ │ ├── deadcode
│ │ │ │ │ ├── DeadCode.qll
│ │ │ │ │ ├── DeadCodeCustomizations.qll
│ │ │ │ │ ├── DeadEnumConstant.qll
│ │ │ │ │ ├── DeadField.qll
│ │ │ │ │ ├── EntryPoints.qll
│ │ │ │ │ ├── SpringEntryPoints.qll
│ │ │ │ │ ├── StrutsEntryPoints.qll
│ │ │ │ │ ├── TestEntryPoints.qll
│ │ │ │ │ ├── WebEntryPoints.qll
│ │ │ │ │ └── frameworks
│ │ │ │ │ │ ├── CamelEntryPoints.qll
│ │ │ │ │ │ ├── FitNesseEntryPoints.qll
│ │ │ │ │ │ └── GigaSpacesXAPEntryPoints.qll
│ │ │ │ ├── dispatch
│ │ │ │ │ ├── DispatchFlow.qll
│ │ │ │ │ ├── ObjFlow.qll
│ │ │ │ │ ├── VirtualDispatch.qll
│ │ │ │ │ └── WrappedInvocation.qll
│ │ │ │ ├── frameworks
│ │ │ │ │ ├── ApacheHttp.qll
│ │ │ │ │ ├── ApacheLdap.qll
│ │ │ │ │ ├── Assertions.qll
│ │ │ │ │ ├── Camel.qll
│ │ │ │ │ ├── Cucumber.qll
│ │ │ │ │ ├── FastJson.qll
│ │ │ │ │ ├── Guice.qll
│ │ │ │ │ ├── Hibernate.qll
│ │ │ │ │ ├── JAXB.qll
│ │ │ │ │ ├── JUnitAnnotations.qll
│ │ │ │ │ ├── JavaxAnnotations.qll
│ │ │ │ │ ├── JaxWS.qll
│ │ │ │ │ ├── Jdbc.qll
│ │ │ │ │ ├── Jndi.qll
│ │ │ │ │ ├── Kryo.qll
│ │ │ │ │ ├── Lombok.qll
│ │ │ │ │ ├── Mockito.qll
│ │ │ │ │ ├── MyBatis.qll
│ │ │ │ │ ├── Networking.qll
│ │ │ │ │ ├── Properties.qll
│ │ │ │ │ ├── Protobuf.qll
│ │ │ │ │ ├── Rmi.qll
│ │ │ │ │ ├── Selenium.qll
│ │ │ │ │ ├── Servlets.qll
│ │ │ │ │ ├── SnakeYaml.qll
│ │ │ │ │ ├── SpringJdbc.qll
│ │ │ │ │ ├── SpringLdap.qll
│ │ │ │ │ ├── SpringWeb.qll
│ │ │ │ │ ├── Thrift.qll
│ │ │ │ │ ├── UnboundId.qll
│ │ │ │ │ ├── XStream.qll
│ │ │ │ │ ├── android
│ │ │ │ │ │ ├── Android.qll
│ │ │ │ │ │ ├── Intent.qll
│ │ │ │ │ │ ├── SQLite.qll
│ │ │ │ │ │ ├── SharedPreferences.qll
│ │ │ │ │ │ ├── WebView.qll
│ │ │ │ │ │ └── XmlParsing.qll
│ │ │ │ │ ├── apache
│ │ │ │ │ │ ├── Exec.qll
│ │ │ │ │ │ └── Lang.qll
│ │ │ │ │ ├── camel
│ │ │ │ │ │ ├── CamelJavaAnnotations.qll
│ │ │ │ │ │ └── CamelJavaDSL.qll
│ │ │ │ │ ├── gigaspaces
│ │ │ │ │ │ └── GigaSpaces.qll
│ │ │ │ │ ├── google
│ │ │ │ │ │ └── GoogleHttpClientApi.qll
│ │ │ │ │ ├── guava
│ │ │ │ │ │ ├── Base.qll
│ │ │ │ │ │ ├── Collections.qll
│ │ │ │ │ │ ├── Guava.qll
│ │ │ │ │ │ └── IO.qll
│ │ │ │ │ ├── gwt
│ │ │ │ │ │ ├── GWT.qll
│ │ │ │ │ │ ├── GwtUiBinder.qll
│ │ │ │ │ │ ├── GwtUiBinderXml.qll
│ │ │ │ │ │ └── GwtXml.qll
│ │ │ │ │ ├── j2objc
│ │ │ │ │ │ └── J2ObjC.qll
│ │ │ │ │ ├── jOOQ.qll
│ │ │ │ │ ├── jackson
│ │ │ │ │ │ └── JacksonSerializability.qll
│ │ │ │ │ ├── javaee
│ │ │ │ │ │ ├── JavaServerFaces.qll
│ │ │ │ │ │ ├── Persistence.qll
│ │ │ │ │ │ ├── PersistenceXML.qll
│ │ │ │ │ │ ├── ejb
│ │ │ │ │ │ │ ├── EJB.qll
│ │ │ │ │ │ │ ├── EJBJarXML.qll
│ │ │ │ │ │ │ └── EJBRestrictions.qll
│ │ │ │ │ │ └── jsf
│ │ │ │ │ │ │ ├── JSFAnnotations.qll
│ │ │ │ │ │ │ └── JSFFacesContextXML.qll
│ │ │ │ │ ├── javase
│ │ │ │ │ │ ├── Http.qll
│ │ │ │ │ │ └── WebSocket.qll
│ │ │ │ │ ├── play
│ │ │ │ │ │ └── Play.qll
│ │ │ │ │ ├── spring
│ │ │ │ │ │ ├── Spring.qll
│ │ │ │ │ │ ├── SpringAbstractRef.qll
│ │ │ │ │ │ ├── SpringAlias.qll
│ │ │ │ │ │ ├── SpringArgType.qll
│ │ │ │ │ │ ├── SpringAttribute.qll
│ │ │ │ │ │ ├── SpringAutowire.qll
│ │ │ │ │ │ ├── SpringBean.qll
│ │ │ │ │ │ ├── SpringBeanFile.qll
│ │ │ │ │ │ ├── SpringBeanRefType.qll
│ │ │ │ │ │ ├── SpringCamel.qll
│ │ │ │ │ │ ├── SpringComponentScan.qll
│ │ │ │ │ │ ├── SpringConstructorArg.qll
│ │ │ │ │ │ ├── SpringController.qll
│ │ │ │ │ │ ├── SpringDescription.qll
│ │ │ │ │ │ ├── SpringEntry.qll
│ │ │ │ │ │ ├── SpringFlex.qll
│ │ │ │ │ │ ├── SpringHttp.qll
│ │ │ │ │ │ ├── SpringIdRef.qll
│ │ │ │ │ │ ├── SpringImport.qll
│ │ │ │ │ │ ├── SpringInitializingBean.qll
│ │ │ │ │ │ ├── SpringKey.qll
│ │ │ │ │ │ ├── SpringList.qll
│ │ │ │ │ │ ├── SpringListOrSet.qll
│ │ │ │ │ │ ├── SpringLookupMethod.qll
│ │ │ │ │ │ ├── SpringMap.qll
│ │ │ │ │ │ ├── SpringMergable.qll
│ │ │ │ │ │ ├── SpringMeta.qll
│ │ │ │ │ │ ├── SpringNull.qll
│ │ │ │ │ │ ├── SpringProfile.qll
│ │ │ │ │ │ ├── SpringProp.qll
│ │ │ │ │ │ ├── SpringProperty.qll
│ │ │ │ │ │ ├── SpringProps.qll
│ │ │ │ │ │ ├── SpringQualifier.qll
│ │ │ │ │ │ ├── SpringRef.qll
│ │ │ │ │ │ ├── SpringReplacedMethod.qll
│ │ │ │ │ │ ├── SpringSet.qll
│ │ │ │ │ │ ├── SpringValue.qll
│ │ │ │ │ │ ├── SpringWeb.qll
│ │ │ │ │ │ ├── SpringWebClient.qll
│ │ │ │ │ │ ├── SpringXMLElement.qll
│ │ │ │ │ │ └── metrics
│ │ │ │ │ │ │ ├── MetricSpringBean.qll
│ │ │ │ │ │ │ └── MetricSpringBeanFile.qll
│ │ │ │ │ └── struts
│ │ │ │ │ │ ├── StrutsActions.qll
│ │ │ │ │ │ ├── StrutsAnnotations.qll
│ │ │ │ │ │ ├── StrutsConventions.qll
│ │ │ │ │ │ └── StrutsXML.qll
│ │ │ │ ├── metrics
│ │ │ │ │ ├── MetricCallable.qll
│ │ │ │ │ ├── MetricElement.qll
│ │ │ │ │ ├── MetricField.qll
│ │ │ │ │ ├── MetricPackage.qll
│ │ │ │ │ ├── MetricRefType.qll
│ │ │ │ │ └── MetricStmt.qll
│ │ │ │ └── security
│ │ │ │ │ ├── CommandArguments.qll
│ │ │ │ │ ├── ControlledString.qll
│ │ │ │ │ ├── Encryption.qll
│ │ │ │ │ ├── ExternalAPIs.qll
│ │ │ │ │ ├── ExternalProcess.qll
│ │ │ │ │ ├── FileReadWrite.qll
│ │ │ │ │ ├── FileWritable.qll
│ │ │ │ │ ├── LdapInjection.qll
│ │ │ │ │ ├── PathCreation.qll
│ │ │ │ │ ├── QueryInjection.qll
│ │ │ │ │ ├── Random.qll
│ │ │ │ │ ├── RelativePaths.qll
│ │ │ │ │ ├── ResponseSplitting.qll
│ │ │ │ │ ├── SecurityTests.qll
│ │ │ │ │ ├── SensitiveActions.qll
│ │ │ │ │ ├── SqlUnescapedLib.qll
│ │ │ │ │ ├── UnsafeDeserialization.qll
│ │ │ │ │ ├── UrlRedirect.qll
│ │ │ │ │ ├── Validation.qll
│ │ │ │ │ ├── XSS.qll
│ │ │ │ │ └── XmlParsers.qll
│ │ │ └── xml
│ │ │ │ ├── AndroidManifest.qll
│ │ │ │ ├── Ant.qll
│ │ │ │ ├── MavenPom.qll
│ │ │ │ ├── WebXML.qll
│ │ │ │ └── XML.qll
│ │ │ └── files
│ │ │ └── FileSystem.qll
│ └── test
│ │ ├── .project
│ │ ├── .qlpath
│ │ ├── TestUtilities
│ │ ├── InlineExpectationsTest.qll
│ │ └── InlineExpectationsTestPrivate.qll
│ │ ├── experimental
│ │ ├── README.md
│ │ ├── query-tests
│ │ │ └── security
│ │ │ │ ├── CWE-016
│ │ │ │ ├── SpringBootActuators.expected
│ │ │ │ ├── SpringBootActuators.java
│ │ │ │ ├── SpringBootActuators.qlref
│ │ │ │ └── options
│ │ │ │ ├── CWE-074-JndiInjection
│ │ │ │ ├── JndiInjection.expected
│ │ │ │ ├── JndiInjection.java
│ │ │ │ ├── JndiInjection.qlref
│ │ │ │ └── options
│ │ │ │ ├── CWE-074
│ │ │ │ ├── XsltInjection.expected
│ │ │ │ ├── XsltInjection.java
│ │ │ │ ├── XsltInjection.qlref
│ │ │ │ └── options
│ │ │ │ ├── CWE-094
│ │ │ │ ├── Jexl2Injection.java
│ │ │ │ ├── Jexl3Injection.java
│ │ │ │ ├── JexlInjection.expected
│ │ │ │ ├── JexlInjection.qlref
│ │ │ │ ├── MvelInjection.expected
│ │ │ │ ├── MvelInjection.java
│ │ │ │ ├── MvelInjection.qlref
│ │ │ │ ├── SandboxedJexl2.java
│ │ │ │ ├── SandboxedJexl3.java
│ │ │ │ ├── ScriptEngine.expected
│ │ │ │ ├── ScriptEngine.qlref
│ │ │ │ ├── ScriptEngineTest.java
│ │ │ │ ├── SpelInjection.expected
│ │ │ │ ├── SpelInjection.java
│ │ │ │ ├── SpelInjection.qlref
│ │ │ │ └── options
│ │ │ │ ├── CWE-273
│ │ │ │ ├── UnsafeCertTrust.expected
│ │ │ │ ├── UnsafeCertTrust.qlref
│ │ │ │ └── UnsafeCertTrustTest.java
│ │ │ │ ├── CWE-295
│ │ │ │ ├── jxbrowser-6.23.1
│ │ │ │ │ ├── JxBrowserWithoutCertValidation.expected
│ │ │ │ │ ├── JxBrowserWithoutCertValidation.qlref
│ │ │ │ │ ├── JxBrowserWithoutCertValidationV6_23_1.java
│ │ │ │ │ └── options
│ │ │ │ └── jxbrowser-6.24
│ │ │ │ │ ├── JxBrowserWithoutCertValidation.expected
│ │ │ │ │ ├── JxBrowserWithoutCertValidation.qlref
│ │ │ │ │ ├── JxBrowserWithoutCertValidationV6_24.java
│ │ │ │ │ └── options
│ │ │ │ ├── CWE-297
│ │ │ │ ├── InsecureJavaMail.expected
│ │ │ │ ├── InsecureJavaMail.java
│ │ │ │ ├── InsecureJavaMail.qlref
│ │ │ │ ├── InsecureLdapEndpoint.expected
│ │ │ │ ├── InsecureLdapEndpoint.java
│ │ │ │ ├── InsecureLdapEndpoint.qlref
│ │ │ │ └── options
│ │ │ │ ├── CWE-299
│ │ │ │ ├── DisabledRevocationChecking.expected
│ │ │ │ ├── DisabledRevocationChecking.java
│ │ │ │ └── DisabledRevocationChecking.qlref
│ │ │ │ ├── CWE-312
│ │ │ │ ├── CleartextStorageSharedPrefs.expected
│ │ │ │ ├── CleartextStorageSharedPrefs.java
│ │ │ │ ├── CleartextStorageSharedPrefs.qlref
│ │ │ │ └── options
│ │ │ │ ├── CWE-326
│ │ │ │ ├── InsufficientKeySize.expected
│ │ │ │ ├── InsufficientKeySize.java
│ │ │ │ └── InsufficientKeySize.qlref
│ │ │ │ ├── CWE-327
│ │ │ │ ├── UnsafeTlsVersion.expected
│ │ │ │ ├── UnsafeTlsVersion.java
│ │ │ │ └── UnsafeTlsVersion.qlref
│ │ │ │ ├── CWE-346
│ │ │ │ ├── UnvalidatedCors.expected
│ │ │ │ ├── UnvalidatedCors.java
│ │ │ │ ├── UnvalidatedCors.qlref
│ │ │ │ └── options
│ │ │ │ ├── CWE-489
│ │ │ │ ├── ServiceBean.expected
│ │ │ │ ├── ServiceBean.java
│ │ │ │ ├── ServiceBean.qlref
│ │ │ │ ├── ServletContextListenerMain.java
│ │ │ │ ├── ServletMain.expected
│ │ │ │ ├── ServletMain.java
│ │ │ │ ├── ServletMain.qlref
│ │ │ │ └── options
│ │ │ │ ├── CWE-502
│ │ │ │ ├── SpringExporterUnsafeDeserialization.java
│ │ │ │ ├── UnsafeSpringExporterInConfigurationClass.expected
│ │ │ │ ├── UnsafeSpringExporterInConfigurationClass.qlref
│ │ │ │ ├── UnsafeSpringExporterInXMLConfiguration.expected
│ │ │ │ ├── UnsafeSpringExporterInXMLConfiguration.qlref
│ │ │ │ ├── beans.xml
│ │ │ │ └── options
│ │ │ │ ├── CWE-522
│ │ │ │ ├── InsecureBasicAuth.expected
│ │ │ │ ├── InsecureBasicAuth.java
│ │ │ │ ├── InsecureBasicAuth.qlref
│ │ │ │ ├── InsecureLdapAuth.expected
│ │ │ │ ├── InsecureLdapAuth.java
│ │ │ │ ├── InsecureLdapAuth.qlref
│ │ │ │ └── options
│ │ │ │ ├── CWE-548
│ │ │ │ ├── A.java
│ │ │ │ ├── InsecureDirectoryConfig.expected
│ │ │ │ ├── InsecureDirectoryConfig.qlref
│ │ │ │ └── insecure-web.xml
│ │ │ │ ├── CWE-555
│ │ │ │ ├── A.java
│ │ │ │ ├── PasswordInConfigurationFile.expected
│ │ │ │ ├── PasswordInConfigurationFile.qlref
│ │ │ │ ├── applicationContext.xml
│ │ │ │ ├── context.xml
│ │ │ │ └── custom-config.xml
│ │ │ │ ├── CWE-598
│ │ │ │ ├── SensitiveGetQuery.expected
│ │ │ │ ├── SensitiveGetQuery.java
│ │ │ │ ├── SensitiveGetQuery.qlref
│ │ │ │ ├── SensitiveGetQuery2.java
│ │ │ │ ├── SensitiveGetQuery3.java
│ │ │ │ ├── SensitiveGetQuery4.java
│ │ │ │ └── options
│ │ │ │ ├── CWE-600
│ │ │ │ ├── UncaughtServletException.expected
│ │ │ │ ├── UncaughtServletException.java
│ │ │ │ ├── UncaughtServletException.qlref
│ │ │ │ ├── UncaughtServletException2.java
│ │ │ │ ├── options
│ │ │ │ └── web.xml
│ │ │ │ ├── CWE-652
│ │ │ │ ├── XQueryInjection.expected
│ │ │ │ ├── XQueryInjection.java
│ │ │ │ ├── XQueryInjection.qlref
│ │ │ │ └── options
│ │ │ │ ├── CWE-749
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── IntentUtils.java
│ │ │ │ ├── SafeActivity1.java
│ │ │ │ ├── SafeActivity2.java
│ │ │ │ ├── SafeActivity3.java
│ │ │ │ ├── UnsafeActivity1.java
│ │ │ │ ├── UnsafeActivity2.java
│ │ │ │ ├── UnsafeActivity3.java
│ │ │ │ ├── UnsafeActivity4.java
│ │ │ │ ├── UnsafeAndroidAccess.expected
│ │ │ │ ├── UnsafeAndroidAccess.java
│ │ │ │ ├── UnsafeAndroidAccess.qlref
│ │ │ │ ├── UnsafeAndroidBroadcastReceiver.java
│ │ │ │ └── options
│ │ │ │ ├── CWE-755
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── IntentUtils.java
│ │ │ │ ├── NFEAndroidDoS.expected
│ │ │ │ ├── NFEAndroidDoS.java
│ │ │ │ ├── NFEAndroidDoS.qlref
│ │ │ │ ├── SafeActivity.java
│ │ │ │ └── options
│ │ │ │ ├── CWE-759
│ │ │ │ ├── HASH.java
│ │ │ │ ├── HashWithoutSalt.expected
│ │ │ │ ├── HashWithoutSalt.java
│ │ │ │ ├── HashWithoutSalt.qlref
│ │ │ │ ├── SHA256.java
│ │ │ │ └── SHA512.java
│ │ │ │ ├── CWE-917
│ │ │ │ ├── OgnlInjection.expected
│ │ │ │ ├── OgnlInjection.java
│ │ │ │ ├── OgnlInjection.qlref
│ │ │ │ └── options
│ │ │ │ ├── CWE-918
│ │ │ │ ├── JaxWsSSRF.java
│ │ │ │ ├── RequestForgery.expected
│ │ │ │ ├── RequestForgery.java
│ │ │ │ ├── RequestForgery.qlref
│ │ │ │ ├── RequestForgery2.java
│ │ │ │ ├── Sinks.java
│ │ │ │ ├── SpringSSRF.java
│ │ │ │ └── options
│ │ │ │ └── CWE-927
│ │ │ │ ├── SensitiveBroadcast.expected
│ │ │ │ ├── SensitiveBroadcast.java
│ │ │ │ ├── SensitiveBroadcast.qlref
│ │ │ │ └── options
│ │ └── stubs
│ │ │ ├── Saxon-HE-9.9.1-7
│ │ │ └── net
│ │ │ │ └── sf
│ │ │ │ └── saxon
│ │ │ │ ├── Configuration.java
│ │ │ │ ├── lib
│ │ │ │ └── SourceResolver.java
│ │ │ │ ├── om
│ │ │ │ └── NotationSet.java
│ │ │ │ └── s9api
│ │ │ │ ├── AbstractXsltTransformer.java
│ │ │ │ ├── Destination.java
│ │ │ │ ├── Processor.java
│ │ │ │ ├── QName.java
│ │ │ │ ├── SaxonApiException.java
│ │ │ │ ├── SaxonApiUncheckedException.java
│ │ │ │ ├── XdmItem.java
│ │ │ │ ├── XdmValue.java
│ │ │ │ ├── Xslt30Transformer.java
│ │ │ │ ├── XsltCompiler.java
│ │ │ │ ├── XsltExecutable.java
│ │ │ │ ├── XsltPackage.java
│ │ │ │ └── XsltTransformer.java
│ │ │ ├── javax-ws-rs-api-2.1.1
│ │ │ └── javax
│ │ │ │ └── ws
│ │ │ │ └── rs
│ │ │ │ ├── client
│ │ │ │ ├── Client.java
│ │ │ │ ├── ClientBuilder.java
│ │ │ │ └── WebTarget.java
│ │ │ │ └── core
│ │ │ │ ├── Configurable.java
│ │ │ │ ├── Configuration.java
│ │ │ │ ├── Link.java
│ │ │ │ ├── UriBuilder.java
│ │ │ │ └── UriBuilderException.java
│ │ │ ├── jxbrowser-6.23.1
│ │ │ └── com
│ │ │ │ └── teamdev
│ │ │ │ └── jxbrowser
│ │ │ │ └── chromium
│ │ │ │ ├── Browser.java
│ │ │ │ ├── CertificateErrorParams.java
│ │ │ │ ├── LoadHandler.java
│ │ │ │ └── LoadParams.java
│ │ │ ├── jxbrowser-6.24
│ │ │ └── com
│ │ │ │ └── teamdev
│ │ │ │ └── jxbrowser
│ │ │ │ └── chromium
│ │ │ │ ├── BoundsListener.java
│ │ │ │ ├── Browser.java
│ │ │ │ ├── CertificateErrorParams.java
│ │ │ │ ├── LoadHandler.java
│ │ │ │ └── LoadParams.java
│ │ │ ├── ognl-3.2.14
│ │ │ └── ognl
│ │ │ │ ├── JavaSource.java
│ │ │ │ ├── Node.java
│ │ │ │ ├── Ognl.java
│ │ │ │ ├── OgnlContext.java
│ │ │ │ └── OgnlException.java
│ │ │ ├── shiro-core-1.5.2
│ │ │ └── org
│ │ │ │ └── apache
│ │ │ │ └── shiro
│ │ │ │ └── jndi
│ │ │ │ └── JndiTemplate.java
│ │ │ └── struts2-core-2.5.22
│ │ │ └── com
│ │ │ └── opensymphony
│ │ │ └── xwork2
│ │ │ └── ognl
│ │ │ └── OgnlUtil.java
│ │ ├── format.json
│ │ ├── library-tests
│ │ ├── Encryption
│ │ │ ├── Test.java
│ │ │ ├── cryptoalgospec.expected
│ │ │ ├── cryptoalgospec.ql
│ │ │ ├── insecure.expected
│ │ │ ├── insecure.ql
│ │ │ ├── secure.expected
│ │ │ └── secure.ql
│ │ ├── ExternalProcess
│ │ │ ├── Test.java
│ │ │ ├── argumentToExec.expected
│ │ │ ├── argumentToExec.ql
│ │ │ └── options
│ │ ├── GeneratedFiles
│ │ │ ├── FacebookAutoGen.java
│ │ │ ├── FollowingCodeGenerated.java
│ │ │ ├── Generated.expected
│ │ │ ├── Generated.ql
│ │ │ ├── HasBeenGenerated.java
│ │ │ ├── JavaCharStream.java
│ │ │ ├── JavaParserTokenManager.java
│ │ │ ├── Mithra.java
│ │ │ ├── QLParser.java
│ │ │ ├── StandardCharsets.java
│ │ │ ├── Test.java
│ │ │ ├── Test2.java
│ │ │ └── test
│ │ │ │ └── ThriftCompiler.java
│ │ ├── JDK
│ │ │ ├── Main.expected
│ │ │ ├── Main.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── SystemGetPropertyCall.expected
│ │ │ ├── SystemGetPropertyCall.ql
│ │ │ └── jdk
│ │ │ │ ├── A.java
│ │ │ │ └── SystemGetPropertyCall.java
│ │ ├── RelativePaths
│ │ │ ├── Test.java
│ │ │ ├── relativePath.expected
│ │ │ └── relativePath.ql
│ │ ├── UnsafeDeserialization
│ │ │ ├── Test.java
│ │ │ ├── unsafeDeserialization.expected
│ │ │ └── unsafeDeserialization.ql
│ │ ├── arrays
│ │ │ ├── ArrayInits.expected
│ │ │ ├── ArrayInits.ql
│ │ │ ├── Dimension.expected
│ │ │ ├── Dimension.ql
│ │ │ ├── ElementType.expected
│ │ │ ├── ElementType.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── arrays
│ │ │ │ ├── A.java
│ │ │ │ └── B.java
│ │ ├── callgraph
│ │ │ ├── HashCodeCallees.expected
│ │ │ ├── HashCodeCallees.ql
│ │ │ └── callgraph
│ │ │ │ └── A.java
│ │ ├── collections
│ │ │ ├── MapMethods.expected
│ │ │ ├── MapMethods.ql
│ │ │ ├── Maps.expected
│ │ │ ├── Maps.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── collections
│ │ │ │ └── Test.java
│ │ ├── commentedcode
│ │ │ ├── CommentedCode.expected
│ │ │ ├── CommentedCode.java
│ │ │ ├── CommentedCode.ql
│ │ │ ├── Test.java
│ │ │ └── options
│ │ ├── comments
│ │ │ ├── .gitattributes
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── Test.java
│ │ │ ├── TestWindows.java
│ │ │ ├── toString.expected
│ │ │ └── toString.ql
│ │ ├── complexity
│ │ │ ├── Complexity.expected
│ │ │ ├── Complexity.java
│ │ │ └── Complexity.ql
│ │ ├── constants
│ │ │ ├── CompileTimeConstantExpr.expected
│ │ │ ├── CompileTimeConstantExpr.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── constants
│ │ │ │ ├── Constants.java
│ │ │ │ ├── Initializers.java
│ │ │ │ └── Values.java
│ │ │ ├── getBooleanValue.expected
│ │ │ ├── getBooleanValue.ql
│ │ │ ├── getInitializer.expected
│ │ │ ├── getInitializer.ql
│ │ │ ├── getIntValue.expected
│ │ │ └── getIntValue.ql
│ │ ├── constructors
│ │ │ ├── ClassInstanceExpr.expected
│ │ │ ├── ClassInstanceExpr.ql
│ │ │ ├── ConstructorCalls.expected
│ │ │ ├── ConstructorCalls.ql
│ │ │ ├── InitMethods.expected
│ │ │ ├── InitMethods.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── constructors
│ │ │ │ └── A.java
│ │ ├── controlflow
│ │ │ ├── basic
│ │ │ │ ├── Test.java
│ │ │ │ ├── bbStmts.expected
│ │ │ │ ├── bbStmts.ql
│ │ │ │ ├── bbStrictDominance.expected
│ │ │ │ ├── bbStrictDominance.ql
│ │ │ │ ├── bbSuccessor.expected
│ │ │ │ ├── bbSuccessor.ql
│ │ │ │ ├── strictDominance.expected
│ │ │ │ ├── strictDominance.ql
│ │ │ │ ├── strictPostDominance.expected
│ │ │ │ └── strictPostDominance.ql
│ │ │ ├── dominance
│ │ │ │ ├── Test.java
│ │ │ │ ├── Test2.java
│ │ │ │ ├── dominanceBad.expected
│ │ │ │ ├── dominanceBad.ql
│ │ │ │ ├── dominanceWrong.expected
│ │ │ │ ├── dominanceWrong.ql
│ │ │ │ ├── dominatedByStart.expected
│ │ │ │ ├── dominatedByStart.ql
│ │ │ │ ├── dominator.expected
│ │ │ │ ├── dominator.ql
│ │ │ │ ├── dominatorExists.expected
│ │ │ │ ├── dominatorExists.ql
│ │ │ │ ├── dominatorUnique.expected
│ │ │ │ └── dominatorUnique.ql
│ │ │ └── paths
│ │ │ │ ├── A.java
│ │ │ │ ├── paths.expected
│ │ │ │ └── paths.ql
│ │ ├── dataflow
│ │ │ ├── call-sensitivity
│ │ │ │ ├── A.java
│ │ │ │ ├── A2.java
│ │ │ │ ├── InterfaceA.java
│ │ │ │ ├── InterfaceB.java
│ │ │ │ ├── flow.expected
│ │ │ │ └── flow.ql
│ │ │ ├── callctx
│ │ │ │ ├── A.java
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── capture
│ │ │ │ ├── A.java
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── collections
│ │ │ │ ├── ContainterTest.java
│ │ │ │ ├── Test.java
│ │ │ │ ├── flow.expected
│ │ │ │ └── flow.ql
│ │ │ ├── external-models
│ │ │ │ ├── A.java
│ │ │ │ ├── B.java
│ │ │ │ ├── C.java
│ │ │ │ ├── sinks.expected
│ │ │ │ ├── sinks.ql
│ │ │ │ ├── srcs.expected
│ │ │ │ ├── srcs.ql
│ │ │ │ ├── steps.expected
│ │ │ │ └── steps.ql
│ │ │ ├── fields
│ │ │ │ ├── A.java
│ │ │ │ ├── B.java
│ │ │ │ ├── C.java
│ │ │ │ ├── D.java
│ │ │ │ ├── E.java
│ │ │ │ ├── F.java
│ │ │ │ ├── flow.expected
│ │ │ │ └── flow.ql
│ │ │ ├── fluent-methods
│ │ │ │ ├── Test.java
│ │ │ │ ├── flow.expected
│ │ │ │ └── flow.ql
│ │ │ ├── getter
│ │ │ │ ├── A.java
│ │ │ │ ├── getter.expected
│ │ │ │ └── getter.ql
│ │ │ ├── inoutbarriers
│ │ │ │ ├── A.java
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── lambda
│ │ │ │ ├── Executor.java
│ │ │ │ ├── Processor.java
│ │ │ │ ├── StringProcessor.java
│ │ │ │ ├── flow.expected
│ │ │ │ └── flow.ql
│ │ │ ├── local-additional-taint
│ │ │ │ ├── ArraysTest.java
│ │ │ │ ├── CollectionsTest.java
│ │ │ │ ├── Test.java
│ │ │ │ ├── localAdditionalTaintStep.expected
│ │ │ │ ├── localAdditionalTaintStep.ql
│ │ │ │ └── options
│ │ │ ├── local-flow
│ │ │ │ ├── ObjectsTest.java
│ │ │ │ ├── flow.expected
│ │ │ │ ├── flow.ql
│ │ │ │ └── options
│ │ │ ├── modulus-analysis
│ │ │ │ ├── ModulusAnalysis.expected
│ │ │ │ ├── ModulusAnalysis.java
│ │ │ │ └── ModulusAnalysis.ql
│ │ │ ├── null
│ │ │ │ ├── A.java
│ │ │ │ ├── testnullflow.expected
│ │ │ │ └── testnullflow.ql
│ │ │ ├── partial
│ │ │ │ ├── A.java
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ ├── testRev.expected
│ │ │ │ └── testRev.ql
│ │ │ ├── range-analysis
│ │ │ │ ├── A.java
│ │ │ │ ├── RangeAnalysis.expected
│ │ │ │ └── RangeAnalysis.ql
│ │ │ ├── records
│ │ │ │ ├── A.java
│ │ │ │ ├── options
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── sign-analysis
│ │ │ │ ├── A.java
│ │ │ │ ├── SignAnalysis.expected
│ │ │ │ └── SignAnalysis.ql
│ │ │ ├── switchexpr
│ │ │ │ ├── TestSwitchExpr.java
│ │ │ │ ├── options
│ │ │ │ ├── switchexprflow.expected
│ │ │ │ └── switchexprflow.ql
│ │ │ ├── taint-format
│ │ │ │ ├── A.java
│ │ │ │ ├── options
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── taint-ioutils
│ │ │ │ ├── Test.java
│ │ │ │ ├── dataFlow.expected
│ │ │ │ ├── dataFlow.ql
│ │ │ │ └── options
│ │ │ ├── taint-jackson
│ │ │ │ ├── Test.java
│ │ │ │ ├── dataFlow.expected
│ │ │ │ ├── dataFlow.ql
│ │ │ │ └── options
│ │ │ ├── taint
│ │ │ │ ├── A.java
│ │ │ │ ├── B.java
│ │ │ │ ├── MethodFlow.java
│ │ │ │ ├── StringBuilderTests.java
│ │ │ │ ├── Varargs.java
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── taintgettersetter
│ │ │ │ ├── A.java
│ │ │ │ ├── taintgettersetter.expected
│ │ │ │ └── taintgettersetter.ql
│ │ │ ├── taintreturn
│ │ │ │ ├── Test.java
│ │ │ │ ├── taintreturn.expected
│ │ │ │ └── taintreturn.ql
│ │ │ ├── taintsources
│ │ │ │ ├── A.java
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── IntentSources.java
│ │ │ │ ├── PlayResource.java
│ │ │ │ ├── RmiFlow.java
│ │ │ │ ├── RmiFlowImpl.java
│ │ │ │ ├── SpringMultiPart.java
│ │ │ │ ├── local.expected
│ │ │ │ ├── local.ql
│ │ │ │ ├── options
│ │ │ │ ├── remote.expected
│ │ │ │ └── remote.ql
│ │ │ ├── this-flow
│ │ │ │ ├── A.java
│ │ │ │ ├── this-flow.expected
│ │ │ │ └── this-flow.ql
│ │ │ └── typepruning
│ │ │ │ ├── A.java
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ ├── defUse
│ │ │ ├── Test.java
│ │ │ ├── defUse.expected
│ │ │ ├── defUse.ql
│ │ │ ├── parameterUse.expected
│ │ │ ├── parameterUse.ql
│ │ │ ├── useUse.expected
│ │ │ └── useUse.ql
│ │ ├── dependency-counts
│ │ │ ├── Example.java
│ │ │ ├── NumDepends.expected
│ │ │ ├── NumDepends.ql
│ │ │ ├── PrintAst.expected
│ │ │ └── PrintAst.qlref
│ │ ├── dependency
│ │ │ ├── Depends.expected
│ │ │ ├── Depends.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── UsesType.expected
│ │ │ ├── UsesType.ql
│ │ │ └── dependency
│ │ │ │ └── A.java
│ │ ├── dispatch
│ │ │ ├── Test.java
│ │ │ ├── ViableCallable.java
│ │ │ ├── ViableCallable2.java
│ │ │ ├── ViableCallable3.java
│ │ │ ├── ViableCallableA.java
│ │ │ ├── ViableCallableB.java
│ │ │ ├── viableCallable.expected
│ │ │ ├── viableCallable.ql
│ │ │ ├── virtualDispatch.expected
│ │ │ └── virtualDispatch.ql
│ │ ├── fields
│ │ │ ├── FieldAnnotations.expected
│ │ │ ├── FieldAnnotations.ql
│ │ │ ├── FieldDecl.expected
│ │ │ ├── FieldDecl.ql
│ │ │ ├── FieldDeclLocation.expected
│ │ │ ├── FieldDeclLocation.ql
│ │ │ ├── FieldLocation.expected
│ │ │ ├── FieldLocation.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── fields
│ │ │ │ └── FieldTest.java
│ │ ├── frameworks
│ │ │ ├── android
│ │ │ │ ├── manifest
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── Test.java
│ │ │ │ │ ├── manifest.expected
│ │ │ │ │ └── manifest.ql
│ │ │ │ └── taint-database
│ │ │ │ │ ├── FlowSteps.java
│ │ │ │ │ ├── Sinks.java
│ │ │ │ │ ├── flowSteps.expected
│ │ │ │ │ ├── flowSteps.ql
│ │ │ │ │ ├── options
│ │ │ │ │ ├── sinks.expected
│ │ │ │ │ └── sinks.ql
│ │ │ ├── apache-commons-lang3
│ │ │ │ ├── ArrayUtilsTest.java
│ │ │ │ ├── ObjectUtilsTest.java
│ │ │ │ ├── RegExUtilsTest.java
│ │ │ │ ├── StrBuilderTest.java
│ │ │ │ ├── StrBuilderTextTest.java
│ │ │ │ ├── StrLookupTest.java
│ │ │ │ ├── StrSubstitutorTest.java
│ │ │ │ ├── StrTokenizerTest.java
│ │ │ │ ├── StrTokenizerTextTest.java
│ │ │ │ ├── StringLookupTextTest.java
│ │ │ │ ├── StringSubstitutorTextTest.java
│ │ │ │ ├── StringTokenizerTest.java
│ │ │ │ ├── Test.java
│ │ │ │ ├── TextStringBuilderTest.java
│ │ │ │ ├── WordUtilsTest.java
│ │ │ │ ├── WordUtilsTextTest.java
│ │ │ │ ├── flow.expected
│ │ │ │ ├── flow.ql
│ │ │ │ └── options
│ │ │ ├── apache-http
│ │ │ │ ├── A.java
│ │ │ │ ├── B.java
│ │ │ │ ├── flow.expected
│ │ │ │ ├── flow.ql
│ │ │ │ └── options
│ │ │ ├── guava
│ │ │ │ ├── TestBase.java
│ │ │ │ ├── TestCollect.java
│ │ │ │ ├── TestIO.java
│ │ │ │ ├── flow.expected
│ │ │ │ ├── flow.ql
│ │ │ │ └── options
│ │ │ ├── guice
│ │ │ │ ├── GuiceRequestParameters.java
│ │ │ │ ├── flow.expected
│ │ │ │ ├── flow.ql
│ │ │ │ └── options
│ │ │ └── play
│ │ │ │ ├── PlayActionMethodQueryParameter.expected
│ │ │ │ ├── PlayActionMethodQueryParameter.ql
│ │ │ │ ├── PlayAddCsrfTokenAnnotation.expected
│ │ │ │ ├── PlayAddCsrfTokenAnnotation.ql
│ │ │ │ ├── PlayBodyParserAnnotation.expected
│ │ │ │ ├── PlayBodyParserAnnotation.ql
│ │ │ │ ├── PlayController.expected
│ │ │ │ ├── PlayController.ql
│ │ │ │ ├── PlayControllerActionMethod.expected
│ │ │ │ ├── PlayControllerActionMethod.ql
│ │ │ │ ├── PlayMvcHttpRequestHeader.expected
│ │ │ │ ├── PlayMvcHttpRequestHeader.ql
│ │ │ │ ├── PlayMvcResultClass.expected
│ │ │ │ ├── PlayMvcResultClass.ql
│ │ │ │ ├── PlayMvcResultsClass.expected
│ │ │ │ ├── PlayMvcResultsClass.ql
│ │ │ │ ├── PlayMvcResultsMethods.expected
│ │ │ │ ├── PlayMvcResultsMethods.ql
│ │ │ │ ├── options
│ │ │ │ └── resources
│ │ │ │ └── Resource.java
│ │ ├── generics
│ │ │ ├── BinaryTypeVars.expected
│ │ │ ├── BinaryTypeVars.ql
│ │ │ ├── ParameterizedClassInstanceExpressions.expected
│ │ │ ├── ParameterizedClassInstanceExpressions.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── SourceDeclaration.expected
│ │ │ ├── SourceDeclaration.ql
│ │ │ ├── TypeVarsUpperBound.expected
│ │ │ ├── TypeVarsUpperBound.ql
│ │ │ ├── WildcardsLowerBound.expected
│ │ │ ├── WildcardsLowerBound.ql
│ │ │ └── generics
│ │ │ │ └── A.java
│ │ ├── guards
│ │ │ ├── Logic.java
│ │ │ ├── Test.java
│ │ │ ├── guards.expected
│ │ │ ├── guards.ql
│ │ │ ├── guardslogic.expected
│ │ │ └── guardslogic.ql
│ │ ├── guards12
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── Test.java
│ │ │ ├── guard.expected
│ │ │ ├── guard.ql
│ │ │ └── options
│ │ ├── gwt
│ │ │ ├── JSNI.expected
│ │ │ ├── JSNI.java
│ │ │ └── JSNI.ql
│ │ ├── j2objc
│ │ │ ├── OCNIComment.expected
│ │ │ ├── OCNIComment.ql
│ │ │ ├── Test.java
│ │ │ └── options
│ │ ├── java7
│ │ │ ├── Diamond
│ │ │ │ ├── Diamond.java
│ │ │ │ ├── Diamonds.expected
│ │ │ │ ├── Diamonds.ql
│ │ │ │ ├── PrintAst.expected
│ │ │ │ └── PrintAst.qlref
│ │ │ └── MultiCatch
│ │ │ │ ├── MultiCatch.expected
│ │ │ │ ├── MultiCatch.java
│ │ │ │ ├── MultiCatch.ql
│ │ │ │ ├── MultiCatchControlFlow.expected
│ │ │ │ ├── MultiCatchControlFlow.ql
│ │ │ │ ├── PrintAst.expected
│ │ │ │ └── PrintAst.qlref
│ │ ├── javadoc
│ │ │ ├── AllComments.expected
│ │ │ ├── AllComments.ql
│ │ │ ├── JavadocComments.expected
│ │ │ ├── JavadocComments.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── javadoc
│ │ │ │ └── Test.java
│ │ ├── literals
│ │ │ ├── literalBoolean.expected
│ │ │ ├── literalBoolean.ql
│ │ │ ├── literalChar.expected
│ │ │ ├── literalChar.ql
│ │ │ ├── literalDouble.expected
│ │ │ ├── literalDouble.ql
│ │ │ ├── literalFloat.expected
│ │ │ ├── literalFloat.ql
│ │ │ ├── literalInteger.expected
│ │ │ ├── literalInteger.ql
│ │ │ ├── literalLong.expected
│ │ │ ├── literalLong.ql
│ │ │ ├── literalString.expected
│ │ │ ├── literalString.ql
│ │ │ └── literals
│ │ │ │ └── Literals.java
│ │ ├── localvars
│ │ │ ├── LocalVarDeclExprChildren.expected
│ │ │ ├── LocalVarDeclExprChildren.ql
│ │ │ ├── LocalVarDeclExprTypeAccess.expected
│ │ │ ├── LocalVarDeclExprTypeAccess.ql
│ │ │ ├── LocalVarDeclExprs.expected
│ │ │ ├── LocalVarDeclExprs.ql
│ │ │ ├── LocalVarDeclStmtChildren.expected
│ │ │ ├── LocalVarDeclStmtChildren.ql
│ │ │ ├── TypeAccesses.expected
│ │ │ ├── TypeAccesses.ql
│ │ │ └── localvars
│ │ │ │ └── LocalVarTest.java
│ │ ├── locations
│ │ │ ├── EnumLocations.expected
│ │ │ ├── EnumLocations.ql
│ │ │ ├── ExceptionLocations.expected
│ │ │ ├── ExceptionLocations.ql
│ │ │ ├── LiteralLocations.expected
│ │ │ ├── LiteralLocations.ql
│ │ │ ├── NegativeLiteralLocation.expected
│ │ │ ├── NegativeLiteralLocation.ql
│ │ │ ├── NewLocations.expected
│ │ │ ├── NewLocations.ql
│ │ │ ├── TypeLocations.expected
│ │ │ ├── TypeLocations.ql
│ │ │ ├── WildcardLocations.expected
│ │ │ ├── WildcardLocations.ql
│ │ │ └── locations
│ │ │ │ ├── A.java
│ │ │ │ ├── B.java
│ │ │ │ ├── C.java
│ │ │ │ ├── D.java
│ │ │ │ ├── E.java
│ │ │ │ ├── F.java
│ │ │ │ └── G.java
│ │ ├── modifiers
│ │ │ ├── EnumFinality.expected
│ │ │ ├── EnumFinality.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── Test.java
│ │ ├── overrides
│ │ │ ├── ConstructedOverrides.expected
│ │ │ ├── ConstructedOverrides.java
│ │ │ ├── ConstructedOverrides.ql
│ │ │ ├── ConstructedOverrides2.expected
│ │ │ └── ConstructedOverrides2.ql
│ │ ├── overriding
│ │ │ ├── Method_getAPossibleImplementation.expected
│ │ │ ├── Method_getAPossibleImplementation.ql
│ │ │ ├── Method_getAnOverride.expected
│ │ │ ├── Method_getAnOverride.ql
│ │ │ └── Test.java
│ │ ├── pathcreation
│ │ │ ├── PathCreation.expected
│ │ │ ├── PathCreation.java
│ │ │ └── PathCreation.ql
│ │ ├── printAst
│ │ │ ├── A.java
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── options
│ │ ├── properties
│ │ │ ├── Properties.expected
│ │ │ ├── Properties.ql
│ │ │ ├── Test.java
│ │ │ └── test.properties
│ │ ├── qlengine
│ │ │ ├── Tst.java
│ │ │ ├── castAtType.expected
│ │ │ ├── castAtType.ql
│ │ │ ├── fromAtType.expected
│ │ │ ├── fromAtType.ql
│ │ │ ├── instanceOfAtType.expected
│ │ │ ├── instanceOfAtType.ql
│ │ │ ├── selectAtType.expected
│ │ │ └── selectAtType.ql
│ │ ├── reflection
│ │ │ ├── InferClassParameter.expected
│ │ │ ├── InferClassParameter.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ └── reflection
│ │ │ │ └── ReflectiveAccess.java
│ │ ├── ssa-large
│ │ │ ├── Large.java
│ │ │ ├── countssa.expected
│ │ │ └── countssa.ql
│ │ ├── ssa
│ │ │ ├── Fields.java
│ │ │ ├── Nested.java
│ │ │ ├── Test.java
│ │ │ ├── TestInstanceOfPattern.java
│ │ │ ├── adjacentUses.expected
│ │ │ ├── adjacentUses.ql
│ │ │ ├── captures.expected
│ │ │ ├── captures.ql
│ │ │ ├── firstUse.expected
│ │ │ ├── firstUse.ql
│ │ │ ├── options
│ │ │ ├── ssaDef.expected
│ │ │ ├── ssaDef.ql
│ │ │ ├── ssaPhi.expected
│ │ │ ├── ssaPhi.ql
│ │ │ ├── ssaUse.expected
│ │ │ └── ssaUse.ql
│ │ ├── stmts
│ │ │ ├── JumpTargets.expected
│ │ │ ├── JumpTargets.ql
│ │ │ ├── SwitchCases.expected
│ │ │ ├── SwitchCases.ql
│ │ │ └── stmts
│ │ │ │ ├── A.java
│ │ │ │ └── B.java
│ │ ├── structure
│ │ │ ├── DeclaresMember.expected
│ │ │ ├── DeclaresMember.ql
│ │ │ ├── EnclosingCallables.expected
│ │ │ ├── EnclosingCallables.ql
│ │ │ ├── EnclosingStatements.expected
│ │ │ ├── EnclosingStatements.ql
│ │ │ ├── HasMethod.expected
│ │ │ ├── HasMethod.ql
│ │ │ ├── HasObjectMethod.expected
│ │ │ ├── HasObjectMethod.ql
│ │ │ ├── InSameTopLevelType.expected
│ │ │ ├── InSameTopLevelType.ql
│ │ │ ├── IsInType.expected
│ │ │ ├── IsInType.ql
│ │ │ ├── IsNestedType.expected
│ │ │ ├── IsNestedType.ql
│ │ │ ├── IsTopLevelType.expected
│ │ │ ├── IsTopLevelType.ql
│ │ │ ├── OuterType.expected
│ │ │ ├── OuterType.ql
│ │ │ ├── TypeGetCompilationUnit.expected
│ │ │ ├── TypeGetCompilationUnit.ql
│ │ │ ├── TypeIsInPackage.expected
│ │ │ ├── TypeIsInPackage.ql
│ │ │ └── structure
│ │ │ │ ├── A.java
│ │ │ │ └── Inherit.java
│ │ ├── successors
│ │ │ ├── CloseReaderTest
│ │ │ │ ├── CloseReaderTest.java
│ │ │ │ ├── FalseSuccessors.expected
│ │ │ │ ├── FalseSuccessors.ql
│ │ │ │ ├── PopulateRuntimeException.java
│ │ │ │ ├── TestSucc.expected
│ │ │ │ └── TestSucc.ql
│ │ │ ├── LoopVarReadTest
│ │ │ │ ├── FalseSuccessors.expected
│ │ │ │ ├── FalseSuccessors.ql
│ │ │ │ ├── LoopVarReadTest.java
│ │ │ │ ├── PopulateRuntimeException.java
│ │ │ │ ├── TestSucc.expected
│ │ │ │ └── TestSucc.ql
│ │ │ ├── SaveFileTest
│ │ │ │ ├── FalseSuccessors.expected
│ │ │ │ ├── FalseSuccessors.ql
│ │ │ │ ├── PopulateRuntimeException.java
│ │ │ │ ├── SaveFileTest.java
│ │ │ │ ├── TestSucc.expected
│ │ │ │ └── TestSucc.ql
│ │ │ ├── SchackTest
│ │ │ │ ├── FalseSuccessors.expected
│ │ │ │ ├── FalseSuccessors.ql
│ │ │ │ ├── PopulateRuntimeException.java
│ │ │ │ ├── SchackTest.java
│ │ │ │ ├── TestSucc.expected
│ │ │ │ └── TestSucc.ql
│ │ │ ├── TestBreak
│ │ │ │ ├── FalseSuccessors.expected
│ │ │ │ ├── FalseSuccessors.ql
│ │ │ │ ├── PopulateRuntimeException.java
│ │ │ │ ├── TestBreak.java
│ │ │ │ ├── TestSucc.expected
│ │ │ │ └── TestSucc.ql
│ │ │ ├── TestContinue
│ │ │ │ ├── FalseSuccessors.expected
│ │ │ │ ├── FalseSuccessors.ql
│ │ │ │ ├── PopulateRuntimeException.java
│ │ │ │ ├── TestContinue.java
│ │ │ │ ├── TestSucc.expected
│ │ │ │ └── TestSucc.ql
│ │ │ ├── TestDeclarations
│ │ │ │ ├── FalseSuccessors.expected
│ │ │ │ ├── FalseSuccessors.ql
│ │ │ │ ├── PopulateRuntimeException.java
│ │ │ │ ├── TestDeclarations.java
│ │ │ │ ├── TestSucc.expected
│ │ │ │ └── TestSucc.ql
│ │ │ ├── TestFinally
│ │ │ │ ├── FalseSuccessors.expected
│ │ │ │ ├── FalseSuccessors.ql
│ │ │ │ ├── PopulateRuntimeException.java
│ │ │ │ ├── TestFinally.java
│ │ │ │ ├── TestSucc.expected
│ │ │ │ └── TestSucc.ql
│ │ │ ├── TestFinallyBreakContinue
│ │ │ │ ├── FalseSuccessors.expected
│ │ │ │ ├── FalseSuccessors.ql
│ │ │ │ ├── PopulateRuntimeException.java
│ │ │ │ ├── TestFinallyBreakContinue.java
│ │ │ │ ├── TestSucc.expected
│ │ │ │ └── TestSucc.ql
│ │ │ ├── TestLoopBranch
│ │ │ │ ├── FalseSuccessors.expected
│ │ │ │ ├── FalseSuccessors.ql
│ │ │ │ ├── PopulateRuntimeException.java
│ │ │ │ ├── TestLoopBranch.java
│ │ │ │ ├── TestSucc.expected
│ │ │ │ └── TestSucc.ql
│ │ │ ├── TestThrow
│ │ │ │ ├── FalseSuccessors.expected
│ │ │ │ ├── FalseSuccessors.ql
│ │ │ │ ├── PopulateRuntimeException.java
│ │ │ │ ├── TestSucc.expected
│ │ │ │ ├── TestSucc.ql
│ │ │ │ └── TestThrow.java
│ │ │ ├── TestThrow2
│ │ │ │ ├── FalseSuccessors.expected
│ │ │ │ ├── FalseSuccessors.ql
│ │ │ │ ├── PopulateRuntimeException.java
│ │ │ │ ├── TestSucc.expected
│ │ │ │ ├── TestSucc.ql
│ │ │ │ └── TestThrow2.java
│ │ │ ├── TestTryCatch
│ │ │ │ ├── FalseSuccessors.expected
│ │ │ │ ├── FalseSuccessors.ql
│ │ │ │ ├── PopulateRuntimeException.java
│ │ │ │ ├── TestSucc.expected
│ │ │ │ ├── TestSucc.ql
│ │ │ │ └── TestTryCatch.java
│ │ │ └── TestTryWithResources
│ │ │ │ ├── FalseSuccessors.expected
│ │ │ │ ├── FalseSuccessors.ql
│ │ │ │ ├── PopulateRuntimeException.java
│ │ │ │ ├── TestSucc.expected
│ │ │ │ ├── TestSucc.ql
│ │ │ │ └── TestTryWithResources.java
│ │ ├── typeaccesses
│ │ │ ├── ArrayTypeAccesses.expected
│ │ │ ├── ArrayTypeAccesses.ql
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── TypeAccesses.expected
│ │ │ ├── TypeAccesses.ql
│ │ │ └── typeaccesses
│ │ │ │ ├── Arrays.java
│ │ │ │ ├── Outer.java
│ │ │ │ └── TA.java
│ │ ├── typeflow
│ │ │ ├── A.java
│ │ │ ├── typeflow.expected
│ │ │ └── typeflow.ql
│ │ ├── types
│ │ │ ├── A.java
│ │ │ ├── FloatingPointTypes.expected
│ │ │ ├── FloatingPointTypes.ql
│ │ │ ├── IntegralTypes.expected
│ │ │ ├── IntegralTypes.ql
│ │ │ ├── NumericTypes.expected
│ │ │ └── NumericTypes.ql
│ │ ├── unreachableblocks
│ │ │ ├── UnreachableBlocks.expected
│ │ │ ├── UnreachableBlocks.ql
│ │ │ └── unreachableblocks
│ │ │ │ └── Unreachable.java
│ │ └── varargs
│ │ │ ├── PrintAst.expected
│ │ │ ├── PrintAst.qlref
│ │ │ ├── Varargs.expected
│ │ │ ├── Varargs.ql
│ │ │ └── varargs
│ │ │ └── Test.java
│ │ ├── qlpack.yml
│ │ ├── queries.xml
│ │ ├── query-tests
│ │ ├── AlertSuppression
│ │ │ ├── .gitattributes
│ │ │ ├── AlertSuppression.expected
│ │ │ ├── AlertSuppression.qlref
│ │ │ ├── AlertSuppressionAnnotations.expected
│ │ │ ├── AlertSuppressionAnnotations.qlref
│ │ │ ├── Test.java
│ │ │ ├── TestSuppressWarnings.java
│ │ │ └── TestWindows.java
│ │ ├── AutoBoxing
│ │ │ ├── AutoBoxing.expected
│ │ │ ├── AutoBoxing.qlref
│ │ │ └── Test.java
│ │ ├── AvoidDeprecatedCallableAccess
│ │ │ ├── AvoidDeprecatedCallableAccess.expected
│ │ │ ├── AvoidDeprecatedCallableAccess.qlref
│ │ │ └── Test.java
│ │ ├── BadAbsOfRandom
│ │ │ ├── BadAbsOfRandom.expected
│ │ │ ├── BadAbsOfRandom.qlref
│ │ │ ├── Test.java
│ │ │ └── options
│ │ ├── BadCheckOdd
│ │ │ ├── BadCheckOdd.expected
│ │ │ ├── BadCheckOdd.java
│ │ │ └── BadCheckOdd.qlref
│ │ ├── BoxedVariable
│ │ │ ├── BoxedVariable.expected
│ │ │ ├── BoxedVariable.java
│ │ │ └── BoxedVariable.qlref
│ │ ├── BusyWait
│ │ │ ├── BusyWait.expected
│ │ │ ├── BusyWait.qlref
│ │ │ └── BusyWaits.java
│ │ ├── CallsToRunnableRun
│ │ │ ├── CallsToRunnableRun.expected
│ │ │ ├── CallsToRunnableRun.java
│ │ │ └── CallsToRunnableRun.qlref
│ │ ├── CloseResource
│ │ │ └── CloseReader
│ │ │ │ ├── CloseReader.expected
│ │ │ │ ├── CloseReader.java
│ │ │ │ └── CloseReader.qlref
│ │ ├── CompareIdenticalValues
│ │ │ ├── A.java
│ │ │ ├── CompareIdenticalValues.expected
│ │ │ └── CompareIdenticalValues.qlref
│ │ ├── ComplexCondition
│ │ │ ├── ComplexCondition.expected
│ │ │ ├── ComplexCondition.java
│ │ │ └── ComplexCondition.qlref
│ │ ├── ConfusingOverloading
│ │ │ ├── ConfusingOverloading.expected
│ │ │ ├── ConfusingOverloading.qlref
│ │ │ └── TestConfusingOverloading.java
│ │ ├── ConstantExpAppearsNonConstant
│ │ │ ├── ConstantExpAppearsNonConstant.expected
│ │ │ ├── ConstantExpAppearsNonConstant.qlref
│ │ │ └── Test.java
│ │ ├── ConstantLoopCondition
│ │ │ ├── A.java
│ │ │ ├── ConstantLoopCondition.expected
│ │ │ └── ConstantLoopCondition.qlref
│ │ ├── ContainerSizeCmpZero
│ │ │ ├── ContainerSizeCmpZero.expected
│ │ │ ├── ContainerSizeCmpZero.qlref
│ │ │ └── Main.java
│ │ ├── ContinueInFalseLoop
│ │ │ ├── A.java
│ │ │ ├── ContinueInFalseLoop.expected
│ │ │ └── ContinueInFalseLoop.qlref
│ │ ├── ContradictoryTypeChecks
│ │ │ ├── ContradictoryTypeChecks.expected
│ │ │ ├── ContradictoryTypeChecks.qlref
│ │ │ └── Test.java
│ │ ├── DeadCode
│ │ │ └── NonAssignedFields
│ │ │ │ ├── NonAssignedFields.expected
│ │ │ │ ├── NonAssignedFields.qlref
│ │ │ │ └── NonAssignedFieldsTest.java
│ │ ├── Declarations
│ │ │ ├── BreakInSwitchCase.expected
│ │ │ ├── BreakInSwitchCase.qlref
│ │ │ └── Test.java
│ │ ├── DefineEqualsWhenAddingFields
│ │ │ ├── A.java
│ │ │ ├── B.java
│ │ │ ├── DefineEqualsWhenAddingFields.expected
│ │ │ ├── DefineEqualsWhenAddingFields.qlref
│ │ │ ├── DelegateEq.java
│ │ │ ├── Fragment.java
│ │ │ ├── I.java
│ │ │ ├── MyFragment.java
│ │ │ └── RefEq.java
│ │ ├── DoubleCheckedLocking
│ │ │ ├── A.java
│ │ │ ├── DoubleCheckedLocking.expected
│ │ │ ├── DoubleCheckedLocking.qlref
│ │ │ ├── DoubleCheckedLockingWithInitRace.expected
│ │ │ └── DoubleCheckedLockingWithInitRace.qlref
│ │ ├── EqualsArray
│ │ │ ├── EqualsArray.expected
│ │ │ ├── EqualsArray.qlref
│ │ │ └── Test.java
│ │ ├── EqualsUsesInstanceOf
│ │ │ ├── EqualsUsesInstanceOf.expected
│ │ │ ├── EqualsUsesInstanceOf.qlref
│ │ │ └── Test.java
│ │ ├── Finally
│ │ │ ├── Finally.java
│ │ │ ├── FinallyMayNotComplete.expected
│ │ │ └── FinallyMayNotComplete.qlref
│ │ ├── HashedButNoHash
│ │ │ ├── HashedButNoHash.expected
│ │ │ ├── HashedButNoHash.qlref
│ │ │ └── Test.java
│ │ ├── IgnoreExceptionalReturn
│ │ │ ├── IgnoreExceptionalReturn.expected
│ │ │ ├── IgnoreExceptionalReturn.qlref
│ │ │ └── Test.java
│ │ ├── ImpossibleCast
│ │ │ ├── ImpossibleCast.expected
│ │ │ ├── ImpossibleCast.qlref
│ │ │ └── impossible_cast
│ │ │ │ └── A.java
│ │ ├── InconsistentEqualsHashCode
│ │ │ ├── InconsistentEqualsHashCode.expected
│ │ │ ├── InconsistentEqualsHashCode.qlref
│ │ │ └── Test.java
│ │ ├── InconsistentOperations
│ │ │ ├── InconsistentCallOnResult.expected
│ │ │ ├── InconsistentCallOnResult.qlref
│ │ │ ├── Operations.java
│ │ │ ├── ReturnValueIgnored.expected
│ │ │ ├── ReturnValueIgnored.qlref
│ │ │ ├── Test2.java
│ │ │ ├── Test3.java
│ │ │ ├── Test4.java
│ │ │ ├── Test5.java
│ │ │ └── Test6.java
│ │ ├── InefficientOutputStream
│ │ │ ├── InefficientOutputStream.expected
│ │ │ ├── InefficientOutputStream.qlref
│ │ │ ├── InefficientOutputStreamBad.java
│ │ │ └── InefficientOutputStreamGood.java
│ │ ├── InnerClassCouldBeStatic
│ │ │ ├── Classes.java
│ │ │ ├── InnerClassCouldBeStatic.expected
│ │ │ ├── InnerClassCouldBeStatic.qlref
│ │ │ └── Test.java
│ │ ├── Iterable
│ │ │ ├── IterableIterator.expected
│ │ │ ├── IterableIterator.qlref
│ │ │ ├── Test.java
│ │ │ ├── WrappedIterator.expected
│ │ │ └── WrappedIterator.qlref
│ │ ├── IteratorRemoveMayFail
│ │ │ ├── IteratorRemoveMayFail.expected
│ │ │ ├── IteratorRemoveMayFail.qlref
│ │ │ └── Test.java
│ │ ├── Javadoc
│ │ │ ├── ImpossibleJavadocThrows.expected
│ │ │ ├── ImpossibleJavadocThrows.java
│ │ │ └── ImpossibleJavadocThrows.qlref
│ │ ├── LShiftLargerThanTypeWidth
│ │ │ ├── A.java
│ │ │ ├── LShiftLargerThanTypeWidth.expected
│ │ │ └── LShiftLargerThanTypeWidth.qlref
│ │ ├── LazyInitStaticField
│ │ │ ├── LazyInitStaticField.expected
│ │ │ ├── LazyInitStaticField.qlref
│ │ │ └── LazyInits.java
│ │ ├── MissedTernaryOpportunity
│ │ │ ├── MissedTernaryOpportunity.expected
│ │ │ ├── MissedTernaryOpportunity.qlref
│ │ │ └── MissedTernaryOpportunityTest.java
│ │ ├── MissingCallToSuperClone
│ │ │ ├── MissingCallToSuperClone.expected
│ │ │ ├── MissingCallToSuperClone.qlref
│ │ │ └── Test.java
│ │ ├── MissingInstanceofInEquals
│ │ │ ├── AlsoGood.java
│ │ │ ├── Bad.java
│ │ │ ├── Good.java
│ │ │ ├── GoodReturn.java
│ │ │ ├── MissingInstanceofInEquals.expected
│ │ │ └── MissingInstanceofInEquals.qlref
│ │ ├── MissingOverrideAnnotation
│ │ │ ├── MissingOverrideAnnotation.expected
│ │ │ ├── MissingOverrideAnnotation.qlref
│ │ │ └── Test.java
│ │ ├── MissingSpaceTypo
│ │ │ ├── A.java
│ │ │ ├── MissingSpaceTypo.expected
│ │ │ └── MissingSpaceTypo.qlref
│ │ ├── MutualDependency
│ │ │ ├── MutualDependency.expected
│ │ │ ├── MutualDependency.qlref
│ │ │ ├── onepackage
│ │ │ │ └── MutualDependency.java
│ │ │ └── otherpackage
│ │ │ │ └── OtherClass.java
│ │ ├── Naming
│ │ │ ├── ConfusingOverloading.expected
│ │ │ ├── ConfusingOverloading.qlref
│ │ │ └── NamingTest.java
│ │ ├── NonPrivateField
│ │ │ ├── NonPrivateField.expected
│ │ │ ├── NonPrivateField.qlref
│ │ │ └── NonPrivateFieldTest.java
│ │ ├── NonSerializableField
│ │ │ ├── NonSerializableField.expected
│ │ │ ├── NonSerializableField.qlref
│ │ │ └── NonSerializableFieldTest.java
│ │ ├── NonSerializableInnerClass
│ │ │ ├── NonSerializableInnerClass.expected
│ │ │ ├── NonSerializableInnerClass.qlref
│ │ │ └── NonSerializableInnerClassTest.java
│ │ ├── NonSynchronizedOverride
│ │ │ ├── NonSynchronizedOverride.expected
│ │ │ ├── NonSynchronizedOverride.qlref
│ │ │ └── Test.java
│ │ ├── NotifyWithoutSynch
│ │ │ ├── NotifyWithoutSynch.expected
│ │ │ ├── NotifyWithoutSynch.qlref
│ │ │ └── Test.java
│ │ ├── Nullness
│ │ │ ├── A.java
│ │ │ ├── B.java
│ │ │ ├── C.java
│ │ │ ├── D.java
│ │ │ ├── E.java
│ │ │ ├── ExprDeref.java
│ │ │ ├── F.java
│ │ │ ├── NullAlways.expected
│ │ │ ├── NullAlways.qlref
│ │ │ ├── NullExprDeref.expected
│ │ │ ├── NullExprDeref.qlref
│ │ │ ├── NullMaybe.expected
│ │ │ ├── NullMaybe.qlref
│ │ │ └── options
│ │ ├── NumberFormatException
│ │ │ ├── NumberFormatException.expected
│ │ │ ├── NumberFormatException.qlref
│ │ │ └── Test.java
│ │ ├── PartiallyMaskedCatch
│ │ │ ├── PartiallyMaskedCatch.expected
│ │ │ ├── PartiallyMaskedCatch.qlref
│ │ │ └── PartiallyMaskedCatchTest.java
│ │ ├── PointlessForwardingMethod
│ │ │ ├── PointlessForwardingMethod.expected
│ │ │ ├── PointlessForwardingMethod.qlref
│ │ │ └── pointlessforwardingmethod
│ │ │ │ └── Test.java
│ │ ├── PrintLnArray
│ │ │ ├── PrintLn.expected
│ │ │ ├── PrintLn.qlref
│ │ │ └── Test.java
│ │ ├── RandomUsedOnce
│ │ │ ├── RandomUsedOnce.expected
│ │ │ ├── RandomUsedOnce.qlref
│ │ │ └── Test.java
│ │ ├── RangeAnalysis
│ │ │ ├── A.java
│ │ │ ├── ArrayIndexOutOfBounds.expected
│ │ │ ├── ArrayIndexOutOfBounds.qlref
│ │ │ └── options
│ │ ├── ReadOnlyContainer
│ │ │ ├── ReadOnlyContainer.expected
│ │ │ ├── ReadOnlyContainer.qlref
│ │ │ └── Test.java
│ │ ├── ReturnValueIgnored
│ │ │ ├── ReturnValueIgnored.expected
│ │ │ ├── ReturnValueIgnored.qlref
│ │ │ └── return_value_ignored
│ │ │ │ └── Test.java
│ │ ├── SelfAssignment
│ │ │ ├── SelfAssignment.expected
│ │ │ ├── SelfAssignment.qlref
│ │ │ └── Test.java
│ │ ├── SimplifyBoolExpr
│ │ │ ├── SimplifyBoolExpr.expected
│ │ │ ├── SimplifyBoolExpr.java
│ │ │ └── SimplifyBoolExpr.qlref
│ │ ├── SpuriousJavadocParam
│ │ │ ├── Test.java
│ │ │ ├── test.expected
│ │ │ └── test.qlref
│ │ ├── StartInConstructor
│ │ │ ├── StartInConstructor.expected
│ │ │ ├── StartInConstructor.qlref
│ │ │ └── Test.java
│ │ ├── StaticArray
│ │ │ ├── StaticArray.expected
│ │ │ ├── StaticArray.java
│ │ │ └── StaticArray.qlref
│ │ ├── StringComparison
│ │ │ ├── StringComparison.expected
│ │ │ ├── StringComparison.java
│ │ │ └── StringComparison.qlref
│ │ ├── StringFormat
│ │ │ ├── A.java
│ │ │ ├── MissingFormatArg.expected
│ │ │ ├── MissingFormatArg.qlref
│ │ │ ├── UnusedFormatArg.expected
│ │ │ ├── UnusedFormatArg.qlref
│ │ │ └── options
│ │ ├── SuspiciousDateFormat
│ │ │ ├── A.java
│ │ │ ├── SuspiciousDateFormat.expected
│ │ │ └── SuspiciousDateFormat.qlref
│ │ ├── SynchSetUnsynchGet
│ │ │ ├── SynchSetUnsynchSet.expected
│ │ │ ├── SynchSetUnsynchSet.qlref
│ │ │ └── Test.java
│ │ ├── TypeMismatch
│ │ │ ├── IncomparableEquals.expected
│ │ │ ├── IncomparableEquals.qlref
│ │ │ ├── RemoveTypeMismatch.expected
│ │ │ ├── RemoveTypeMismatch.qlref
│ │ │ ├── incomparable_equals
│ │ │ │ ├── A.java
│ │ │ │ ├── B.java
│ │ │ │ ├── C.java
│ │ │ │ ├── D.java
│ │ │ │ ├── E.java
│ │ │ │ ├── F.java
│ │ │ │ ├── MyEntry.java
│ │ │ │ └── Test.java
│ │ │ └── remove_type_mismatch
│ │ │ │ ├── A.java
│ │ │ │ └── B.java
│ │ ├── UnreadLocal
│ │ │ ├── A.java
│ │ │ ├── DeadStoreOfLocal.expected
│ │ │ ├── DeadStoreOfLocal.qlref
│ │ │ ├── DeadStoreOfLocalUnread.expected
│ │ │ ├── DeadStoreOfLocalUnread.qlref
│ │ │ ├── UnreadLocal.expected
│ │ │ ├── UnreadLocal.qlref
│ │ │ └── UnreadLocal
│ │ │ │ ├── ImplicitReads.java
│ │ │ │ └── UnreadLocals.java
│ │ ├── UnreleasedLock
│ │ │ ├── UnreleasedLock.expected
│ │ │ ├── UnreleasedLock.java
│ │ │ └── UnreleasedLock.qlref
│ │ ├── UseBraces
│ │ │ ├── UseBraces.expected
│ │ │ ├── UseBraces.java
│ │ │ └── UseBraces.qlref
│ │ ├── UselessComparisonTest
│ │ │ ├── A.java
│ │ │ ├── B.java
│ │ │ ├── C.java
│ │ │ ├── Test.java
│ │ │ ├── UselessComparisonTest.expected
│ │ │ └── UselessComparisonTest.qlref
│ │ ├── UselessNullCheck
│ │ │ ├── A.java
│ │ │ ├── UselessNullCheck.expected
│ │ │ └── UselessNullCheck.qlref
│ │ ├── UselessUpcast
│ │ │ ├── A.java
│ │ │ ├── Test.java
│ │ │ ├── Test2.java
│ │ │ ├── UselessUpcast.expected
│ │ │ └── UselessUpcast.qlref
│ │ ├── WhitespaceContradictsPrecedence
│ │ │ ├── WhitespaceContradictsPrecedence.expected
│ │ │ ├── WhitespaceContradictsPrecedence.java
│ │ │ └── WhitespaceContradictsPrecedence.qlref
│ │ ├── WriteOnlyContainer
│ │ │ ├── CollectionTest.java
│ │ │ ├── MapTest.java
│ │ │ ├── WriteOnlyContainer.expected
│ │ │ └── WriteOnlyContainer.qlref
│ │ ├── WrongNanComparison
│ │ │ ├── Test.java
│ │ │ ├── WrongNanComparison.expected
│ │ │ └── WrongNanComparison.qlref
│ │ ├── dead-code
│ │ │ ├── DeadCallable
│ │ │ │ ├── DeadCallable.expected
│ │ │ │ ├── DeadCallable.qlref
│ │ │ │ └── Main.java
│ │ │ ├── DeadClass
│ │ │ │ ├── AnnotationTest.java
│ │ │ │ ├── DeadClass.expected
│ │ │ │ ├── DeadClass.qlref
│ │ │ │ ├── DeadEnumTest.java
│ │ │ │ ├── ExternalDeadCodeCycle.java
│ │ │ │ ├── ExternalDeadRoot.java
│ │ │ │ ├── InternalDeadCodeCycle.java
│ │ │ │ └── NamespaceTest.java
│ │ │ ├── DeadEnumConstant
│ │ │ │ ├── DeadEnumConstant.expected
│ │ │ │ ├── DeadEnumConstant.qlref
│ │ │ │ └── DeadEnumConstantTest.java
│ │ │ ├── DeadField
│ │ │ │ ├── AnnotationValueTest.java
│ │ │ │ ├── AnnotationValueUtil.java
│ │ │ │ ├── BasicTest.java
│ │ │ │ ├── DeadField.expected
│ │ │ │ ├── DeadField.qlref
│ │ │ │ └── ReflectionTest.java
│ │ │ ├── DeadMethod
│ │ │ │ ├── ArbitraryXMLLiveness.java
│ │ │ │ ├── DeadMethod.expected
│ │ │ │ ├── DeadMethod.qlref
│ │ │ │ ├── DefaultConstructorTest.java
│ │ │ │ ├── InternalDeadCodeCycle.java
│ │ │ │ ├── JMXTest.java
│ │ │ │ ├── ReflectionMethodTest.java
│ │ │ │ ├── ReflectionTest.java
│ │ │ │ ├── SuppressedConstructorTest.java
│ │ │ │ └── arbitrary.xml
│ │ │ └── UselessParameter
│ │ │ │ ├── Test.java
│ │ │ │ ├── UselessParameter.expected
│ │ │ │ └── UselessParameter.qlref
│ │ ├── definitions
│ │ │ ├── Test.java
│ │ │ ├── definitions.expected
│ │ │ └── definitions.qlref
│ │ ├── lgtm-example-queries
│ │ │ ├── Test.java
│ │ │ ├── arrayaccess.expected
│ │ │ ├── arrayaccess.ql
│ │ │ ├── returnstatement.expected
│ │ │ ├── returnstatement.ql
│ │ │ ├── voidreturntype.expected
│ │ │ └── voidreturntype.ql
│ │ ├── maven-dependencies
│ │ │ ├── .gitignore
│ │ │ ├── .m2
│ │ │ │ └── repository
│ │ │ │ │ ├── readme.txt
│ │ │ │ │ └── semmle-test
│ │ │ │ │ └── semmle-test
│ │ │ │ │ └── 1.0
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── semmle-test-1.0.jar
│ │ │ ├── DependencyVersions.expected
│ │ │ ├── DependencyVersions.ql
│ │ │ ├── MavenDeps.expected
│ │ │ ├── MavenDeps.ql
│ │ │ ├── MavenPoms.expected
│ │ │ ├── MavenPoms.ql
│ │ │ ├── UnusedMavenDependencyBinary.expected
│ │ │ ├── UnusedMavenDependencyBinary.qlref
│ │ │ ├── UnusedMavenDependencySource.expected
│ │ │ ├── UnusedMavenDependencySource.qlref
│ │ │ ├── another-project
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── Library.java
│ │ │ ├── my-project
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── Test.java
│ │ │ └── pom.xml
│ │ └── security
│ │ │ ├── CWE-022
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── TaintedPath.expected
│ │ │ │ ├── TaintedPath.qlref
│ │ │ │ ├── Test.java
│ │ │ │ ├── ZipSlip.expected
│ │ │ │ ├── ZipSlip.qlref
│ │ │ │ └── ZipTest.java
│ │ │ ├── CWE-078
│ │ │ ├── ExecRelative.expected
│ │ │ ├── ExecRelative.qlref
│ │ │ ├── ExecTaintedLocal.expected
│ │ │ ├── ExecTaintedLocal.qlref
│ │ │ ├── ExecUnescaped.expected
│ │ │ ├── ExecUnescaped.qlref
│ │ │ └── Test.java
│ │ │ ├── CWE-079
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── WebsocketXss.java
│ │ │ │ ├── XSS.expected
│ │ │ │ ├── XSS.java
│ │ │ │ ├── XSS.qlref
│ │ │ │ └── options
│ │ │ ├── CWE-089
│ │ │ └── semmle
│ │ │ │ └── examples
│ │ │ │ ├── Mongo.java
│ │ │ │ ├── SqlTaintedLocal.expected
│ │ │ │ ├── SqlTaintedLocal.qlref
│ │ │ │ ├── SqlUnescaped.expected
│ │ │ │ ├── SqlUnescaped.qlref
│ │ │ │ ├── Test.java
│ │ │ │ ├── ValidatedVariable.expected
│ │ │ │ ├── ValidatedVariable.ql
│ │ │ │ ├── Validation.java
│ │ │ │ ├── controlledString.expected
│ │ │ │ ├── controlledString.ql
│ │ │ │ ├── endsInQuote.expected
│ │ │ │ ├── endsInQuote.ql
│ │ │ │ ├── getAnAppend.expected
│ │ │ │ ├── getAnAppend.ql
│ │ │ │ ├── getToStringCall.expected
│ │ │ │ ├── getToStringCall.ql
│ │ │ │ ├── options
│ │ │ │ ├── sbQuery.expected
│ │ │ │ ├── sbQuery.ql
│ │ │ │ ├── taintedString.expected
│ │ │ │ ├── taintedString.ql
│ │ │ │ ├── validationMethod.expected
│ │ │ │ └── validationMethod.ql
│ │ │ ├── CWE-090
│ │ │ ├── LdapInjection.expected
│ │ │ ├── LdapInjection.java
│ │ │ ├── LdapInjection.qlref
│ │ │ └── options
│ │ │ ├── CWE-094
│ │ │ ├── InsecureBeanValidation.expected
│ │ │ ├── InsecureBeanValidation.java
│ │ │ ├── InsecureBeanValidation.qlref
│ │ │ └── options
│ │ │ ├── CWE-1104
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── A.java
│ │ │ │ ├── MavenPomDependsOnBintray.expected
│ │ │ │ ├── MavenPomDependsOnBintray.qlref
│ │ │ │ └── bad-bintray-pom.xml
│ │ │ ├── CWE-113
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── ResponseSplitting.expected
│ │ │ │ ├── ResponseSplitting.java
│ │ │ │ ├── ResponseSplitting.qlref
│ │ │ │ └── options
│ │ │ ├── CWE-129
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── ImproperValidationOfArrayConstructionCodeSpecified.expected
│ │ │ │ ├── ImproperValidationOfArrayConstructionCodeSpecified.qlref
│ │ │ │ ├── ImproperValidationOfArrayConstructionLocal.expected
│ │ │ │ ├── ImproperValidationOfArrayConstructionLocal.qlref
│ │ │ │ ├── ImproperValidationOfArrayIndexCodeSpecified.expected
│ │ │ │ ├── ImproperValidationOfArrayIndexCodeSpecified.qlref
│ │ │ │ ├── ImproperValidationOfArrayIndexLocal.expected
│ │ │ │ ├── ImproperValidationOfArrayIndexLocal.qlref
│ │ │ │ ├── Test.java
│ │ │ │ └── options
│ │ │ ├── CWE-134
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── ExternallyControlledFormatString.expected
│ │ │ │ ├── ExternallyControlledFormatString.qlref
│ │ │ │ ├── ExternallyControlledFormatStringLocal.expected
│ │ │ │ ├── ExternallyControlledFormatStringLocal.qlref
│ │ │ │ ├── Test.java
│ │ │ │ └── options
│ │ │ ├── CWE-190
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── ArithmeticTainted.java
│ │ │ │ ├── ArithmeticTaintedLocal.expected
│ │ │ │ ├── ArithmeticTaintedLocal.qlref
│ │ │ │ ├── ArithmeticUncontrolled.expected
│ │ │ │ ├── ArithmeticUncontrolled.qlref
│ │ │ │ ├── ArithmeticWithExtremeValues.expected
│ │ │ │ ├── ArithmeticWithExtremeValues.qlref
│ │ │ │ ├── Holder.java
│ │ │ │ ├── InformationLoss.expected
│ │ │ │ ├── InformationLoss.qlref
│ │ │ │ ├── IntMultToLong.expected
│ │ │ │ ├── IntMultToLong.qlref
│ │ │ │ ├── Test.java
│ │ │ │ ├── Test2.java
│ │ │ │ └── options
│ │ │ ├── CWE-209
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── StackTraceExposure.expected
│ │ │ │ ├── StackTraceExposure.qlref
│ │ │ │ ├── Test.java
│ │ │ │ └── options
│ │ │ ├── CWE-297
│ │ │ ├── UnsafeHostnameVerification.expected
│ │ │ ├── UnsafeHostnameVerification.java
│ │ │ └── UnsafeHostnameVerification.qlref
│ │ │ ├── CWE-311
│ │ │ ├── CWE-319
│ │ │ │ ├── Test.java
│ │ │ │ ├── UseSSL.expected
│ │ │ │ └── UseSSL.qlref
│ │ │ └── CWE-614
│ │ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── InsecureCookie.expected
│ │ │ │ ├── InsecureCookie.qlref
│ │ │ │ ├── Test.java
│ │ │ │ └── options
│ │ │ ├── CWE-327
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── BrokenCryptoAlgorithm.expected
│ │ │ │ ├── BrokenCryptoAlgorithm.qlref
│ │ │ │ ├── MaybeBrokenCryptoAlgorithm.expected
│ │ │ │ ├── MaybeBrokenCryptoAlgorithm.qlref
│ │ │ │ └── Test.java
│ │ │ ├── CWE-335
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── PredictableSeed.expected
│ │ │ │ ├── PredictableSeed.qlref
│ │ │ │ └── Test.java
│ │ │ ├── CWE-338
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── JHipsterGeneratedPRNG.expected
│ │ │ │ ├── JHipsterGeneratedPRNG.qlref
│ │ │ │ ├── fixed
│ │ │ │ └── RandomUtil.java
│ │ │ │ ├── options
│ │ │ │ └── vulnerable
│ │ │ │ └── RandomUtil.java
│ │ │ ├── CWE-367
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── TOCTOURace.expected
│ │ │ │ ├── TOCTOURace.qlref
│ │ │ │ └── Test.java
│ │ │ ├── CWE-421
│ │ │ └── semmle
│ │ │ │ ├── SocketAuthRace.expected
│ │ │ │ ├── SocketAuthRace.qlref
│ │ │ │ ├── Test.java
│ │ │ │ └── options
│ │ │ ├── CWE-502
│ │ │ ├── A.java
│ │ │ ├── B.java
│ │ │ ├── TestMessageBodyReader.java
│ │ │ ├── UnsafeDeserialization.expected
│ │ │ ├── UnsafeDeserialization.qlref
│ │ │ └── options
│ │ │ ├── CWE-601
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── UrlRedirect.expected
│ │ │ │ ├── UrlRedirect.java
│ │ │ │ ├── UrlRedirect.qlref
│ │ │ │ └── options
│ │ │ ├── CWE-611
│ │ │ ├── DocumentBuilderTests.java
│ │ │ ├── SAXBuilderTests.java
│ │ │ ├── SAXParserTests.java
│ │ │ ├── SAXReaderTests.java
│ │ │ ├── SchemaTests.java
│ │ │ ├── SimpleXMLTests.java
│ │ │ ├── TransformerTests.java
│ │ │ ├── XMLReaderTests.java
│ │ │ ├── XPathExpressionTests.java
│ │ │ ├── XXE.expected
│ │ │ ├── XXE.qlref
│ │ │ ├── XmlInputFactoryTests.java
│ │ │ └── options
│ │ │ ├── CWE-676
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── PotentiallyDangerousFunction.expected
│ │ │ │ ├── PotentiallyDangerousFunction.qlref
│ │ │ │ └── Test.java
│ │ │ ├── CWE-681
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── NumericCastTaintedLocal.expected
│ │ │ │ ├── NumericCastTaintedLocal.qlref
│ │ │ │ └── Test.java
│ │ │ ├── CWE-732
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── ReadingFromWorldWritableFile.expected
│ │ │ │ ├── ReadingFromWorldWritableFile.qlref
│ │ │ │ └── Test.java
│ │ │ ├── CWE-798
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── CredentialsTest.java
│ │ │ │ ├── FileCredentialTest.java
│ │ │ │ ├── HardcodedAWSCredentials.java
│ │ │ │ ├── HardcodedCredentialsApiCall.expected
│ │ │ │ ├── HardcodedCredentialsApiCall.qlref
│ │ │ │ ├── HardcodedCredentialsComparison.expected
│ │ │ │ ├── HardcodedCredentialsComparison.qlref
│ │ │ │ ├── HardcodedCredentialsSourceCall.expected
│ │ │ │ ├── HardcodedCredentialsSourceCall.qlref
│ │ │ │ ├── HardcodedPasswordField.expected
│ │ │ │ ├── HardcodedPasswordField.qlref
│ │ │ │ ├── Test.java
│ │ │ │ ├── User.java
│ │ │ │ └── options
│ │ │ ├── CWE-807
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── ConditionalBypass.expected
│ │ │ │ ├── ConditionalBypass.qlref
│ │ │ │ ├── TaintedPermissionsCheck.expected
│ │ │ │ ├── TaintedPermissionsCheck.qlref
│ │ │ │ ├── Test.java
│ │ │ │ └── options
│ │ │ ├── CWE-829
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── A.java
│ │ │ │ ├── InsecureDependencyResolution.expected
│ │ │ │ ├── InsecureDependencyResolution.qlref
│ │ │ │ ├── insecure-pom.xml
│ │ │ │ └── secure-pom.xml
│ │ │ ├── CWE-833
│ │ │ └── semmle
│ │ │ │ └── tests
│ │ │ │ ├── LockOrderInconsistency.expected
│ │ │ │ ├── LockOrderInconsistency.qlref
│ │ │ │ ├── MethodAccessLockOrder.java
│ │ │ │ ├── ReentrantLockOrder.java
│ │ │ │ └── SynchronizedStmtLockOrder.java
│ │ │ └── CWE-835
│ │ │ └── semmle
│ │ │ └── tests
│ │ │ ├── InfiniteLoop.expected
│ │ │ ├── InfiniteLoop.java
│ │ │ └── InfiniteLoop.qlref
│ │ └── stubs
│ │ ├── README.md
│ │ ├── akka-2.6.x
│ │ └── akka
│ │ │ └── util
│ │ │ └── ByteString.java
│ │ ├── amazon-aws-sdk-1.11.700
│ │ ├── LICENSE.txt
│ │ └── com
│ │ │ └── amazonaws
│ │ │ └── auth
│ │ │ ├── AWSCredentials.java
│ │ │ └── BasicAWSCredentials.java
│ │ ├── android
│ │ └── android
│ │ │ ├── content
│ │ │ ├── ContentProvider.java
│ │ │ ├── ContentResolver.java
│ │ │ ├── ContentValues.java
│ │ │ └── Context.java
│ │ │ ├── database
│ │ │ ├── Cursor.java
│ │ │ ├── DatabaseUtils.java
│ │ │ └── sqlite
│ │ │ │ ├── SQLiteDatabase.java
│ │ │ │ └── SQLiteQueryBuilder.java
│ │ │ ├── net
│ │ │ └── Uri.java
│ │ │ └── os
│ │ │ ├── CancellationSignal.java
│ │ │ └── ParcelFileDescriptor.java
│ │ ├── apache-commons-codec-1.14
│ │ ├── LICENSE.txt
│ │ └── org
│ │ │ └── apache
│ │ │ └── commons
│ │ │ └── codec
│ │ │ ├── BinaryDecoder.java
│ │ │ ├── BinaryEncoder.java
│ │ │ ├── Decoder.java
│ │ │ ├── DecoderException.java
│ │ │ ├── Encoder.java
│ │ │ ├── EncoderException.java
│ │ │ ├── StringDecoder.java
│ │ │ └── StringEncoder.java
│ │ ├── apache-commons-email-1.6.0
│ │ ├── LICENSE.txt
│ │ └── org
│ │ │ └── apache
│ │ │ └── commons
│ │ │ └── mail
│ │ │ ├── DefaultAuthenticator.java
│ │ │ ├── Email.java
│ │ │ ├── EmailException.java
│ │ │ └── SimpleEmail.java
│ │ ├── apache-commons-io-2.6
│ │ ├── LICENSE.txt
│ │ └── org
│ │ │ └── apache
│ │ │ └── commons
│ │ │ └── io
│ │ │ └── IOUtils.java
│ │ ├── apache-commons-jexl-2.1.1
│ │ └── org
│ │ │ └── apache
│ │ │ └── commons
│ │ │ └── jexl2
│ │ │ ├── DebugInfo.java
│ │ │ ├── Expression.java
│ │ │ ├── JexlContext.java
│ │ │ ├── JexlEngine.java
│ │ │ ├── JexlInfo.java
│ │ │ ├── MapContext.java
│ │ │ ├── Script.java
│ │ │ ├── UnifiedJEXL.java
│ │ │ └── introspection
│ │ │ ├── Sandbox.java
│ │ │ ├── SandboxUberspectImpl.java
│ │ │ └── Uberspect.java
│ │ ├── apache-commons-jexl-3.1
│ │ └── org
│ │ │ └── apache
│ │ │ └── commons
│ │ │ └── jexl3
│ │ │ ├── JexlBuilder.java
│ │ │ ├── JexlContext.java
│ │ │ ├── JexlEngine.java
│ │ │ ├── JexlExpression.java
│ │ │ ├── JexlInfo.java
│ │ │ ├── JexlScript.java
│ │ │ ├── JxltEngine.java
│ │ │ ├── MapContext.java
│ │ │ └── introspection
│ │ │ ├── JexlSandbox.java
│ │ │ └── JexlUberspect.java
│ │ ├── apache-commons-lang3-3.7
│ │ ├── LICENSE.txt
│ │ └── org
│ │ │ └── apache
│ │ │ └── commons
│ │ │ └── lang3
│ │ │ ├── ArrayUtils.java
│ │ │ ├── ObjectUtils.java
│ │ │ ├── RandomStringUtils.java
│ │ │ ├── RandomUtils.java
│ │ │ ├── RegExUtils.java
│ │ │ ├── StringUtils.java
│ │ │ ├── builder
│ │ │ └── Builder.java
│ │ │ └── text
│ │ │ ├── StrBuilder.java
│ │ │ ├── StrLookup.java
│ │ │ ├── StrMatcher.java
│ │ │ ├── StrSubstitutor.java
│ │ │ ├── StrTokenizer.java
│ │ │ └── WordUtils.java
│ │ ├── apache-commons-text-1.9
│ │ └── org
│ │ │ └── apache
│ │ │ └── commons
│ │ │ └── text
│ │ │ ├── Builder.java
│ │ │ ├── StrBuilder.java
│ │ │ ├── StrMatcher.java
│ │ │ ├── StrTokenizer.java
│ │ │ ├── StringSubstitutor.java
│ │ │ ├── StringTokenizer.java
│ │ │ ├── TextStringBuilder.java
│ │ │ ├── WordUtils.java
│ │ │ ├── lookup
│ │ │ ├── BiStringLookup.java
│ │ │ ├── StringLookup.java
│ │ │ └── StringLookupFactory.java
│ │ │ └── matcher
│ │ │ └── StringMatcher.java
│ │ ├── apache-http-4.4.13
│ │ └── org
│ │ │ └── apache
│ │ │ └── http
│ │ │ ├── Header.java
│ │ │ ├── HeaderElement.java
│ │ │ ├── HeaderElementIterator.java
│ │ │ ├── HeaderIterator.java
│ │ │ ├── HttpEntity.java
│ │ │ ├── HttpEntityEnclosingRequest.java
│ │ │ ├── HttpMessage.java
│ │ │ ├── HttpRequest.java
│ │ │ ├── HttpResponse.java
│ │ │ ├── NameValuePair.java
│ │ │ ├── ParseException.java
│ │ │ ├── ProtocolVersion.java
│ │ │ ├── RequestLine.java
│ │ │ ├── client
│ │ │ └── methods
│ │ │ │ ├── HttpEntityEnclosingRequestBase.java
│ │ │ │ ├── HttpGet.java
│ │ │ │ ├── HttpPost.java
│ │ │ │ ├── HttpPut.java
│ │ │ │ └── HttpRequestBase.java
│ │ │ ├── entity
│ │ │ ├── AbstractHttpEntity.java
│ │ │ ├── ByteArrayEntity.java
│ │ │ ├── ContentType.java
│ │ │ └── StringEntity.java
│ │ │ ├── message
│ │ │ ├── AbstractHttpMessage.java
│ │ │ ├── BasicHeader.java
│ │ │ ├── BasicHttpEntityEnclosingRequest.java
│ │ │ ├── BasicHttpRequest.java
│ │ │ └── BasicRequestLine.java
│ │ │ ├── params
│ │ │ └── HttpParams.java
│ │ │ ├── protocol
│ │ │ ├── HttpContext.java
│ │ │ └── HttpRequestHandler.java
│ │ │ └── util
│ │ │ ├── Args.java
│ │ │ ├── ByteArrayBuffer.java
│ │ │ ├── ByteBuffer.java
│ │ │ ├── CharArrayBuffer.java
│ │ │ └── EntityUtils.java
│ │ ├── apache-http-5
│ │ └── org
│ │ │ └── apache
│ │ │ └── hc
│ │ │ └── core5
│ │ │ ├── function
│ │ │ └── Supplier.java
│ │ │ ├── http
│ │ │ ├── ClassicHttpRequest.java
│ │ │ ├── ClassicHttpResponse.java
│ │ │ ├── ContentType.java
│ │ │ ├── EntityDetails.java
│ │ │ ├── Header.java
│ │ │ ├── HttpEntity.java
│ │ │ ├── HttpEntityContainer.java
│ │ │ ├── HttpException.java
│ │ │ ├── HttpMessage.java
│ │ │ ├── HttpRequest.java
│ │ │ ├── HttpResponse.java
│ │ │ ├── MessageHeaders.java
│ │ │ ├── NameValuePair.java
│ │ │ ├── ParseException.java
│ │ │ ├── ProtocolException.java
│ │ │ ├── ProtocolVersion.java
│ │ │ ├── io
│ │ │ │ ├── HttpRequestHandler.java
│ │ │ │ ├── HttpServerRequestHandler.java
│ │ │ │ └── entity
│ │ │ │ │ ├── AbstractHttpEntity.java
│ │ │ │ │ ├── ByteArrayEntity.java
│ │ │ │ │ ├── ByteBufferEntity.java
│ │ │ │ │ ├── EntityUtils.java
│ │ │ │ │ ├── HttpEntities.java
│ │ │ │ │ └── StringEntity.java
│ │ │ ├── message
│ │ │ │ ├── BasicHeader.java
│ │ │ │ └── RequestLine.java
│ │ │ └── protocol
│ │ │ │ └── HttpContext.java
│ │ │ ├── io
│ │ │ └── IOCallback.java
│ │ │ ├── net
│ │ │ └── URIAuthority.java
│ │ │ └── util
│ │ │ ├── Args.java
│ │ │ ├── ByteArrayBuffer.java
│ │ │ └── CharArrayBuffer.java
│ │ ├── apache-ldap-1.0.2
│ │ └── org
│ │ │ └── apache
│ │ │ └── directory
│ │ │ ├── api
│ │ │ └── ldap
│ │ │ │ └── model
│ │ │ │ ├── cursor
│ │ │ │ ├── EntryCursor.java
│ │ │ │ └── SearchCursor.java
│ │ │ │ ├── entry
│ │ │ │ └── Value.java
│ │ │ │ ├── exception
│ │ │ │ ├── LdapException.java
│ │ │ │ └── LdapInvalidDnException.java
│ │ │ │ ├── filter
│ │ │ │ ├── EqualityNode.java
│ │ │ │ └── ExprNode.java
│ │ │ │ ├── message
│ │ │ │ ├── SearchRequest.java
│ │ │ │ ├── SearchRequestImpl.java
│ │ │ │ └── SearchScope.java
│ │ │ │ └── name
│ │ │ │ └── Dn.java
│ │ │ └── ldap
│ │ │ └── client
│ │ │ └── api
│ │ │ ├── LdapConnection.java
│ │ │ └── LdapNetworkConnection.java
│ │ ├── commons-exec-1.3
│ │ └── org
│ │ │ └── apache
│ │ │ └── commons
│ │ │ └── exec
│ │ │ ├── CommandLine.java
│ │ │ └── DefaultExecutor.java
│ │ ├── dom4j-2.1.1
│ │ └── org
│ │ │ └── dom4j
│ │ │ ├── Document.java
│ │ │ └── io
│ │ │ └── SAXReader.java
│ │ ├── ejb-3.2
│ │ └── javax
│ │ │ ├── ejb
│ │ │ ├── CreateException.java
│ │ │ ├── EJB.java
│ │ │ ├── EJBContext.java
│ │ │ ├── EJBException.java
│ │ │ ├── EJBHome.java
│ │ │ ├── EJBLocalHome.java
│ │ │ ├── EJBLocalObject.java
│ │ │ ├── EJBMetaData.java
│ │ │ ├── EJBObject.java
│ │ │ ├── EnterpriseBean.java
│ │ │ ├── EntityBean.java
│ │ │ ├── Handle.java
│ │ │ ├── Handler.java
│ │ │ ├── HomeHandle.java
│ │ │ ├── Remote.java
│ │ │ ├── RemoveException.java
│ │ │ ├── SessionBean.java
│ │ │ └── SessionContext.java
│ │ │ └── transaction
│ │ │ └── UserTransaction.java
│ │ ├── esapi-2.0.1
│ │ └── org
│ │ │ └── owasp
│ │ │ └── esapi
│ │ │ ├── Encoder.java
│ │ │ └── reference
│ │ │ └── DefaultEncoder.java
│ │ ├── fastjson-1.2.74
│ │ └── com
│ │ │ └── alibaba
│ │ │ └── fastjson
│ │ │ ├── JSON.java
│ │ │ ├── JSONArray.java
│ │ │ ├── JSONObject.java
│ │ │ ├── TypeReference.java
│ │ │ └── parser
│ │ │ ├── Feature.java
│ │ │ ├── ParserConfig.java
│ │ │ └── deserializer
│ │ │ └── ParseProcess.java
│ │ ├── google-android-9.0.0
│ │ ├── android
│ │ │ ├── app
│ │ │ │ └── Activity.java
│ │ │ ├── content
│ │ │ │ ├── BroadcastReceiver.java
│ │ │ │ ├── Context.java
│ │ │ │ ├── Intent.java
│ │ │ │ └── SharedPreferences.java
│ │ │ ├── net
│ │ │ │ └── Uri.java
│ │ │ ├── os
│ │ │ │ ├── BaseBundle.java
│ │ │ │ ├── Bundle.java
│ │ │ │ ├── Parcel.java
│ │ │ │ └── Parcelable.java
│ │ │ ├── view
│ │ │ │ └── View.java
│ │ │ └── webkit
│ │ │ │ ├── WebResourceRequest.java
│ │ │ │ ├── WebResourceResponse.java
│ │ │ │ ├── WebSettings.java
│ │ │ │ ├── WebView.java
│ │ │ │ └── WebViewClient.java
│ │ └── androidx
│ │ │ └── security
│ │ │ └── crypto
│ │ │ ├── EncryptedSharedPreferences.java
│ │ │ └── MasterKey.java
│ │ ├── guava-30.0
│ │ ├── com
│ │ │ └── google
│ │ │ │ └── common
│ │ │ │ ├── base
│ │ │ │ ├── Function.java
│ │ │ │ ├── Joiner.java
│ │ │ │ ├── Optional.java
│ │ │ │ ├── Preconditions.java
│ │ │ │ ├── Predicate.java
│ │ │ │ ├── Splitter.java
│ │ │ │ ├── Strings.java
│ │ │ │ └── Supplier.java
│ │ │ │ ├── collect
│ │ │ │ ├── AbstractMultimap.java
│ │ │ │ ├── AbstractTable.java
│ │ │ │ ├── ImmutableCollection.java
│ │ │ │ ├── ImmutableList.java
│ │ │ │ ├── ImmutableMap.java
│ │ │ │ ├── ImmutableMultimap.java
│ │ │ │ ├── ImmutableMultiset.java
│ │ │ │ ├── ImmutableSet.java
│ │ │ │ ├── ImmutableSortedMap.java
│ │ │ │ ├── ImmutableSortedSet.java
│ │ │ │ ├── ImmutableTable.java
│ │ │ │ ├── Multimap.java
│ │ │ │ ├── Multiset.java
│ │ │ │ ├── Sets.java
│ │ │ │ └── Table.java
│ │ │ │ ├── graph
│ │ │ │ ├── SuccessorsFunction.java
│ │ │ │ └── Traverser.java
│ │ │ │ ├── hash
│ │ │ │ ├── Funnel.java
│ │ │ │ ├── HashCode.java
│ │ │ │ ├── HashFunction.java
│ │ │ │ ├── Hasher.java
│ │ │ │ └── PrimitiveSink.java
│ │ │ │ └── io
│ │ │ │ ├── BaseEncoding.java
│ │ │ │ ├── ByteArrayDataInput.java
│ │ │ │ ├── ByteArrayDataOutput.java
│ │ │ │ ├── ByteProcessor.java
│ │ │ │ ├── ByteSink.java
│ │ │ │ ├── ByteSource.java
│ │ │ │ ├── ByteStreams.java
│ │ │ │ ├── CharSink.java
│ │ │ │ ├── CharSource.java
│ │ │ │ ├── CharStreams.java
│ │ │ │ ├── Closer.java
│ │ │ │ ├── CountingInputStream.java
│ │ │ │ ├── FileWriteMode.java
│ │ │ │ ├── Files.java
│ │ │ │ ├── LineProcessor.java
│ │ │ │ ├── LineReader.java
│ │ │ │ ├── LittleEndianDataInputStream.java
│ │ │ │ ├── MoreFiles.java
│ │ │ │ └── RecursiveDeleteOption.java
│ │ └── org
│ │ │ └── checkerframework
│ │ │ └── checker
│ │ │ └── nullness
│ │ │ └── qual
│ │ │ ├── NonNull.java
│ │ │ └── Nullable.java
│ │ ├── guice-4.2.2
│ │ └── com
│ │ │ └── google
│ │ │ └── inject
│ │ │ └── Provider.java
│ │ ├── guice-servlet-4.2.2
│ │ └── com
│ │ │ └── google
│ │ │ └── inject
│ │ │ └── servlet
│ │ │ └── RequestParameters.java
│ │ ├── hamcrest-2.2
│ │ ├── LICENSE.txt
│ │ └── org
│ │ │ └── hamcrest
│ │ │ ├── MatcherAssert.java
│ │ │ └── core
│ │ │ └── IsNull.java
│ │ ├── j2objc
│ │ ├── LICENSE
│ │ └── com
│ │ │ └── google
│ │ │ └── j2objc
│ │ │ └── security
│ │ │ └── IosRSASignature.java
│ │ ├── jackson-databind-2.10
│ │ ├── com
│ │ │ └── fasterxml
│ │ │ │ └── jackson
│ │ │ │ ├── core
│ │ │ │ ├── JsonEncoding.java
│ │ │ │ ├── JsonFactory.java
│ │ │ │ └── JsonGenerator.java
│ │ │ │ └── databind
│ │ │ │ ├── JsonNode.java
│ │ │ │ ├── ObjectMapper.java
│ │ │ │ └── ObjectWriter.java
│ │ └── jackson-LICENSE.txt
│ │ ├── javamail-api-1.6.2
│ │ ├── LICENSE.txt
│ │ └── javax
│ │ │ └── mail
│ │ │ ├── Authenticator.java
│ │ │ ├── PasswordAuthentication.java
│ │ │ └── Session.java
│ │ ├── jdom-1.1.3
│ │ └── org
│ │ │ └── jdom
│ │ │ ├── Document.java
│ │ │ └── input
│ │ │ └── SAXBuilder.java
│ │ ├── jsr223-api
│ │ └── javax
│ │ │ └── script
│ │ │ ├── CompiledScript.java
│ │ │ ├── ScriptContext.java
│ │ │ ├── ScriptException.java
│ │ │ └── SimpleScriptContext.java
│ │ ├── jsr311-api-1.1.1
│ │ └── javax
│ │ │ └── ws
│ │ │ └── rs
│ │ │ ├── core
│ │ │ ├── MediaType.java
│ │ │ └── MultivaluedMap.java
│ │ │ └── ext
│ │ │ └── MessageBodyReader.java
│ │ ├── junit-4.11
│ │ └── org
│ │ │ └── junit
│ │ │ └── Assert.java
│ │ ├── junit-jupiter-api-5.2.0
│ │ ├── LICENSE.md
│ │ └── org
│ │ │ └── junit
│ │ │ └── jupiter
│ │ │ └── api
│ │ │ └── Test.java
│ │ ├── kryo-4.0.2
│ │ └── com
│ │ │ └── esotericsoftware
│ │ │ └── kryo
│ │ │ ├── Kryo.java
│ │ │ ├── Registration.java
│ │ │ └── io
│ │ │ └── Input.java
│ │ ├── mongodbClient
│ │ ├── com
│ │ │ └── mongodb
│ │ │ │ ├── BasicDBObject.java
│ │ │ │ ├── DB.java
│ │ │ │ ├── DBCollection.java
│ │ │ │ ├── DBCursor.java
│ │ │ │ ├── DBObject.java
│ │ │ │ ├── Mongo.java
│ │ │ │ ├── MongoClient.java
│ │ │ │ ├── ServerAddress.java
│ │ │ │ └── util
│ │ │ │ └── JSON.java
│ │ └── org
│ │ │ └── bson
│ │ │ └── BSONObject.java
│ │ ├── mvel2-2.4.7
│ │ └── org
│ │ │ └── mvel2
│ │ │ ├── MVEL.java
│ │ │ ├── MVELRuntime.java
│ │ │ ├── ParserContext.java
│ │ │ ├── compiler
│ │ │ ├── Accessor.java
│ │ │ ├── CompiledAccExpression.java
│ │ │ ├── CompiledExpression.java
│ │ │ ├── ExecutableStatement.java
│ │ │ └── ExpressionCompiler.java
│ │ │ ├── integration
│ │ │ ├── VariableResolverFactory.java
│ │ │ └── impl
│ │ │ │ └── ImmutableDefaultFactory.java
│ │ │ ├── jsr223
│ │ │ ├── MvelCompiledScript.java
│ │ │ └── MvelScriptEngine.java
│ │ │ └── templates
│ │ │ ├── CompiledTemplate.java
│ │ │ ├── TemplateCompiler.java
│ │ │ └── TemplateRuntime.java
│ │ ├── playframework-2.6.x
│ │ └── play
│ │ │ ├── Application.java
│ │ │ ├── Play.java
│ │ │ ├── api
│ │ │ └── mvc
│ │ │ │ ├── Request.java
│ │ │ │ ├── RequestHeader.java
│ │ │ │ └── StatusHeader.java
│ │ │ ├── core
│ │ │ └── j
│ │ │ │ ├── JavaContextComponents.java
│ │ │ │ └── RequestImpl.java
│ │ │ ├── filters
│ │ │ └── csrf
│ │ │ │ └── AddCSRFToken.java
│ │ │ ├── http
│ │ │ └── HttpEntity.java
│ │ │ ├── i18n
│ │ │ ├── Lang.java
│ │ │ ├── Langs.java
│ │ │ ├── Messages.java
│ │ │ └── MessagesApi.java
│ │ │ ├── libs
│ │ │ ├── F.java
│ │ │ ├── Files.java
│ │ │ ├── XML.java
│ │ │ └── typedmap
│ │ │ │ ├── TypedKey.java
│ │ │ │ └── TypedMap.java
│ │ │ ├── mvc
│ │ │ ├── BodyParser.java
│ │ │ ├── Call.java
│ │ │ ├── Controller.java
│ │ │ ├── Http.java
│ │ │ ├── Result.java
│ │ │ └── Results.java
│ │ │ └── twirl
│ │ │ └── api
│ │ │ └── Content.java
│ │ ├── saxon-xqj-9.x
│ │ ├── javax
│ │ │ └── xml
│ │ │ │ └── xquery
│ │ │ │ ├── XQConnection.java
│ │ │ │ ├── XQDataFactory.java
│ │ │ │ ├── XQDataSource.java
│ │ │ │ ├── XQDynamicContext.java
│ │ │ │ ├── XQException.java
│ │ │ │ ├── XQExpression.java
│ │ │ │ ├── XQItemAccessor.java
│ │ │ │ ├── XQItemType.java
│ │ │ │ ├── XQPreparedExpression.java
│ │ │ │ ├── XQResultSequence.java
│ │ │ │ ├── XQSequence.java
│ │ │ │ ├── XQSequenceType.java
│ │ │ │ └── XQStaticContext.java
│ │ └── net
│ │ │ └── sf
│ │ │ └── saxon
│ │ │ ├── Configuration.java
│ │ │ ├── SourceResolver.java
│ │ │ └── xqj
│ │ │ ├── Closable.java
│ │ │ ├── SaxonXQConnection.java
│ │ │ ├── SaxonXQDataFactory.java
│ │ │ ├── SaxonXQDataSource.java
│ │ │ └── SaxonXQStaticContext.java
│ │ ├── scriptengine
│ │ ├── javax
│ │ │ └── script
│ │ │ │ ├── AbstractScriptEngine.java
│ │ │ │ ├── ScriptEngine.java
│ │ │ │ ├── ScriptEngineFactory.java
│ │ │ │ ├── ScriptEngineManager.java
│ │ │ │ └── ScriptException.java
│ │ └── jdk
│ │ │ └── nashorn
│ │ │ └── api
│ │ │ └── scripting
│ │ │ ├── NashornScriptEngine.java
│ │ │ └── NashornScriptEngineFactory.java
│ │ ├── servlet-api-2.4
│ │ └── javax
│ │ │ └── servlet
│ │ │ ├── Filter.java
│ │ │ ├── FilterChain.java
│ │ │ ├── FilterConfig.java
│ │ │ ├── GenericServlet.java
│ │ │ ├── RequestDispatcher.java
│ │ │ ├── Servlet.java
│ │ │ ├── ServletConfig.java
│ │ │ ├── ServletContext.java
│ │ │ ├── ServletContextEvent.java
│ │ │ ├── ServletContextListener.java
│ │ │ ├── ServletException.java
│ │ │ ├── ServletInputStream.java
│ │ │ ├── ServletOutputStream.java
│ │ │ ├── ServletRequest.java
│ │ │ ├── ServletResponse.java
│ │ │ └── http
│ │ │ ├── Cookie.java
│ │ │ ├── HttpServlet.java
│ │ │ ├── HttpServletRequest.java
│ │ │ ├── HttpServletResponse.java
│ │ │ ├── HttpSession.java
│ │ │ └── HttpSessionContext.java
│ │ ├── shiro-core-1.4.0
│ │ ├── NOTICE
│ │ └── org
│ │ │ └── apache
│ │ │ └── shiro
│ │ │ ├── SecurityUtils.java
│ │ │ └── subject
│ │ │ └── Subject.java
│ │ ├── simple-xml-2.7.1
│ │ └── org
│ │ │ └── simpleframework
│ │ │ └── xml
│ │ │ ├── Serializer.java
│ │ │ ├── core
│ │ │ └── Persister.java
│ │ │ └── stream
│ │ │ ├── DocumentProvider.java
│ │ │ ├── Formatter.java
│ │ │ ├── NodeBuilder.java
│ │ │ ├── Provider.java
│ │ │ └── StreamProvider.java
│ │ ├── snakeyaml-1.21
│ │ └── org
│ │ │ └── yaml
│ │ │ └── snakeyaml
│ │ │ ├── Yaml.java
│ │ │ ├── constructor
│ │ │ └── events
│ │ │ └── Event.java
│ │ ├── spring-ldap-2.3.2
│ │ └── org
│ │ │ └── springframework
│ │ │ └── ldap
│ │ │ ├── core
│ │ │ ├── AttributesMapper.java
│ │ │ ├── ContextMapper.java
│ │ │ ├── DirContextOperations.java
│ │ │ ├── DirContextProcessor.java
│ │ │ ├── LdapOperations.java
│ │ │ ├── LdapTemplate.java
│ │ │ └── NameClassPairCallbackHandler.java
│ │ │ ├── filter
│ │ │ ├── EqualsFilter.java
│ │ │ ├── Filter.java
│ │ │ └── HardcodedFilter.java
│ │ │ ├── query
│ │ │ ├── ConditionCriteria.java
│ │ │ ├── ContainerCriteria.java
│ │ │ ├── LdapQuery.java
│ │ │ └── LdapQueryBuilder.java
│ │ │ └── support
│ │ │ ├── LdapEncoder.java
│ │ │ ├── LdapNameBuilder.java
│ │ │ └── LdapUtils.java
│ │ ├── springframework-5.2.3
│ │ ├── LICENSE.txt
│ │ └── org
│ │ │ └── springframework
│ │ │ ├── beans
│ │ │ └── factory
│ │ │ │ ├── BeanFactory.java
│ │ │ │ ├── HierarchicalBeanFactory.java
│ │ │ │ ├── InitializingBean.java
│ │ │ │ └── ListableBeanFactory.java
│ │ │ ├── boot
│ │ │ ├── SpringBootConfiguration.java
│ │ │ ├── actuate
│ │ │ │ └── autoconfigure
│ │ │ │ │ └── security
│ │ │ │ │ └── servlet
│ │ │ │ │ └── EndpointRequest.java
│ │ │ ├── autoconfigure
│ │ │ │ └── SpringBootApplication.java
│ │ │ └── security
│ │ │ │ └── servlet
│ │ │ │ └── ApplicationContextRequestMatcher.java
│ │ │ ├── context
│ │ │ ├── ApplicationContext.java
│ │ │ ├── ApplicationEventPublisher.java
│ │ │ ├── MessageSource.java
│ │ │ └── annotation
│ │ │ │ ├── Bean.java
│ │ │ │ └── Configuration.java
│ │ │ ├── core
│ │ │ ├── ParameterizedTypeReference.java
│ │ │ ├── env
│ │ │ │ └── EnvironmentCapable.java
│ │ │ └── io
│ │ │ │ ├── InputStreamSource.java
│ │ │ │ ├── Resource.java
│ │ │ │ ├── ResourceLoader.java
│ │ │ │ └── support
│ │ │ │ └── ResourcePatternResolver.java
│ │ │ ├── expression
│ │ │ ├── EvaluationContext.java
│ │ │ ├── EvaluationException.java
│ │ │ ├── Expression.java
│ │ │ ├── ExpressionParser.java
│ │ │ └── spel
│ │ │ │ ├── standard
│ │ │ │ └── SpelExpressionParser.java
│ │ │ │ └── support
│ │ │ │ ├── SimpleEvaluationContext.java
│ │ │ │ └── StandardEvaluationContext.java
│ │ │ ├── http
│ │ │ ├── HttpEntity.java
│ │ │ ├── HttpHeaders.java
│ │ │ ├── HttpMethod.java
│ │ │ ├── HttpStatus.java
│ │ │ ├── RequestEntity.java
│ │ │ ├── ResponseEntity.java
│ │ │ └── client
│ │ │ │ └── ClientHttpResponse.java
│ │ │ ├── jndi
│ │ │ └── JndiTemplate.java
│ │ │ ├── lang
│ │ │ └── Nullable.java
│ │ │ ├── remoting
│ │ │ ├── httpinvoker
│ │ │ │ └── HttpInvokerServiceExporter.java
│ │ │ └── rmi
│ │ │ │ └── RemoteInvocationSerializingExporter.java
│ │ │ ├── security
│ │ │ ├── config
│ │ │ │ ├── Customizer.java
│ │ │ │ └── annotation
│ │ │ │ │ ├── AbstractConfiguredSecurityBuilder.java
│ │ │ │ │ ├── AbstractSecurityBuilder.java
│ │ │ │ │ ├── SecurityBuilder.java
│ │ │ │ │ ├── SecurityConfigurer.java
│ │ │ │ │ ├── SecurityConfigurerAdapter.java
│ │ │ │ │ └── web
│ │ │ │ │ ├── AbstractRequestMatcherRegistry.java
│ │ │ │ │ ├── HttpSecurityBuilder.java
│ │ │ │ │ ├── builders
│ │ │ │ │ └── HttpSecurity.java
│ │ │ │ │ └── configurers
│ │ │ │ │ ├── AbstractConfigAttributeRequestMatcherRegistry.java
│ │ │ │ │ ├── AbstractHttpConfigurer.java
│ │ │ │ │ ├── AbstractInterceptUrlConfigurer.java
│ │ │ │ │ └── ExpressionUrlAuthorizationConfigurer.java
│ │ │ └── web
│ │ │ │ ├── DefaultSecurityFilterChain.java
│ │ │ │ ├── SecurityFilterChain.java
│ │ │ │ └── util
│ │ │ │ └── matcher
│ │ │ │ └── RequestMatcher.java
│ │ │ ├── stereotype
│ │ │ ├── Component.java
│ │ │ ├── Controller.java
│ │ │ └── Indexed.java
│ │ │ ├── util
│ │ │ └── MultiValueMap.java
│ │ │ └── web
│ │ │ ├── bind
│ │ │ └── annotation
│ │ │ │ ├── PathVariable.java
│ │ │ │ ├── PostMapping.java
│ │ │ │ ├── RequestBody.java
│ │ │ │ ├── RequestMapping.java
│ │ │ │ ├── RequestMethod.java
│ │ │ │ └── RequestParam.java
│ │ │ ├── client
│ │ │ ├── RequestCallback.java
│ │ │ ├── ResponseExtractor.java
│ │ │ ├── RestClientException.java
│ │ │ └── RestTemplate.java
│ │ │ ├── context
│ │ │ └── WebApplicationContext.java
│ │ │ └── multipart
│ │ │ ├── MultipartFile.java
│ │ │ └── MultipartRequest.java
│ │ ├── unboundid-ldap-4.0.14
│ │ └── com
│ │ │ └── unboundid
│ │ │ └── ldap
│ │ │ └── sdk
│ │ │ ├── AsyncRequestID.java
│ │ │ ├── DereferencePolicy.java
│ │ │ ├── Filter.java
│ │ │ ├── LDAPConnection.java
│ │ │ ├── LDAPException.java
│ │ │ ├── LDAPSearchException.java
│ │ │ ├── ReadOnlySearchRequest.java
│ │ │ ├── SearchRequest.java
│ │ │ ├── SearchResult.java
│ │ │ ├── SearchResultEntry.java
│ │ │ ├── SearchResultListener.java
│ │ │ └── SearchScope.java
│ │ ├── validation-api-2.0.1.Final
│ │ └── javax
│ │ │ └── validation
│ │ │ ├── ClockProvider.java
│ │ │ ├── ConstraintValidator.java
│ │ │ └── ConstraintValidatorContext.java
│ │ └── xstream-1.4.10
│ │ └── com
│ │ └── thoughtworks
│ │ └── xstream
│ │ └── XStream.java
└── upgrades
│ ├── 054d7e823b2c5b93bf2a14d5c22a107934fbc133
│ ├── old.dbscheme
│ ├── semmlecode.dbscheme
│ └── upgrade.properties
│ ├── 2a682863863cf7641d54f762070a5e682847d1ca
│ ├── old.dbscheme
│ ├── semmlecode.dbscheme
│ └── upgrade.properties
│ ├── e7706df98aaefcf055f35f50582f2686f41c23bb
│ ├── annotValue.ql
│ ├── callableEnclosingExpr.ql
│ ├── exprs.ql
│ ├── hasLocation.ql
│ ├── isParenthesized.ql
│ ├── numlines.ql
│ ├── old.dbscheme
│ ├── semmlecode.dbscheme
│ ├── statementEnclosingExpr.ql
│ └── upgrade.properties
│ └── qlpack.yml
├── javascript
├── change-notes
│ ├── 2020-11-06-date-functions.md
│ ├── 2020-11-09-jwt.md
│ ├── 2020-11-11-react-hot-loader.md
│ ├── 2020-11-25-prototype-pollution.md
│ ├── 2020-11-30-loginjection.md
│ ├── 2020-11-30-nosql.md
│ ├── 2020-12-02-typescript-4.1.md
│ ├── 2020-12-09-external-flow-sources.md
│ ├── 2020-12-16-build-artifact-leak.md
│ ├── 2020-12-16-indirect-cmd-libraries.md
│ ├── 2020-12-22-execa.md
│ ├── 2021-01-04-superliniar-redos.md
│ ├── 2021-01-08-js-incomplete-multi-character-sanitization.md
│ ├── 2021-01-14-polynomial-redos.md
│ ├── 2021-01-18-angular-templates.md
│ ├── 2021-01-18-server-crash.md
│ ├── 2021-01-21-type-inference-compound.md
│ ├── 2021-01-21-unneeded-defensive-code.md
│ ├── 2021-02-08-immutable.md
│ ├── 2021-02-08-xml-parser-taint.md
│ ├── 2021-02-08-xss-through-dom-forms.md
│ ├── 2021-02-09-form-parsers.md
│ ├── 2021-02-10-markdown.md
│ ├── 2021-02-11-apollo-client.md
│ ├── 2021-02-16-vue-router.md
│ ├── 2021-02-18-next-js.md
│ ├── 2021-02-18-typescript-4.2.md
│ ├── 2021-02-25-event-handler-receiver-is-dom-element.md
│ ├── 2021-02-25-http-proxy.md
│ ├── 2021-02-26-form-data.md
│ ├── 2021-03-01-ajv.md
│ ├── 2021-03-09-template-object-injection.md
│ ├── 2021-03-10-d3.md
│ ├── 2021-03-15-client-side-remote-flow-sources.md
│ ├── 2021-03-17-koa-route.md
│ ├── 2021-03-17-precise-regex-replace.md
│ ├── 2021-03-17-puppeteer.md
│ ├── 2021-03-19-async-execute.md
│ ├── 2021-03-23-accessor-calls.md
│ ├── 2021-03-25-remove-legacy-code-duplication-library.md
│ └── 2021-03-25-remove-legacy-filter-queries.md
├── config
│ └── suites
│ │ ├── javascript
│ │ ├── analysis-quality
│ │ ├── code-review
│ │ ├── compatibility
│ │ ├── correctness
│ │ ├── correctness-core
│ │ ├── correctness-more
│ │ ├── dependencies
│ │ ├── flow-summaries
│ │ ├── frameworks
│ │ ├── frameworks-core
│ │ ├── frameworks-more
│ │ ├── maintainability
│ │ ├── maintainability-core
│ │ ├── maintainability-more
│ │ ├── metrics
│ │ ├── metrics-core
│ │ ├── metrics-more
│ │ ├── quick-wins
│ │ ├── readability
│ │ ├── readability-core
│ │ ├── readability-more
│ │ ├── security
│ │ ├── security-all
│ │ └── security-extra
│ │ └── lgtm
│ │ ├── javascript-alerts-lgtm
│ │ ├── javascript-lgtm
│ │ ├── javascript-metrics-lgtm
│ │ └── javascript-util-lgtm
├── documentation
│ ├── flow-summaries.rst
│ └── library-customization.rst
├── externs
│ ├── DefinitelyTyped-LICENSE
│ ├── README.md
│ ├── es
│ │ ├── es2016.js
│ │ ├── es2017.js
│ │ ├── es3.js
│ │ ├── es5.js
│ │ ├── es6.js
│ │ ├── es6_collections.js
│ │ ├── intl.js
│ │ └── proxy.js
│ ├── lib
│ │ ├── bdd.js
│ │ ├── jquery-3.2.js
│ │ ├── should.js
│ │ └── vows.js
│ ├── nodejs
│ │ ├── assert.js
│ │ ├── assert_legacy.js
│ │ ├── buffer.js
│ │ ├── child_process.js
│ │ ├── cluster.js
│ │ ├── console.js
│ │ ├── constants.js
│ │ ├── crypto.js
│ │ ├── dgram.js
│ │ ├── dns.js
│ │ ├── domain.js
│ │ ├── events.js
│ │ ├── fs.js
│ │ ├── globals.js
│ │ ├── http.js
│ │ ├── https.js
│ │ ├── module.js
│ │ ├── net.js
│ │ ├── os.js
│ │ ├── path.js
│ │ ├── process.js
│ │ ├── punycode.js
│ │ ├── querystring.js
│ │ ├── readline.js
│ │ ├── repl.js
│ │ ├── stream.js
│ │ ├── string_decoder.js
│ │ ├── sys.js
│ │ ├── timers.js
│ │ ├── tls.js
│ │ ├── tty.js
│ │ ├── url.js
│ │ ├── util.js
│ │ ├── v8.js
│ │ ├── vm.js
│ │ └── zlib.js
│ ├── vm
│ │ ├── jsshell.js
│ │ ├── rhino.js
│ │ ├── spidermonkey.js
│ │ └── v8.js
│ └── web
│ │ ├── chrome.js
│ │ ├── fetchapi.js
│ │ ├── fileapi.js
│ │ ├── flash.js
│ │ ├── gecko_css.js
│ │ ├── gecko_dom.js
│ │ ├── gecko_event.js
│ │ ├── gecko_ext.js
│ │ ├── gecko_xml.js
│ │ ├── html5.js
│ │ ├── ie_css.js
│ │ ├── ie_dom.js
│ │ ├── ie_event.js
│ │ ├── ie_vml.js
│ │ ├── intl.js
│ │ ├── iphone.js
│ │ ├── mediasource.js
│ │ ├── page_visibility.js
│ │ ├── streamsapi.js
│ │ ├── url.js
│ │ ├── w3c_anim_timing.js
│ │ ├── w3c_batterystatus.js
│ │ ├── w3c_css.js
│ │ ├── w3c_css3d.js
│ │ ├── w3c_device_sensor_event.js
│ │ ├── w3c_dom1.js
│ │ ├── w3c_dom2.js
│ │ ├── w3c_dom3.js
│ │ ├── w3c_dom4.js
│ │ ├── w3c_elementtraversal.js
│ │ ├── w3c_encoding.js
│ │ ├── w3c_event.js
│ │ ├── w3c_event3.js
│ │ ├── w3c_gamepad.js
│ │ ├── w3c_geolocation.js
│ │ ├── w3c_indexeddb.js
│ │ ├── w3c_midi.js
│ │ ├── w3c_navigation_timing.js
│ │ ├── w3c_permissions.js
│ │ ├── w3c_pointer_events.js
│ │ ├── w3c_range.js
│ │ ├── w3c_requestidlecallback.js
│ │ ├── w3c_rtc.js
│ │ ├── w3c_screen_orientation.js
│ │ ├── w3c_selectors.js
│ │ ├── w3c_serviceworker.js
│ │ ├── w3c_touch_event.js
│ │ ├── w3c_webcrypto.js
│ │ ├── w3c_xml.js
│ │ ├── webgl.js
│ │ ├── webkit_css.js
│ │ ├── webkit_dom.js
│ │ ├── webkit_event.js
│ │ ├── webkit_notifications.js
│ │ ├── webkit_usercontent.js
│ │ ├── webstorage.js
│ │ ├── whatwg_encoding.js
│ │ └── window.js
├── extractor
│ ├── .settings
│ │ └── org.eclipse.core.resources.prefs
│ ├── LICENSE-babylon.md
│ ├── README.md
│ ├── format.json
│ ├── lib
│ │ └── typescript
│ │ │ ├── .gitignore
│ │ │ ├── .yarnrc
│ │ │ ├── README.md
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ ├── ast_extractor.ts
│ │ │ ├── common.ts
│ │ │ ├── main.ts
│ │ │ ├── type_table.ts
│ │ │ ├── typescript.d.ts
│ │ │ ├── typescript.js
│ │ │ └── virtual_source_root.ts
│ │ │ ├── tsconfig.json
│ │ │ ├── tslint.json
│ │ │ ├── yarn.lock
│ │ │ └── yarnrc-build
│ ├── parser-tests
│ │ ├── babylon
│ │ │ ├── README.md
│ │ │ ├── experimental
│ │ │ │ ├── class-properties
│ │ │ │ │ ├── asi-failure-computed
│ │ │ │ │ │ ├── actual.js
│ │ │ │ │ │ └── expected.error
│ │ │ │ │ ├── asi-failure-generator
│ │ │ │ │ │ ├── actual.js
│ │ │ │ │ │ └── expected.error
│ │ │ │ │ └── asi-success
│ │ │ │ │ │ ├── actual.js
│ │ │ │ │ │ └── expected.ast
│ │ │ │ ├── function-sent
│ │ │ │ │ ├── inside-function
│ │ │ │ │ │ ├── actual.js
│ │ │ │ │ │ └── expected.error
│ │ │ │ │ ├── inside-generator
│ │ │ │ │ │ ├── actual.js
│ │ │ │ │ │ └── expected.ast
│ │ │ │ │ └── invalid-property
│ │ │ │ │ │ ├── actual.js
│ │ │ │ │ │ └── expected.error
│ │ │ │ └── uncategorised
│ │ │ │ │ ├── 9
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 10
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 11
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 12
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 13
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 14
│ │ │ │ │ └── actual.js
│ │ │ │ │ ├── 33
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 34
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 35
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 36
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 37
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 38
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 39
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 40
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 41
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.error
│ │ │ │ │ ├── 42
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.error
│ │ │ │ │ ├── 43
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 44
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 45
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 46
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 49
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 50
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 51
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 52
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 53
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ ├── 54
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ │ │ └── 62
│ │ │ │ │ ├── actual.js
│ │ │ │ │ └── expected.ast
│ │ │ ├── generate-tests.patch
│ │ │ └── harmony
│ │ │ │ └── arrow-functions
│ │ │ │ └── object-rest-spread
│ │ │ │ ├── actual.js
│ │ │ │ └── expected.ast
│ │ ├── jcorn-jsx
│ │ │ ├── README.md
│ │ │ ├── generate-tests.patch
│ │ │ ├── test0.fail
│ │ │ ├── test0.js
│ │ │ ├── test1.fail
│ │ │ ├── test1.js
│ │ │ ├── test10.ast
│ │ │ ├── test10.js
│ │ │ ├── test11.ast
│ │ │ ├── test11.js
│ │ │ ├── test12.ast
│ │ │ ├── test12.js
│ │ │ ├── test13.ast
│ │ │ ├── test13.js
│ │ │ ├── test14.ast
│ │ │ ├── test14.js
│ │ │ ├── test15.ast
│ │ │ ├── test15.js
│ │ │ ├── test16.ast
│ │ │ ├── test16.js
│ │ │ ├── test17.ast
│ │ │ ├── test17.js
│ │ │ ├── test18.ast
│ │ │ ├── test18.js
│ │ │ ├── test19.ast
│ │ │ ├── test19.js
│ │ │ ├── test2.ast
│ │ │ ├── test2.js
│ │ │ ├── test2.options.json
│ │ │ ├── test20.ast
│ │ │ ├── test20.js
│ │ │ ├── test21.ast
│ │ │ ├── test21.js
│ │ │ ├── test22.ast
│ │ │ ├── test22.js
│ │ │ ├── test23.ast
│ │ │ ├── test23.js
│ │ │ ├── test24.ast
│ │ │ ├── test24.js
│ │ │ ├── test25.ast
│ │ │ ├── test25.js
│ │ │ ├── test26.ast
│ │ │ ├── test26.js
│ │ │ ├── test27.ast
│ │ │ ├── test27.js
│ │ │ ├── test28.ast
│ │ │ ├── test28.js
│ │ │ ├── test29.ast
│ │ │ ├── test29.js
│ │ │ ├── test3.fail
│ │ │ ├── test3.js
│ │ │ ├── test3.options.json
│ │ │ ├── test30.ast
│ │ │ ├── test30.js
│ │ │ ├── test31.ast
│ │ │ ├── test31.js
│ │ │ ├── test32.ast
│ │ │ ├── test32.js
│ │ │ ├── test4.fail
│ │ │ ├── test4.js
│ │ │ ├── test4.options.json
│ │ │ ├── test5.ast
│ │ │ ├── test5.js
│ │ │ ├── test6.ast
│ │ │ ├── test6.js
│ │ │ ├── test7.ast
│ │ │ ├── test7.js
│ │ │ ├── test8.ast
│ │ │ ├── test8.js
│ │ │ ├── test9.ast
│ │ │ └── test9.js
│ │ └── robustness
│ │ │ └── letLookahead.js
│ ├── src
│ │ └── com
│ │ │ └── semmle
│ │ │ ├── jcorn
│ │ │ ├── AngularExpressionParser.java
│ │ │ ├── CustomParser.java
│ │ │ ├── ESNextParser.java
│ │ │ ├── Identifiers.java
│ │ │ ├── Locutil.java
│ │ │ ├── Options.java
│ │ │ ├── Parser.java
│ │ │ ├── README.md
│ │ │ ├── SyntaxError.java
│ │ │ ├── TokenType.java
│ │ │ ├── Whitespace.java
│ │ │ ├── flow
│ │ │ │ └── FlowParser.java
│ │ │ └── jsx
│ │ │ │ ├── JSXOptions.java
│ │ │ │ ├── JSXParser.java
│ │ │ │ └── XHTMLEntities.java
│ │ │ ├── js
│ │ │ ├── ast
│ │ │ │ ├── ABinaryExpression.java
│ │ │ │ ├── AClass.java
│ │ │ │ ├── AFunction.java
│ │ │ │ ├── AFunctionExpression.java
│ │ │ │ ├── AST2JSON.java
│ │ │ │ ├── AngularPipeRef.java
│ │ │ │ ├── ArrayExpression.java
│ │ │ │ ├── ArrayPattern.java
│ │ │ │ ├── ArrowFunctionExpression.java
│ │ │ │ ├── AssignmentExpression.java
│ │ │ │ ├── AssignmentPattern.java
│ │ │ │ ├── AwaitExpression.java
│ │ │ │ ├── BinaryExpression.java
│ │ │ │ ├── BindExpression.java
│ │ │ │ ├── BlockStatement.java
│ │ │ │ ├── BreakStatement.java
│ │ │ │ ├── CallExpression.java
│ │ │ │ ├── CatchClause.java
│ │ │ │ ├── Chainable.java
│ │ │ │ ├── ClassBody.java
│ │ │ │ ├── ClassDeclaration.java
│ │ │ │ ├── ClassExpression.java
│ │ │ │ ├── Comment.java
│ │ │ │ ├── ComprehensionBlock.java
│ │ │ │ ├── ComprehensionExpression.java
│ │ │ │ ├── ConditionalExpression.java
│ │ │ │ ├── ContinueStatement.java
│ │ │ │ ├── DebuggerStatement.java
│ │ │ │ ├── DeclarationFlags.java
│ │ │ │ ├── Decorator.java
│ │ │ │ ├── DefaultVisitor.java
│ │ │ │ ├── DestructuringPattern.java
│ │ │ │ ├── DoWhileStatement.java
│ │ │ │ ├── DynamicImport.java
│ │ │ │ ├── EmptyStatement.java
│ │ │ │ ├── EnhancedForStatement.java
│ │ │ │ ├── ExportAllDeclaration.java
│ │ │ │ ├── ExportDeclaration.java
│ │ │ │ ├── ExportDefaultDeclaration.java
│ │ │ │ ├── ExportDefaultSpecifier.java
│ │ │ │ ├── ExportNamedDeclaration.java
│ │ │ │ ├── ExportNamespaceSpecifier.java
│ │ │ │ ├── ExportSpecifier.java
│ │ │ │ ├── Expression.java
│ │ │ │ ├── ExpressionStatement.java
│ │ │ │ ├── FieldDefinition.java
│ │ │ │ ├── ForInStatement.java
│ │ │ │ ├── ForOfStatement.java
│ │ │ │ ├── ForStatement.java
│ │ │ │ ├── FunctionDeclaration.java
│ │ │ │ ├── FunctionExpression.java
│ │ │ │ ├── IFunction.java
│ │ │ │ ├── INode.java
│ │ │ │ ├── IPattern.java
│ │ │ │ ├── ISourceElement.java
│ │ │ │ ├── IStatementContainer.java
│ │ │ │ ├── Identifier.java
│ │ │ │ ├── IfStatement.java
│ │ │ │ ├── ImportDeclaration.java
│ │ │ │ ├── ImportDefaultSpecifier.java
│ │ │ │ ├── ImportNamespaceSpecifier.java
│ │ │ │ ├── ImportSpecifier.java
│ │ │ │ ├── InvokeExpression.java
│ │ │ │ ├── JumpStatement.java
│ │ │ │ ├── LabeledStatement.java
│ │ │ │ ├── LetExpression.java
│ │ │ │ ├── LetStatement.java
│ │ │ │ ├── Literal.java
│ │ │ │ ├── LogicalExpression.java
│ │ │ │ ├── Loop.java
│ │ │ │ ├── MemberDefinition.java
│ │ │ │ ├── MemberExpression.java
│ │ │ │ ├── MetaProperty.java
│ │ │ │ ├── MethodDefinition.java
│ │ │ │ ├── NewExpression.java
│ │ │ │ ├── Node.java
│ │ │ │ ├── NodeCopier.java
│ │ │ │ ├── ObjectExpression.java
│ │ │ │ ├── ObjectPattern.java
│ │ │ │ ├── ParenthesizedExpression.java
│ │ │ │ ├── Position.java
│ │ │ │ ├── Program.java
│ │ │ │ ├── Property.java
│ │ │ │ ├── RestElement.java
│ │ │ │ ├── ReturnStatement.java
│ │ │ │ ├── SequenceExpression.java
│ │ │ │ ├── SourceElement.java
│ │ │ │ ├── SourceLocation.java
│ │ │ │ ├── SpreadElement.java
│ │ │ │ ├── Statement.java
│ │ │ │ ├── Super.java
│ │ │ │ ├── SwitchCase.java
│ │ │ │ ├── SwitchStatement.java
│ │ │ │ ├── TaggedTemplateExpression.java
│ │ │ │ ├── TemplateElement.java
│ │ │ │ ├── TemplateLiteral.java
│ │ │ │ ├── ThisExpression.java
│ │ │ │ ├── ThrowStatement.java
│ │ │ │ ├── Token.java
│ │ │ │ ├── TryStatement.java
│ │ │ │ ├── UnaryExpression.java
│ │ │ │ ├── UpdateExpression.java
│ │ │ │ ├── VariableDeclaration.java
│ │ │ │ ├── VariableDeclarator.java
│ │ │ │ ├── Visitor.java
│ │ │ │ ├── WhileStatement.java
│ │ │ │ ├── WithStatement.java
│ │ │ │ ├── XMLAnyName.java
│ │ │ │ ├── XMLAttributeSelector.java
│ │ │ │ ├── XMLDotDotExpression.java
│ │ │ │ ├── XMLFilterExpression.java
│ │ │ │ ├── XMLQualifiedIdentifier.java
│ │ │ │ ├── YieldExpression.java
│ │ │ │ ├── jsdoc
│ │ │ │ │ ├── AllLiteral.java
│ │ │ │ │ ├── ArrayType.java
│ │ │ │ │ ├── CompoundType.java
│ │ │ │ │ ├── FieldType.java
│ │ │ │ │ ├── FunctionType.java
│ │ │ │ │ ├── JSDocComment.java
│ │ │ │ │ ├── JSDocElement.java
│ │ │ │ │ ├── JSDocTag.java
│ │ │ │ │ ├── JSDocTypeExpression.java
│ │ │ │ │ ├── NameExpression.java
│ │ │ │ │ ├── NonNullableType.java
│ │ │ │ │ ├── NullLiteral.java
│ │ │ │ │ ├── NullableLiteral.java
│ │ │ │ │ ├── NullableType.java
│ │ │ │ │ ├── OptionalType.java
│ │ │ │ │ ├── ParameterType.java
│ │ │ │ │ ├── RecordType.java
│ │ │ │ │ ├── RestType.java
│ │ │ │ │ ├── TypeApplication.java
│ │ │ │ │ ├── UnaryTypeConstructor.java
│ │ │ │ │ ├── UndefinedLiteral.java
│ │ │ │ │ ├── UnionType.java
│ │ │ │ │ ├── Visitor.java
│ │ │ │ │ ├── VoidLiteral.java
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── json
│ │ │ │ │ ├── JSONArray.java
│ │ │ │ │ ├── JSONLiteral.java
│ │ │ │ │ ├── JSONObject.java
│ │ │ │ │ ├── JSONValue.java
│ │ │ │ │ ├── Visitor.java
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── jsx
│ │ │ │ │ ├── IJSXAttribute.java
│ │ │ │ │ ├── IJSXExpression.java
│ │ │ │ │ ├── IJSXName.java
│ │ │ │ │ ├── JSXAttribute.java
│ │ │ │ │ ├── JSXBoundaryElement.java
│ │ │ │ │ ├── JSXClosingElement.java
│ │ │ │ │ ├── JSXElement.java
│ │ │ │ │ ├── JSXEmptyExpression.java
│ │ │ │ │ ├── JSXExpressionContainer.java
│ │ │ │ │ ├── JSXIdentifier.java
│ │ │ │ │ ├── JSXMemberExpression.java
│ │ │ │ │ ├── JSXNamespacedName.java
│ │ │ │ │ ├── JSXOpeningElement.java
│ │ │ │ │ ├── JSXSpreadAttribute.java
│ │ │ │ │ └── JSXThisExpr.java
│ │ │ │ ├── package-info.java
│ │ │ │ └── regexp
│ │ │ │ │ ├── BackReference.java
│ │ │ │ │ ├── Caret.java
│ │ │ │ │ ├── CharacterClass.java
│ │ │ │ │ ├── CharacterClassEscape.java
│ │ │ │ │ ├── CharacterClassRange.java
│ │ │ │ │ ├── Constant.java
│ │ │ │ │ ├── ControlEscape.java
│ │ │ │ │ ├── ControlLetter.java
│ │ │ │ │ ├── DecimalEscape.java
│ │ │ │ │ ├── Disjunction.java
│ │ │ │ │ ├── Dollar.java
│ │ │ │ │ ├── Dot.java
│ │ │ │ │ ├── Error.java
│ │ │ │ │ ├── EscapeSequence.java
│ │ │ │ │ ├── Group.java
│ │ │ │ │ ├── HexEscapeSequence.java
│ │ │ │ │ ├── IdentityEscape.java
│ │ │ │ │ ├── Literal.java
│ │ │ │ │ ├── NamedBackReference.java
│ │ │ │ │ ├── NonWordBoundary.java
│ │ │ │ │ ├── OctalEscape.java
│ │ │ │ │ ├── Opt.java
│ │ │ │ │ ├── Plus.java
│ │ │ │ │ ├── Quantifier.java
│ │ │ │ │ ├── Range.java
│ │ │ │ │ ├── RegExpTerm.java
│ │ │ │ │ ├── Sequence.java
│ │ │ │ │ ├── Star.java
│ │ │ │ │ ├── UnicodeEscapeSequence.java
│ │ │ │ │ ├── UnicodePropertyEscape.java
│ │ │ │ │ ├── Visitor.java
│ │ │ │ │ ├── WordBoundary.java
│ │ │ │ │ ├── ZeroWidthNegativeLookahead.java
│ │ │ │ │ ├── ZeroWidthNegativeLookbehind.java
│ │ │ │ │ ├── ZeroWidthPositiveLookahead.java
│ │ │ │ │ ├── ZeroWidthPositiveLookbehind.java
│ │ │ │ │ └── package-info.java
│ │ │ ├── dependencies
│ │ │ │ ├── AsyncFetcher.java
│ │ │ │ ├── DependencyResolver.java
│ │ │ │ ├── Fetcher.java
│ │ │ │ ├── SemVer.java
│ │ │ │ └── packument
│ │ │ │ │ ├── PackageJson.java
│ │ │ │ │ └── Packument.java
│ │ │ ├── extractor
│ │ │ │ ├── ASTExtractor.java
│ │ │ │ ├── AutoBuild.java
│ │ │ │ ├── CFGExtractor.java
│ │ │ │ ├── DeclaredNames.java
│ │ │ │ ├── DependencyInstallationResult.java
│ │ │ │ ├── EnvironmentVariables.java
│ │ │ │ ├── ExprKinds.java
│ │ │ │ ├── ExtractionMetrics.java
│ │ │ │ ├── ExtractorConfig.java
│ │ │ │ ├── ExtractorState.java
│ │ │ │ ├── FileExtractor.java
│ │ │ │ ├── FileSnippet.java
│ │ │ │ ├── HTMLExtractor.java
│ │ │ │ ├── IExtractor.java
│ │ │ │ ├── JSDocExtractor.java
│ │ │ │ ├── JSExtractor.java
│ │ │ │ ├── JSONExtractor.java
│ │ │ │ ├── JumpType.java
│ │ │ │ ├── LexicalExtractor.java
│ │ │ │ ├── LoCInfo.java
│ │ │ │ ├── LocationManager.java
│ │ │ │ ├── Main.java
│ │ │ │ ├── NodeJSDetector.java
│ │ │ │ ├── RegExpExtractor.java
│ │ │ │ ├── ScopeKind.java
│ │ │ │ ├── ScopeManager.java
│ │ │ │ ├── ScriptExtractor.java
│ │ │ │ ├── StmtKinds.java
│ │ │ │ ├── SyntacticContextManager.java
│ │ │ │ ├── TextualExtractor.java
│ │ │ │ ├── TopLevelKind.java
│ │ │ │ ├── TypeExprKinds.java
│ │ │ │ ├── TypeScriptExtractor.java
│ │ │ │ ├── TypeScriptMode.java
│ │ │ │ ├── VirtualSourceRoot.java
│ │ │ │ ├── YAMLExtractor.java
│ │ │ │ ├── test
│ │ │ │ │ ├── ASTMatchingTests.java
│ │ │ │ │ ├── AllTests.java
│ │ │ │ │ ├── AutoBuildTests.java
│ │ │ │ │ ├── ClassPropertiesTests.java
│ │ │ │ │ ├── DecoratorTests.java
│ │ │ │ │ ├── ExportExtensionsTests.java
│ │ │ │ │ ├── FunctionSentTests.java
│ │ │ │ │ ├── JSXTests.java
│ │ │ │ │ ├── NodeJSDetectorTests.java
│ │ │ │ │ ├── NumericSeparatorTests.java
│ │ │ │ │ ├── ObjectRestSpreadTests.java
│ │ │ │ │ ├── RobustnessTests.java
│ │ │ │ │ └── TrapTests.java
│ │ │ │ └── trapcache
│ │ │ │ │ ├── CachingTrapWriter.java
│ │ │ │ │ ├── DefaultTrapCache.java
│ │ │ │ │ ├── DummyTrapCache.java
│ │ │ │ │ └── ITrapCache.java
│ │ │ └── parser
│ │ │ │ ├── JSDocParser.java
│ │ │ │ ├── JSONParser.java
│ │ │ │ ├── JSParser.java
│ │ │ │ ├── JcornWrapper.java
│ │ │ │ ├── ParseError.java
│ │ │ │ ├── ParsedProject.java
│ │ │ │ └── RegExpParser.java
│ │ │ └── ts
│ │ │ ├── ast
│ │ │ ├── ArrayTypeExpr.java
│ │ │ ├── ConditionalTypeExpr.java
│ │ │ ├── DecoratorList.java
│ │ │ ├── EnumDeclaration.java
│ │ │ ├── EnumMember.java
│ │ │ ├── ExportAsNamespaceDeclaration.java
│ │ │ ├── ExportWholeDeclaration.java
│ │ │ ├── ExpressionWithTypeArguments.java
│ │ │ ├── ExternalModuleDeclaration.java
│ │ │ ├── ExternalModuleReference.java
│ │ │ ├── FunctionTypeExpr.java
│ │ │ ├── GenericTypeExpr.java
│ │ │ ├── GlobalAugmentationDeclaration.java
│ │ │ ├── INodeWithSymbol.java
│ │ │ ├── ITypeExpression.java
│ │ │ ├── ITypedAstNode.java
│ │ │ ├── ImportTypeExpr.java
│ │ │ ├── ImportWholeDeclaration.java
│ │ │ ├── IndexedAccessTypeExpr.java
│ │ │ ├── InferTypeExpr.java
│ │ │ ├── InterfaceDeclaration.java
│ │ │ ├── InterfaceTypeExpr.java
│ │ │ ├── IntersectionTypeExpr.java
│ │ │ ├── KeywordTypeExpr.java
│ │ │ ├── MappedTypeExpr.java
│ │ │ ├── NamespaceDeclaration.java
│ │ │ ├── NonNullAssertion.java
│ │ │ ├── OptionalTypeExpr.java
│ │ │ ├── ParenthesizedTypeExpr.java
│ │ │ ├── PredicateTypeExpr.java
│ │ │ ├── RestTypeExpr.java
│ │ │ ├── TemplateLiteralTypeExpr.java
│ │ │ ├── TupleTypeExpr.java
│ │ │ ├── TypeAliasDeclaration.java
│ │ │ ├── TypeAssertion.java
│ │ │ ├── TypeExpression.java
│ │ │ ├── TypeParameter.java
│ │ │ ├── TypeofTypeExpr.java
│ │ │ ├── UnaryTypeExpr.java
│ │ │ └── UnionTypeExpr.java
│ │ │ └── extractor
│ │ │ ├── TypeExtractor.java
│ │ │ ├── TypeScriptASTConverter.java
│ │ │ ├── TypeScriptParser.java
│ │ │ ├── TypeScriptParserMetadata.java
│ │ │ └── TypeTable.java
│ ├── tests
│ │ ├── cfg
│ │ │ ├── input
│ │ │ │ ├── classexpr1.js
│ │ │ │ ├── classexpr2.js
│ │ │ │ ├── classexpr3.js
│ │ │ │ ├── classexpr4.js
│ │ │ │ ├── fields.js
│ │ │ │ ├── seq.js
│ │ │ │ ├── short-circuit.js
│ │ │ │ ├── ternary.js
│ │ │ │ └── tst.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── classexpr1.js.trap
│ │ │ │ ├── classexpr2.js.trap
│ │ │ │ ├── classexpr3.js.trap
│ │ │ │ ├── classexpr4.js.trap
│ │ │ │ ├── fields.js.trap
│ │ │ │ ├── seq.js.trap
│ │ │ │ ├── short-circuit.js.trap
│ │ │ │ ├── ternary.js.trap
│ │ │ │ └── tst.js.trap
│ │ ├── closure
│ │ │ ├── input
│ │ │ │ ├── googDotDeclareModuleId.js
│ │ │ │ ├── googDotModule.js
│ │ │ │ └── googDotProvide.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── googDotDeclareModuleId.js.trap
│ │ │ │ ├── googDotModule.js.trap
│ │ │ │ └── googDotProvide.js.trap
│ │ ├── comments
│ │ │ ├── input
│ │ │ │ ├── comments.js
│ │ │ │ ├── empty_comment.js
│ │ │ │ └── jsdoc.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── comments.js.trap
│ │ │ │ ├── empty_comment.js.trap
│ │ │ │ └── jsdoc.js.trap
│ │ ├── default-encoding
│ │ │ ├── input
│ │ │ │ └── latin1.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ └── latin1.js.trap
│ │ ├── e4x
│ │ │ ├── input
│ │ │ │ ├── regress.js
│ │ │ │ └── tst.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── regress.js.trap
│ │ │ │ └── tst.js.trap
│ │ ├── encoding
│ │ │ ├── input
│ │ │ │ ├── surrogates.js
│ │ │ │ ├── unicode.js
│ │ │ │ └── zwsp.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── surrogates.js.trap
│ │ │ │ ├── unicode.js.trap
│ │ │ │ └── zwsp.js.trap
│ │ ├── errors
│ │ │ ├── input
│ │ │ │ ├── empty.js
│ │ │ │ ├── errors.js
│ │ │ │ ├── incomplete.js
│ │ │ │ ├── invalid-assignment-pattern.js
│ │ │ │ ├── json.js
│ │ │ │ ├── kwident.js
│ │ │ │ └── weirdassign.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── empty.js.trap
│ │ │ │ ├── errors.js.trap
│ │ │ │ ├── incomplete.js.trap
│ │ │ │ ├── invalid-assignment-pattern.js.trap
│ │ │ │ ├── json.js.trap
│ │ │ │ ├── kwident.js.trap
│ │ │ │ └── weirdassign.js.trap
│ │ ├── es2015
│ │ │ ├── input
│ │ │ │ ├── array_pattern_with_default.js
│ │ │ │ ├── array_pattern_with_rest.js
│ │ │ │ ├── arrowfn.js
│ │ │ │ ├── class_accessors.js
│ │ │ │ ├── class_ctor.js
│ │ │ │ ├── class_extends.js
│ │ │ │ ├── class_extends2.js
│ │ │ │ ├── class_method.js
│ │ │ │ ├── class_static.js
│ │ │ │ ├── classdecl.js
│ │ │ │ ├── classexpr.js
│ │ │ │ ├── classexpr2.js
│ │ │ │ ├── complex_array_pattern.js
│ │ │ │ ├── complex_object_pattern.js
│ │ │ │ ├── const.js
│ │ │ │ ├── defaultargs.js
│ │ │ │ ├── delegating_yield.js
│ │ │ │ ├── destructuring.js
│ │ │ │ ├── export1.js
│ │ │ │ ├── export10.js
│ │ │ │ ├── export11.js
│ │ │ │ ├── export2.js
│ │ │ │ ├── export3.js
│ │ │ │ ├── export4.js
│ │ │ │ ├── export5.js
│ │ │ │ ├── export6.js
│ │ │ │ ├── export7.js
│ │ │ │ ├── export8.js
│ │ │ │ ├── export9.js
│ │ │ │ ├── forof.js
│ │ │ │ ├── import1.js
│ │ │ │ ├── import2.js
│ │ │ │ ├── import3.js
│ │ │ │ ├── import4.js
│ │ │ │ ├── import5.js
│ │ │ │ ├── import6.js
│ │ │ │ ├── import7.js
│ │ │ │ ├── let.js
│ │ │ │ ├── let2.js
│ │ │ │ ├── nested_import.js
│ │ │ │ ├── new_target.js
│ │ │ │ ├── no-substitution.js
│ │ │ │ ├── nullMethodName.js
│ │ │ │ ├── odasa-2593.js
│ │ │ │ ├── properties.js
│ │ │ │ ├── property_pattern_with_default.js
│ │ │ │ ├── restparms.js
│ │ │ │ ├── restparms2.js
│ │ │ │ ├── spreadelement.js
│ │ │ │ ├── super_call.js
│ │ │ │ ├── super_ctor.js
│ │ │ │ ├── templates.js
│ │ │ │ ├── unknown_meta_property.js
│ │ │ │ ├── yield.js
│ │ │ │ └── yield2.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── array_pattern_with_default.js.trap
│ │ │ │ ├── array_pattern_with_rest.js.trap
│ │ │ │ ├── arrowfn.js.trap
│ │ │ │ ├── class_accessors.js.trap
│ │ │ │ ├── class_ctor.js.trap
│ │ │ │ ├── class_extends.js.trap
│ │ │ │ ├── class_extends2.js.trap
│ │ │ │ ├── class_method.js.trap
│ │ │ │ ├── class_static.js.trap
│ │ │ │ ├── classdecl.js.trap
│ │ │ │ ├── classexpr.js.trap
│ │ │ │ ├── classexpr2.js.trap
│ │ │ │ ├── complex_array_pattern.js.trap
│ │ │ │ ├── complex_object_pattern.js.trap
│ │ │ │ ├── const.js.trap
│ │ │ │ ├── defaultargs.js.trap
│ │ │ │ ├── delegating_yield.js.trap
│ │ │ │ ├── destructuring.js.trap
│ │ │ │ ├── export1.js.trap
│ │ │ │ ├── export10.js.trap
│ │ │ │ ├── export11.js.trap
│ │ │ │ ├── export2.js.trap
│ │ │ │ ├── export3.js.trap
│ │ │ │ ├── export4.js.trap
│ │ │ │ ├── export5.js.trap
│ │ │ │ ├── export6.js.trap
│ │ │ │ ├── export7.js.trap
│ │ │ │ ├── export8.js.trap
│ │ │ │ ├── export9.js.trap
│ │ │ │ ├── forof.js.trap
│ │ │ │ ├── import1.js.trap
│ │ │ │ ├── import2.js.trap
│ │ │ │ ├── import3.js.trap
│ │ │ │ ├── import4.js.trap
│ │ │ │ ├── import5.js.trap
│ │ │ │ ├── import6.js.trap
│ │ │ │ ├── import7.js.trap
│ │ │ │ ├── let.js.trap
│ │ │ │ ├── let2.js.trap
│ │ │ │ ├── nested_import.js.trap
│ │ │ │ ├── new_target.js.trap
│ │ │ │ ├── no-substitution.js.trap
│ │ │ │ ├── nullMethodName.js.trap
│ │ │ │ ├── odasa-2593.js.trap
│ │ │ │ ├── properties.js.trap
│ │ │ │ ├── property_pattern_with_default.js.trap
│ │ │ │ ├── restparms.js.trap
│ │ │ │ ├── restparms2.js.trap
│ │ │ │ ├── spreadelement.js.trap
│ │ │ │ ├── super_call.js.trap
│ │ │ │ ├── super_ctor.js.trap
│ │ │ │ ├── templates.js.trap
│ │ │ │ ├── unknown_meta_property.js.trap
│ │ │ │ ├── yield.js.trap
│ │ │ │ └── yield2.js.trap
│ │ ├── es2016
│ │ │ ├── input
│ │ │ │ ├── exp.js
│ │ │ │ └── usestrict.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── exp.js.trap
│ │ │ │ └── usestrict.js.trap
│ │ ├── es2017
│ │ │ ├── input
│ │ │ │ ├── async-await.js
│ │ │ │ ├── export-async-1.js
│ │ │ │ ├── export-async-2.js
│ │ │ │ ├── invalid-async-fn.js
│ │ │ │ └── shorthand-prop-async.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── async-await.js.trap
│ │ │ │ ├── export-async-1.js.trap
│ │ │ │ ├── export-async-2.js.trap
│ │ │ │ ├── invalid-async-fn.js.trap
│ │ │ │ └── shorthand-prop-async.js.trap
│ │ ├── es2018
│ │ │ ├── input
│ │ │ │ ├── asyncIter.js
│ │ │ │ └── templates.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── asyncIter.js.trap
│ │ │ │ └── templates.js.trap
│ │ ├── es2019
│ │ │ ├── input
│ │ │ │ └── json-superset.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ └── json-superset.js.trap
│ │ ├── es2021
│ │ │ ├── input
│ │ │ │ ├── assign.js
│ │ │ │ └── numeric.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── assign.js.trap
│ │ │ │ └── numeric.js.trap
│ │ ├── esnext
│ │ │ ├── input
│ │ │ │ ├── async-generators.js
│ │ │ │ ├── catchGuardAndNoBinding.js
│ │ │ │ ├── catchNoBinding.js
│ │ │ │ ├── dynamic-import.js
│ │ │ │ ├── fields.js
│ │ │ │ ├── nullish-coalescing.js
│ │ │ │ ├── optional-chaining.js
│ │ │ │ ├── optional-chaining_bad1.js
│ │ │ │ ├── optional-chaining_bad2.js
│ │ │ │ ├── optional-chaining_bad3.js
│ │ │ │ ├── optional-chaining_bad4.js
│ │ │ │ ├── optional-chaining_bad5.js
│ │ │ │ ├── optional-chaining_bad6.js
│ │ │ │ ├── optional-chaining_short-circuiting.js
│ │ │ │ ├── top-level-await.js
│ │ │ │ └── yield-import.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── async-generators.js.trap
│ │ │ │ ├── catchGuardAndNoBinding.js.trap
│ │ │ │ ├── catchNoBinding.js.trap
│ │ │ │ ├── dynamic-import.js.trap
│ │ │ │ ├── fields.js.trap
│ │ │ │ ├── nullish-coalescing.js.trap
│ │ │ │ ├── optional-chaining.js.trap
│ │ │ │ ├── optional-chaining_bad1.js.trap
│ │ │ │ ├── optional-chaining_bad2.js.trap
│ │ │ │ ├── optional-chaining_bad3.js.trap
│ │ │ │ ├── optional-chaining_bad4.js.trap
│ │ │ │ ├── optional-chaining_bad5.js.trap
│ │ │ │ ├── optional-chaining_bad6.js.trap
│ │ │ │ ├── optional-chaining_short-circuiting.js.trap
│ │ │ │ ├── top-level-await.js.trap
│ │ │ │ └── yield-import.js.trap
│ │ ├── excludes
│ │ │ ├── input
│ │ │ │ ├── .jshintignore
│ │ │ │ ├── a.js
│ │ │ │ ├── baz
│ │ │ │ │ └── a.js
│ │ │ │ └── f
│ │ │ │ │ ├── bar.js
│ │ │ │ │ ├── empty.json
│ │ │ │ │ └── foo.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── a.js.trap
│ │ │ │ └── empty.json.trap
│ │ ├── exprs
│ │ │ ├── input
│ │ │ │ ├── assignment.js
│ │ │ │ ├── binary.js
│ │ │ │ ├── comparison.js
│ │ │ │ ├── fnnesting.js
│ │ │ │ ├── others.js
│ │ │ │ ├── parens.js
│ │ │ │ ├── primaries.js
│ │ │ │ ├── regexp.js
│ │ │ │ ├── unary.js
│ │ │ │ └── update.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── assignment.js.trap
│ │ │ │ ├── binary.js.trap
│ │ │ │ ├── comparison.js.trap
│ │ │ │ ├── fnnesting.js.trap
│ │ │ │ ├── others.js.trap
│ │ │ │ ├── parens.js.trap
│ │ │ │ ├── primaries.js.trap
│ │ │ │ ├── regexp.js.trap
│ │ │ │ ├── unary.js.trap
│ │ │ │ └── update.js.trap
│ │ ├── extensions
│ │ │ ├── input
│ │ │ │ ├── tst.es6
│ │ │ │ ├── tst2.es
│ │ │ │ └── tst4.cjs
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── tst.es6.trap
│ │ │ │ ├── tst2.es.trap
│ │ │ │ └── tst4.cjs.trap
│ │ ├── externs
│ │ │ ├── input
│ │ │ │ └── Point.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ └── Point.js.trap
│ │ ├── flow
│ │ │ ├── input
│ │ │ │ ├── ambig.js
│ │ │ │ ├── anonFunctionOptionalParm.js
│ │ │ │ ├── anonFunctionReturnType.js
│ │ │ │ ├── anonFunctionWithoutParens.js
│ │ │ │ ├── anonIndexer.js
│ │ │ │ ├── array-types.js
│ │ │ │ ├── async.js
│ │ │ │ ├── atAtIteratorProp.js
│ │ │ │ ├── boundExplicitTypeParameters.js
│ │ │ │ ├── complexParamTypes.js
│ │ │ │ ├── complexParamTypes2.js
│ │ │ │ ├── declareExport.js
│ │ │ │ ├── declareModuleExports.js
│ │ │ │ ├── declared-module-imports.js
│ │ │ │ ├── explicitTypeParameters.js
│ │ │ │ ├── explicitTypeParametersForArgumentlessConstructorCall.js
│ │ │ │ ├── export.js
│ │ │ │ ├── exportOpaqueType.js
│ │ │ │ ├── get-set-methods.js
│ │ │ │ ├── importNonTypeInDeclaredModule.js
│ │ │ │ ├── importType.js
│ │ │ │ ├── importTypeInDeclaredModule.js
│ │ │ │ ├── methodTypeParams.js
│ │ │ │ ├── notExplicitTypeParameters1.js
│ │ │ │ ├── notExplicitTypeParameters2.js
│ │ │ │ ├── notExplicitTypeParameters3.js
│ │ │ │ ├── objectTypeSpread.js
│ │ │ │ ├── optParms.js
│ │ │ │ ├── parmAnonFunctionType.js
│ │ │ │ ├── practicallyAmbigiousExplicitTypeParameters.js
│ │ │ │ ├── predicate-function-annotation.js
│ │ │ │ ├── qualifiedInterface.js
│ │ │ │ ├── tst.js
│ │ │ │ └── variance.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── ambig.js.trap
│ │ │ │ ├── anonFunctionOptionalParm.js.trap
│ │ │ │ ├── anonFunctionReturnType.js.trap
│ │ │ │ ├── anonFunctionWithoutParens.js.trap
│ │ │ │ ├── anonIndexer.js.trap
│ │ │ │ ├── array-types.js.trap
│ │ │ │ ├── async.js.trap
│ │ │ │ ├── atAtIteratorProp.js.trap
│ │ │ │ ├── boundExplicitTypeParameters.js.trap
│ │ │ │ ├── complexParamTypes.js.trap
│ │ │ │ ├── complexParamTypes2.js.trap
│ │ │ │ ├── declareExport.js.trap
│ │ │ │ ├── declareModuleExports.js.trap
│ │ │ │ ├── declared-module-imports.js.trap
│ │ │ │ ├── explicitTypeParameters.js.trap
│ │ │ │ ├── explicitTypeParametersForArgumentlessConstructorCall.js.trap
│ │ │ │ ├── export.js.trap
│ │ │ │ ├── exportOpaqueType.js.trap
│ │ │ │ ├── get-set-methods.js.trap
│ │ │ │ ├── importNonTypeInDeclaredModule.js.trap
│ │ │ │ ├── importType.js.trap
│ │ │ │ ├── importTypeInDeclaredModule.js.trap
│ │ │ │ ├── methodTypeParams.js.trap
│ │ │ │ ├── notExplicitTypeParameters1.js.trap
│ │ │ │ ├── notExplicitTypeParameters2.js.trap
│ │ │ │ ├── notExplicitTypeParameters3.js.trap
│ │ │ │ ├── objectTypeSpread.js.trap
│ │ │ │ ├── optParms.js.trap
│ │ │ │ ├── parmAnonFunctionType.js.trap
│ │ │ │ ├── practicallyAmbigiousExplicitTypeParameters.js.trap
│ │ │ │ ├── predicate-function-annotation.js.trap
│ │ │ │ ├── qualifiedInterface.js.trap
│ │ │ │ ├── tst.js.trap
│ │ │ │ └── variance.js.trap
│ │ ├── functionbind
│ │ │ ├── input
│ │ │ │ └── tst.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ └── tst.js.trap
│ │ ├── helloworld
│ │ │ ├── input
│ │ │ │ └── hello.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ └── hello.js.trap
│ │ ├── html-text-extraction
│ │ │ ├── input
│ │ │ │ └── text-examples.html
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ └── text-examples.html.trap
│ │ ├── html
│ │ │ ├── input
│ │ │ │ ├── doctype.html
│ │ │ │ ├── empty_script.html
│ │ │ │ ├── entities.html
│ │ │ │ ├── json_in_script.html
│ │ │ │ ├── module.html
│ │ │ │ ├── q.html
│ │ │ │ ├── tst.html
│ │ │ │ ├── tst.xhtml
│ │ │ │ ├── tst2.html
│ │ │ │ └── tst2.xhtml
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── doctype.html.trap
│ │ │ │ ├── empty_script.html.trap
│ │ │ │ ├── entities.html.trap
│ │ │ │ ├── json_in_script.html.trap
│ │ │ │ ├── module.html.trap
│ │ │ │ ├── q.html.trap
│ │ │ │ ├── tst.html.trap
│ │ │ │ ├── tst.xhtml.trap
│ │ │ │ ├── tst2.html.trap
│ │ │ │ └── tst2.xhtml.trap
│ │ ├── jscript
│ │ │ ├── input
│ │ │ │ └── tst.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ └── tst.js.trap
│ │ ├── json
│ │ │ ├── input
│ │ │ │ ├── array.json
│ │ │ │ ├── comments.json
│ │ │ │ ├── duplicate-keys.json
│ │ │ │ ├── empty.json
│ │ │ │ ├── error.json
│ │ │ │ ├── f
│ │ │ │ │ └── ignored.json
│ │ │ │ ├── invalid.json
│ │ │ │ ├── neg.json
│ │ │ │ ├── neg2.json
│ │ │ │ ├── null.json
│ │ │ │ ├── omitted.json
│ │ │ │ └── tst.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── array.json.trap
│ │ │ │ ├── comments.json.trap
│ │ │ │ ├── duplicate-keys.json.trap
│ │ │ │ ├── empty.json.trap
│ │ │ │ ├── error.json.trap
│ │ │ │ ├── invalid.json.trap
│ │ │ │ ├── neg.json.trap
│ │ │ │ ├── neg2.json.trap
│ │ │ │ ├── null.json.trap
│ │ │ │ ├── omitted.json.trap
│ │ │ │ └── tst.json.trap
│ │ ├── jsx
│ │ │ ├── input
│ │ │ │ ├── err1.jsx
│ │ │ │ ├── err2.jsx
│ │ │ │ ├── err3.jsx
│ │ │ │ ├── err4.jsx
│ │ │ │ ├── tst.js
│ │ │ │ ├── tst.jsx
│ │ │ │ └── tst2.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── err1.jsx.trap
│ │ │ │ ├── err2.jsx.trap
│ │ │ │ ├── err3.jsx.trap
│ │ │ │ ├── err4.jsx.trap
│ │ │ │ ├── tst.js.trap
│ │ │ │ ├── tst.jsx.trap
│ │ │ │ └── tst2.js.trap
│ │ ├── keywords
│ │ │ ├── input
│ │ │ │ └── tst.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ └── tst.js.trap
│ │ ├── moduleTypes1
│ │ │ ├── input
│ │ │ │ ├── package.json
│ │ │ │ └── tst.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── package.json.trap
│ │ │ │ └── tst.js.trap
│ │ ├── moduleTypes2
│ │ │ ├── input
│ │ │ │ ├── package.json
│ │ │ │ └── tst2.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── package.json.trap
│ │ │ │ └── tst2.js.trap
│ │ ├── moduleTypes3
│ │ │ ├── input
│ │ │ │ ├── package.json
│ │ │ │ └── tst.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── package.json.trap
│ │ │ │ └── tst.js.trap
│ │ ├── mozilla
│ │ │ ├── input
│ │ │ │ ├── array_comprehensions.js
│ │ │ │ ├── exprfns.js
│ │ │ │ ├── foreach.js
│ │ │ │ ├── generator_expressions.js
│ │ │ │ ├── guardedCatch.js
│ │ │ │ ├── letExpr.js
│ │ │ │ ├── letStmt.js
│ │ │ │ ├── letStmt2.js
│ │ │ │ ├── new-with-trailing-arg.js
│ │ │ │ └── odasa-2593.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── array_comprehensions.js.trap
│ │ │ │ ├── exprfns.js.trap
│ │ │ │ ├── foreach.js.trap
│ │ │ │ ├── generator_expressions.js.trap
│ │ │ │ ├── guardedCatch.js.trap
│ │ │ │ ├── letExpr.js.trap
│ │ │ │ ├── letStmt.js.trap
│ │ │ │ ├── letStmt2.js.trap
│ │ │ │ ├── new-with-trailing-arg.js.trap
│ │ │ │ └── odasa-2593.js.trap
│ │ ├── ng-templates
│ │ │ ├── input
│ │ │ │ └── component.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ └── component.js.trap
│ │ ├── node
│ │ │ ├── input
│ │ │ │ ├── constlet.js
│ │ │ │ ├── empty
│ │ │ │ ├── f
│ │ │ │ │ ├── ignored.json
│ │ │ │ │ └── package.json
│ │ │ │ ├── g
│ │ │ │ │ └── hello
│ │ │ │ ├── tst.html
│ │ │ │ ├── tst.js
│ │ │ │ └── tst.mjs
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── constlet.js.trap
│ │ │ │ ├── hello.trap
│ │ │ │ ├── package.json.trap
│ │ │ │ ├── tst.html.trap
│ │ │ │ ├── tst.js.trap
│ │ │ │ └── tst.mjs.trap
│ │ ├── project-layout
│ │ ├── rcfiles
│ │ │ ├── input
│ │ │ │ ├── .babelrc
│ │ │ │ ├── .eslintrc
│ │ │ │ └── .npmrc
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── .babelrc.trap
│ │ │ │ └── .eslintrc.trap
│ │ ├── regexp
│ │ │ ├── input
│ │ │ │ ├── es2018.js
│ │ │ │ ├── nonstandard.js
│ │ │ │ ├── odasa-1934.js
│ │ │ │ └── tst.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── es2018.js.trap
│ │ │ │ ├── nonstandard.js.trap
│ │ │ │ ├── odasa-1934.js.trap
│ │ │ │ └── tst.js.trap
│ │ ├── restprops
│ │ │ ├── input
│ │ │ │ └── tst.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ └── tst.js.trap
│ │ ├── shebang
│ │ │ ├── input
│ │ │ │ ├── not-typescript.ts
│ │ │ │ ├── tst.html
│ │ │ │ ├── tst.js
│ │ │ │ ├── typescript-with-shebang.ts
│ │ │ │ └── typescript.ts
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── tst.html.trap
│ │ │ │ ├── tst.js.trap
│ │ │ │ ├── typescript-with-shebang.ts.trap
│ │ │ │ └── typescript.ts.trap
│ │ ├── stmts
│ │ │ ├── input
│ │ │ │ ├── conditionals.js
│ │ │ │ ├── forvardefault.js
│ │ │ │ ├── functions.js
│ │ │ │ ├── loops.js
│ │ │ │ ├── others.js
│ │ │ │ ├── switch.js
│ │ │ │ ├── switch2.js
│ │ │ │ ├── trivial-switch.js
│ │ │ │ └── try.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── conditionals.js.trap
│ │ │ │ ├── forvardefault.js.trap
│ │ │ │ ├── functions.js.trap
│ │ │ │ ├── loops.js.trap
│ │ │ │ ├── others.js.trap
│ │ │ │ ├── switch.js.trap
│ │ │ │ ├── switch2.js.trap
│ │ │ │ ├── trivial-switch.js.trap
│ │ │ │ └── try.js.trap
│ │ ├── strictmode
│ │ │ ├── input
│ │ │ │ ├── assignargs.js
│ │ │ │ └── tst.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── assignargs.js.trap
│ │ │ │ └── tst.js.trap
│ │ ├── ts
│ │ │ ├── input
│ │ │ │ ├── arrayBindingPattern.ts
│ │ │ │ ├── badimport.ts
│ │ │ │ ├── bindingpattern.ts
│ │ │ │ ├── bom.ts
│ │ │ │ ├── classes.ts
│ │ │ │ ├── comments.ts
│ │ │ │ ├── conditionalTypes.ts
│ │ │ │ ├── ctordecl.ts
│ │ │ │ ├── declareClass.ts
│ │ │ │ ├── decorators.ts
│ │ │ │ ├── emptydecls.ts
│ │ │ │ ├── enum.ts
│ │ │ │ ├── export.ts
│ │ │ │ ├── export2.ts
│ │ │ │ ├── exportasnamespace.d.ts
│ │ │ │ ├── exportassign.ts
│ │ │ │ ├── exportclass.ts
│ │ │ │ ├── exprs.ts
│ │ │ │ ├── externalmodule.ts
│ │ │ │ ├── functiondecorators.ts
│ │ │ │ ├── hello.ts
│ │ │ │ ├── importExport.ts
│ │ │ │ ├── importNonStrings.ts
│ │ │ │ ├── importassign.ts
│ │ │ │ ├── interfaces.ts
│ │ │ │ ├── invalidModuleSpecifier.ts
│ │ │ │ ├── klee-binary-file.ts
│ │ │ │ ├── let.ts
│ │ │ │ ├── logicalOr.ts
│ │ │ │ ├── mappedTypeModifiers.ts
│ │ │ │ ├── mpeg-stream-fragment.ts
│ │ │ │ ├── namespaces.ts
│ │ │ │ ├── nestedNamespace.ts
│ │ │ │ ├── nobody.ts
│ │ │ │ ├── objectLiteralAccessor.ts
│ │ │ │ ├── omitted.ts
│ │ │ │ ├── optionalChaining.ts
│ │ │ │ ├── privateField.ts
│ │ │ │ ├── regexp.ts
│ │ │ │ ├── restPatternWithDefault.ts
│ │ │ │ ├── templates.ts
│ │ │ │ ├── thisparameter.ts
│ │ │ │ ├── touchstone-file.ts
│ │ │ │ ├── touchstone-file2.ts
│ │ │ │ ├── trust-store-file.ts
│ │ │ │ ├── tryfinally.ts
│ │ │ │ ├── tsx.tsx
│ │ │ │ ├── typeannotations.ts
│ │ │ │ ├── unicode.ts
│ │ │ │ ├── unicodeId.ts
│ │ │ │ ├── uninstantiatedNamespace.ts
│ │ │ │ ├── xmlfile-utf16be.ts
│ │ │ │ ├── xmlfile-utf16le.ts
│ │ │ │ └── xmlfile.ts
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── arrayBindingPattern.ts.trap
│ │ │ │ ├── badimport.ts.trap
│ │ │ │ ├── bindingpattern.ts.trap
│ │ │ │ ├── bom.ts.trap
│ │ │ │ ├── classes.ts.trap
│ │ │ │ ├── comments.ts.trap
│ │ │ │ ├── conditionalTypes.ts.trap
│ │ │ │ ├── ctordecl.ts.trap
│ │ │ │ ├── declareClass.ts.trap
│ │ │ │ ├── decorators.ts.trap
│ │ │ │ ├── emptydecls.ts.trap
│ │ │ │ ├── enum.ts.trap
│ │ │ │ ├── export.ts.trap
│ │ │ │ ├── export2.ts.trap
│ │ │ │ ├── exportasnamespace.d.ts.trap
│ │ │ │ ├── exportassign.ts.trap
│ │ │ │ ├── exportclass.ts.trap
│ │ │ │ ├── exprs.ts.trap
│ │ │ │ ├── externalmodule.ts.trap
│ │ │ │ ├── functiondecorators.ts.trap
│ │ │ │ ├── hello.ts.trap
│ │ │ │ ├── importExport.ts.trap
│ │ │ │ ├── importNonStrings.ts.trap
│ │ │ │ ├── importassign.ts.trap
│ │ │ │ ├── interfaces.ts.trap
│ │ │ │ ├── invalidModuleSpecifier.ts.trap
│ │ │ │ ├── let.ts.trap
│ │ │ │ ├── logicalOr.ts.trap
│ │ │ │ ├── mappedTypeModifiers.ts.trap
│ │ │ │ ├── namespaces.ts.trap
│ │ │ │ ├── nestedNamespace.ts.trap
│ │ │ │ ├── nobody.ts.trap
│ │ │ │ ├── objectLiteralAccessor.ts.trap
│ │ │ │ ├── omitted.ts.trap
│ │ │ │ ├── optionalChaining.ts.trap
│ │ │ │ ├── privateField.ts.trap
│ │ │ │ ├── regexp.ts.trap
│ │ │ │ ├── restPatternWithDefault.ts.trap
│ │ │ │ ├── templates.ts.trap
│ │ │ │ ├── thisparameter.ts.trap
│ │ │ │ ├── tryfinally.ts.trap
│ │ │ │ ├── tsx.tsx.trap
│ │ │ │ ├── typeannotations.ts.trap
│ │ │ │ ├── unicode.ts.trap
│ │ │ │ ├── unicodeId.ts.trap
│ │ │ │ └── uninstantiatedNamespace.ts.trap
│ │ ├── v8
│ │ │ ├── input
│ │ │ │ └── tst.js
│ │ │ ├── options.json
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ └── tst.js.trap
│ │ ├── variables
│ │ │ ├── input
│ │ │ │ ├── const.js
│ │ │ │ ├── finally.js
│ │ │ │ ├── switch.js
│ │ │ │ ├── try.js
│ │ │ │ └── variables.js
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ ├── const.js.trap
│ │ │ │ ├── finally.js.trap
│ │ │ │ ├── switch.js.trap
│ │ │ │ ├── try.js.trap
│ │ │ │ └── variables.js.trap
│ │ ├── vue
│ │ │ ├── input
│ │ │ │ └── test.vue
│ │ │ └── output
│ │ │ │ └── trap
│ │ │ │ └── test.vue.trap
│ │ └── yaml
│ │ │ ├── input
│ │ │ ├── bad_1022_1_1.yml
│ │ │ ├── cyclic.yaml
│ │ │ ├── good_1021_1_1.yml
│ │ │ ├── good_1_1_1021.yml
│ │ │ ├── merge.yaml
│ │ │ ├── orig.yml
│ │ │ ├── tst.yml
│ │ │ └── x_bad_1_1_1022.yml
│ │ │ └── output
│ │ │ └── trap
│ │ │ ├── bad_1022_1_1.yml.trap
│ │ │ ├── cyclic.yaml.trap
│ │ │ ├── good_1021_1_1.yml.trap
│ │ │ ├── good_1_1_1021.yml.trap
│ │ │ ├── merge.yaml.trap
│ │ │ ├── orig.yml.trap
│ │ │ ├── tst.yml.trap
│ │ │ └── x_bad_1_1_1022.yml.trap
│ └── util
│ │ └── dotify-cfg.sh
├── ql
│ ├── examples
│ │ ├── qlpack.yml
│ │ ├── queries.xml
│ │ ├── queries
│ │ │ └── dataflow
│ │ │ │ ├── BackendIdor
│ │ │ │ └── BackendIdor.ql
│ │ │ │ ├── DecodingAfterSanitization
│ │ │ │ ├── DecodingAfterSanitization.ql
│ │ │ │ └── DecodingAfterSanitizationGeneralized.ql
│ │ │ │ ├── EvalTaint
│ │ │ │ ├── EvalTaint.ql
│ │ │ │ └── EvalTaintPath.ql
│ │ │ │ ├── InformationDisclosure
│ │ │ │ └── InformationDisclosure.ql
│ │ │ │ ├── StoredXss
│ │ │ │ ├── StoredXss.ql
│ │ │ │ └── StoredXssTypeTracking.ql
│ │ │ │ └── TemplateInjection
│ │ │ │ └── TemplateInjection.ql
│ │ └── snippets
│ │ │ ├── argumentsparam.ql
│ │ │ ├── call.ql
│ │ │ ├── callback.ql
│ │ │ ├── classdefltctor.ql
│ │ │ ├── classname.ql
│ │ │ ├── constantbrackets.ql
│ │ │ ├── emptyblock.ql
│ │ │ ├── emptythen.ql
│ │ │ ├── equalitystmt.ql
│ │ │ ├── evenness.ql
│ │ │ ├── exportfn.ql
│ │ │ ├── filename.ql
│ │ │ ├── fnnoreturn.ql
│ │ │ ├── generator.ql
│ │ │ ├── iife.ql
│ │ │ ├── importfrom.ql
│ │ │ ├── jsxattribute.ql
│ │ │ ├── methodcall.ql
│ │ │ ├── namedfnexpr.ql
│ │ │ ├── newexpr.ql
│ │ │ ├── propaccess.ql
│ │ │ ├── rendermethod.ql
│ │ │ ├── singlequotestring.ql
│ │ │ ├── singletonblock.ql
│ │ │ ├── taggedtemplates.ql
│ │ │ ├── todocomment.ql
│ │ │ ├── toomanyparams.ql
│ │ │ ├── vardecl.ql
│ │ │ ├── varref.ql
│ │ │ └── yieldundefined.ql
│ ├── src
│ │ ├── .project
│ │ ├── .qlpath
│ │ ├── .vs
│ │ │ └── VSWorkspaceSettings.json
│ │ ├── AlertSuppression.ql
│ │ ├── AngularJS
│ │ │ ├── DeadAngularJSEventListener.qhelp
│ │ │ ├── DeadAngularJSEventListener.ql
│ │ │ ├── DependencyMismatch.qhelp
│ │ │ ├── DependencyMismatch.ql
│ │ │ ├── DisablingSce.qhelp
│ │ │ ├── DisablingSce.ql
│ │ │ ├── DoubleCompilation.qhelp
│ │ │ ├── DoubleCompilation.ql
│ │ │ ├── DuplicateDependency.qhelp
│ │ │ ├── DuplicateDependency.ql
│ │ │ ├── IncompatibleService.qhelp
│ │ │ ├── IncompatibleService.ql
│ │ │ ├── InsecureUrlWhitelist.qhelp
│ │ │ ├── InsecureUrlWhitelist.ql
│ │ │ ├── MissingExplicitInjection.qhelp
│ │ │ ├── MissingExplicitInjection.ql
│ │ │ ├── RepeatedInjection.qhelp
│ │ │ ├── RepeatedInjection.ql
│ │ │ ├── UnusedAngularDependency.qhelp
│ │ │ ├── UnusedAngularDependency.ql
│ │ │ ├── UseNgSrc.qhelp
│ │ │ ├── UseNgSrc.ql
│ │ │ └── examples
│ │ │ │ ├── DeadAngularJSEventListener.js
│ │ │ │ ├── DeadAngularJSEventListener_emit.js
│ │ │ │ ├── DeadAngularJSEventListener_fixed.js
│ │ │ │ ├── DependencyMismatch.js
│ │ │ │ ├── DependencyMismatchGood.js
│ │ │ │ ├── DisablingSce.js
│ │ │ │ ├── DisablingSce_better.js
│ │ │ │ ├── DoubleCompilation.js
│ │ │ │ ├── DoubleCompilationGood.js
│ │ │ │ ├── DuplicateDependency-fixed.js
│ │ │ │ ├── DuplicateDependency.js
│ │ │ │ ├── ImplicitDependency-explicit.js
│ │ │ │ ├── ImplicitDependency-minified.js
│ │ │ │ ├── ImplicitDependency.js
│ │ │ │ ├── IncompatibleService-fixed.js
│ │ │ │ ├── IncompatibleService.js
│ │ │ │ ├── InsecureUrlWhitelist.js
│ │ │ │ ├── RepeatedInjection-fixed.js
│ │ │ │ ├── RepeatedInjection.js
│ │ │ │ ├── UnusedAngularDependency.js
│ │ │ │ ├── UseNgSrc.html
│ │ │ │ └── UseNgSrcGood.html
│ │ ├── Comments
│ │ │ ├── CommentedOut.qll
│ │ │ ├── CommentedOutCode.qhelp
│ │ │ ├── CommentedOutCode.ql
│ │ │ ├── CommentedOutCodeCommon.inc.qhelp
│ │ │ ├── CommentedOutCodeMetricOverview.inc.qhelp
│ │ │ ├── CommentedOutCodeQuery.inc.qhelp
│ │ │ ├── CommentedOutCodeReferences.inc.qhelp
│ │ │ ├── FCommentedOutCode.qhelp
│ │ │ ├── FCommentedOutCode.ql
│ │ │ ├── TodoComments.qhelp
│ │ │ ├── TodoComments.ql
│ │ │ └── examples
│ │ │ │ ├── CommentedOutCode.js
│ │ │ │ └── TodoComments.js
│ │ ├── Customizations.qll
│ │ ├── DOM
│ │ │ ├── Alert.qhelp
│ │ │ ├── Alert.ql
│ │ │ ├── AmbiguousIdAttribute.qhelp
│ │ │ ├── AmbiguousIdAttribute.ql
│ │ │ ├── ConflictingAttributes.qhelp
│ │ │ ├── ConflictingAttributes.ql
│ │ │ ├── DuplicateAttributes.qhelp
│ │ │ ├── DuplicateAttributes.ql
│ │ │ ├── MalformedIdAttribute.qhelp
│ │ │ ├── MalformedIdAttribute.ql
│ │ │ ├── PseudoEval.qhelp
│ │ │ ├── PseudoEval.ql
│ │ │ ├── TargetBlank.qhelp
│ │ │ ├── TargetBlank.ql
│ │ │ └── examples
│ │ │ │ ├── Alert.js
│ │ │ │ ├── AmbiguousIdAttribute.html
│ │ │ │ ├── AmbiguousIdAttributeGood.html
│ │ │ │ ├── ConflictingAttributes.html
│ │ │ │ ├── ConflictingAttributesGood.html
│ │ │ │ ├── DuplicateAttributes.html
│ │ │ │ ├── DuplicateAttributesGood.html
│ │ │ │ ├── MalformedIdAttribute.html
│ │ │ │ ├── MalformedIdAttributeGood.html
│ │ │ │ ├── PseudoEval.js
│ │ │ │ ├── PseudoEvalGood.js
│ │ │ │ ├── TargetBlank.js
│ │ │ │ └── TargetBlankGood.js
│ │ ├── Declarations
│ │ │ ├── ArgumentsRedefined.qhelp
│ │ │ ├── ArgumentsRedefined.ql
│ │ │ ├── AssignmentToConst.qhelp
│ │ │ ├── AssignmentToConst.ql
│ │ │ ├── ClobberingVarInit.qhelp
│ │ │ ├── ClobberingVarInit.ql
│ │ │ ├── ConflictingFunctions.qhelp
│ │ │ ├── ConflictingFunctions.ql
│ │ │ ├── DeadStore.inc.qhelp
│ │ │ ├── DeadStore.qll
│ │ │ ├── DeadStoreOfGlobal.qhelp
│ │ │ ├── DeadStoreOfGlobal.ql
│ │ │ ├── DeadStoreOfLocal.qhelp
│ │ │ ├── DeadStoreOfLocal.ql
│ │ │ ├── DeadStoreOfProperty.qhelp
│ │ │ ├── DeadStoreOfProperty.ql
│ │ │ ├── DeclBeforeUse.qhelp
│ │ │ ├── DeclBeforeUse.ql
│ │ │ ├── Declarations.qll
│ │ │ ├── DefaultArgumentReferencesNestedFunction.qhelp
│ │ │ ├── DefaultArgumentReferencesNestedFunction.ql
│ │ │ ├── Definitions.qll
│ │ │ ├── DuplicateVarDecl.qhelp
│ │ │ ├── DuplicateVarDecl.ql
│ │ │ ├── IneffectiveParameterType.qhelp
│ │ │ ├── IneffectiveParameterType.ql
│ │ │ ├── MissingThisQualifier.qhelp
│ │ │ ├── MissingThisQualifier.ql
│ │ │ ├── MissingVarDecl.qhelp
│ │ │ ├── MissingVarDecl.ql
│ │ │ ├── MixedStaticInstanceThisAccess.qhelp
│ │ │ ├── MixedStaticInstanceThisAccess.ql
│ │ │ ├── RedeclaredVariable.qhelp
│ │ │ ├── RedeclaredVariable.ql
│ │ │ ├── SuspiciousMethodNameDeclaration.qhelp
│ │ │ ├── SuspiciousMethodNameDeclaration.ql
│ │ │ ├── TemporalDeadZone.qhelp
│ │ │ ├── TemporalDeadZone.ql
│ │ │ ├── TooManyParameters.qhelp
│ │ │ ├── TooManyParameters.ql
│ │ │ ├── UniqueParameterNames.qhelp
│ │ │ ├── UniqueParameterNames.ql
│ │ │ ├── UniquePropertyNames.qhelp
│ │ │ ├── UniquePropertyNames.ql
│ │ │ ├── UnreachableMethodOverloads.qhelp
│ │ │ ├── UnreachableMethodOverloads.ql
│ │ │ ├── UnstableCyclicImport.qhelp
│ │ │ ├── UnstableCyclicImport.ql
│ │ │ ├── UnusedParameter.qhelp
│ │ │ ├── UnusedParameter.ql
│ │ │ ├── UnusedParameter.qll
│ │ │ ├── UnusedProperty.qhelp
│ │ │ ├── UnusedProperty.ql
│ │ │ ├── UnusedVariable.qhelp
│ │ │ ├── UnusedVariable.ql
│ │ │ ├── UnusedVariable.qll
│ │ │ └── examples
│ │ │ │ ├── ArgumentsRedefined.js
│ │ │ │ ├── AssignmentToConst.js
│ │ │ │ ├── AssignmentToConstGood.js
│ │ │ │ ├── BuiltinRedefined.js
│ │ │ │ ├── ClobberingVarInit.js
│ │ │ │ ├── ClobberingVarInitGood.js
│ │ │ │ ├── ConflictingFunctions.js
│ │ │ │ ├── ConflictingFunctionsGood.js
│ │ │ │ ├── DeadStoreOfGlobal.js
│ │ │ │ ├── DeadStoreOfGlobalGood.js
│ │ │ │ ├── DeadStoreOfLocal.js
│ │ │ │ ├── DeadStoreOfLocalGood.js
│ │ │ │ ├── DeclBeforeUse.js
│ │ │ │ ├── DefaultArgumentReferencesNestedFunction.js
│ │ │ │ ├── DefaultArgumentReferencesNestedFunctionGood.js
│ │ │ │ ├── DuplicateVarDecl.js
│ │ │ │ ├── IneffectiveParameterType.ts
│ │ │ │ ├── IneffectiveParameterTypeGood.ts
│ │ │ │ ├── InefficientMethodDefinition.js
│ │ │ │ ├── InefficientMethodDefinitionGood.js
│ │ │ │ ├── MissingThisQualifier1.js
│ │ │ │ ├── MissingVarDecl.js
│ │ │ │ ├── RedeclaredVariable.js
│ │ │ │ ├── SuspiciousMethodNameDeclaration.ts
│ │ │ │ ├── SuspiciousMethodNameDeclarationFixed.ts
│ │ │ │ ├── TemporalDeadZone.js
│ │ │ │ ├── TemporalDeadZoneGood.js
│ │ │ │ ├── TooManyParameters.js
│ │ │ │ ├── TooManyParametersGood.js
│ │ │ │ ├── UniqueParameterNames.js
│ │ │ │ ├── UniquePropertyNames.js
│ │ │ │ ├── UnreachableMethodOverloads.ts
│ │ │ │ ├── UnreachableMethodOverloadsGood.ts
│ │ │ │ ├── UnreachableMethodOverloadsTypeParameters.ts
│ │ │ │ ├── UnreachableMethodOverloadsTypeParametersGood.ts
│ │ │ │ ├── UnstableCyclicImport.js
│ │ │ │ ├── UnstableCyclicImportGood.js
│ │ │ │ ├── UnusedParameter.js
│ │ │ │ ├── UnusedProperty.js
│ │ │ │ ├── UnusedVariable.js
│ │ │ │ ├── UnusedVariable2.js
│ │ │ │ ├── UnusedVariable2Good.js
│ │ │ │ ├── UnusedVariable3.js
│ │ │ │ ├── UnusedVariable3Good.js
│ │ │ │ └── staticInstance.js
│ │ ├── Electron
│ │ │ ├── AllowRunningInsecureContent.qhelp
│ │ │ ├── AllowRunningInsecureContent.ql
│ │ │ ├── DisablingWebSecurity.qhelp
│ │ │ ├── DisablingWebSecurity.ql
│ │ │ ├── EnablingNodeIntegration.qhelp
│ │ │ ├── EnablingNodeIntegration.ql
│ │ │ └── examples
│ │ │ │ ├── AllowRunningInsecureContent.js
│ │ │ │ ├── DisablingWebSecurity.js
│ │ │ │ └── EnablingNodeIntegration.js
│ │ ├── Expressions
│ │ │ ├── BitwiseSignCheck.qhelp
│ │ │ ├── BitwiseSignCheck.ql
│ │ │ ├── Clones.qll
│ │ │ ├── CompareIdenticalValues.qhelp
│ │ │ ├── CompareIdenticalValues.ql
│ │ │ ├── ComparisonWithNaN.qhelp
│ │ │ ├── ComparisonWithNaN.ql
│ │ │ ├── DOMProperties.qll
│ │ │ ├── DuplicateCondition.qhelp
│ │ │ ├── DuplicateCondition.ql
│ │ │ ├── DuplicateProperty.qhelp
│ │ │ ├── DuplicateProperty.ql
│ │ │ ├── DuplicateSwitchCase.qhelp
│ │ │ ├── DuplicateSwitchCase.ql
│ │ │ ├── ExprHasNoEffect.qhelp
│ │ │ ├── ExprHasNoEffect.ql
│ │ │ ├── ExprHasNoEffect.qll
│ │ │ ├── HeterogeneousComparison.qhelp
│ │ │ ├── HeterogeneousComparison.ql
│ │ │ ├── ImplicitOperandConversion.qhelp
│ │ │ ├── ImplicitOperandConversion.ql
│ │ │ ├── MissingAwait.qhelp
│ │ │ ├── MissingAwait.ql
│ │ │ ├── MissingDotLengthInComparison.qhelp
│ │ │ ├── MissingDotLengthInComparison.ql
│ │ │ ├── MissingSpaceInAppend.qhelp
│ │ │ ├── MissingSpaceInAppend.ql
│ │ │ ├── MisspelledIdentifier.qhelp
│ │ │ ├── MisspelledIdentifier.ql
│ │ │ ├── MisspelledVariableName.qhelp
│ │ │ ├── MisspelledVariableName.ql
│ │ │ ├── Misspelling.qll
│ │ │ ├── RedundantExpression.qhelp
│ │ │ ├── RedundantExpression.ql
│ │ │ ├── SelfAssignment.qhelp
│ │ │ ├── SelfAssignment.ql
│ │ │ ├── ShiftOutOfRange.qhelp
│ │ │ ├── ShiftOutOfRange.ql
│ │ │ ├── StringInsteadOfRegex.qhelp
│ │ │ ├── StringInsteadOfRegex.ql
│ │ │ ├── SuspiciousInvocation.qhelp
│ │ │ ├── SuspiciousInvocation.ql
│ │ │ ├── SuspiciousPropAccess.qhelp
│ │ │ ├── SuspiciousPropAccess.ql
│ │ │ ├── TypoDatabase.qll
│ │ │ ├── UnboundEventHandlerReceiver.qhelp
│ │ │ ├── UnboundEventHandlerReceiver.ql
│ │ │ ├── UnclearOperatorPrecedence.qhelp
│ │ │ ├── UnclearOperatorPrecedence.ql
│ │ │ ├── UnknownDirective.qhelp
│ │ │ ├── UnknownDirective.ql
│ │ │ ├── UnneededDefensiveProgramming.qhelp
│ │ │ ├── UnneededDefensiveProgramming.ql
│ │ │ ├── WhitespaceContradictsPrecedence.qhelp
│ │ │ ├── WhitespaceContradictsPrecedence.ql
│ │ │ └── examples
│ │ │ │ ├── BadParityCheck.js
│ │ │ │ ├── BadParityCheckGood.js
│ │ │ │ ├── BitwiseSignCheck.js
│ │ │ │ ├── BitwiseSignCheckGood.js
│ │ │ │ ├── CompareIdenticalValues.js
│ │ │ │ ├── CompareIdenticalValuesGood.js
│ │ │ │ ├── DuplicateCondition.js
│ │ │ │ ├── DuplicateConditionGood.js
│ │ │ │ ├── DuplicateProperty.js
│ │ │ │ ├── DuplicatePropertyGood.js
│ │ │ │ ├── DuplicateSwitchCase.js
│ │ │ │ ├── DuplicateSwitchCaseGood.js
│ │ │ │ ├── ExprHasNoEffect-PseudoDecl.js
│ │ │ │ ├── ExprHasNoEffect-PseudoDeclGood.js
│ │ │ │ ├── ExprHasNoEffect.js
│ │ │ │ ├── ExprHasNoEffectGood.js
│ │ │ │ ├── HapaxLegomenon.js
│ │ │ │ ├── HapaxLegomenonGood.js
│ │ │ │ ├── HeterogeneousComparison.js
│ │ │ │ ├── HeterogeneousComparison2.js
│ │ │ │ ├── HeterogeneousComparison2Good.js
│ │ │ │ ├── HeterogeneousComparisonGood.js
│ │ │ │ ├── ImplicitOperandConversion.js
│ │ │ │ ├── ImplicitOperandConversion2.js
│ │ │ │ ├── ImplicitOperandConversion2Good.js
│ │ │ │ ├── ImplicitOperandConversion2Good2.js
│ │ │ │ ├── ImplicitOperandConversionGood.js
│ │ │ │ ├── MissingAwait.js
│ │ │ │ ├── MissingAwaitGood.js
│ │ │ │ ├── MissingDotLengthInComparison.js
│ │ │ │ ├── MissingDotLengthInComparisonGood.js
│ │ │ │ ├── MissingSpaceInAppend.js
│ │ │ │ ├── MisspelledIdentifier.js
│ │ │ │ ├── MisspelledVariableName.js
│ │ │ │ ├── RedundantExpression.js
│ │ │ │ ├── RedundantExpressionGood.js
│ │ │ │ ├── RedundantExpressionGood2.js
│ │ │ │ ├── SelfAssignment.js
│ │ │ │ ├── SelfAssignmentGood.js
│ │ │ │ ├── ShiftOutOfRange.js
│ │ │ │ ├── ShiftOutOfRangeGood.js
│ │ │ │ ├── SuspiciousInvocation.js
│ │ │ │ ├── SuspiciousInvocationGood.js
│ │ │ │ ├── SuspiciousInvocationGood2.js
│ │ │ │ ├── SuspiciousPropAccess.js
│ │ │ │ ├── SuspiciousPropAccessGood.js
│ │ │ │ ├── UnboundEventHandlerReceiver.js
│ │ │ │ ├── UnboundEventHandlerReceiver_fixed.js
│ │ │ │ ├── UnclearOperatorPrecedence.js
│ │ │ │ ├── UnknownDirective.js
│ │ │ │ ├── UnneededDefensiveProgramming1_bad.js
│ │ │ │ ├── UnneededDefensiveProgramming1_good.js
│ │ │ │ ├── UnneededDefensiveProgramming2_bad.js
│ │ │ │ ├── UnneededDefensiveProgramming2_good.js
│ │ │ │ ├── WhitespaceContradictsPrecedence.js
│ │ │ │ └── WhitespaceContradictsPrecedenceGood.js
│ │ ├── IDEContextual.qll
│ │ ├── JSDoc
│ │ │ ├── BadParamTag.qhelp
│ │ │ ├── BadParamTag.ql
│ │ │ ├── JSDocForNonExistentParameter.qhelp
│ │ │ ├── JSDocForNonExistentParameter.ql
│ │ │ ├── UndocumentedParameter.qhelp
│ │ │ ├── UndocumentedParameter.ql
│ │ │ └── examples
│ │ │ │ ├── BadParamTag.js
│ │ │ │ ├── JSDocForNonExistentParameter.js
│ │ │ │ ├── UndocumentedParameter.js
│ │ │ │ └── UnknownTagType.js
│ │ ├── JSLint
│ │ │ └── examples
│ │ │ │ ├── MalformedJSLintDirective.js
│ │ │ │ └── MalformedJSLintDirectiveGood.js
│ │ ├── LanguageFeatures
│ │ │ ├── ArgumentsCallerCallee.qhelp
│ │ │ ├── ArgumentsCallerCallee.ql
│ │ │ ├── BadTypeof.qhelp
│ │ │ ├── BadTypeof.ql
│ │ │ ├── ConditionalComments.qhelp
│ │ │ ├── ConditionalComments.ql
│ │ │ ├── DebuggerStatement.qhelp
│ │ │ ├── DebuggerStatement.ql
│ │ │ ├── DeleteVar.qhelp
│ │ │ ├── DeleteVar.ql
│ │ │ ├── EmptyArrayInit.qhelp
│ │ │ ├── EmptyArrayInit.ql
│ │ │ ├── Eval.qhelp
│ │ │ ├── Eval.ql
│ │ │ ├── ExpressionClosures.qhelp
│ │ │ ├── ExpressionClosures.ql
│ │ │ ├── ForInComprehensionBlocks.qhelp
│ │ │ ├── ForInComprehensionBlocks.ql
│ │ │ ├── IllegalInvocation.qhelp
│ │ │ ├── IllegalInvocation.ql
│ │ │ ├── InconsistentNew.qhelp
│ │ │ ├── InconsistentNew.ql
│ │ │ ├── InvalidPrototype.qhelp
│ │ │ ├── InvalidPrototype.ql
│ │ │ ├── JumpFromFinally.qhelp
│ │ │ ├── JumpFromFinally.ql
│ │ │ ├── LengthComparisonOffByOne.qhelp
│ │ │ ├── LengthComparisonOffByOne.ql
│ │ │ ├── NonLinearPattern.qhelp
│ │ │ ├── NonLinearPattern.ql
│ │ │ ├── PropertyWriteOnPrimitive.qhelp
│ │ │ ├── PropertyWriteOnPrimitive.ql
│ │ │ ├── SemicolonInsertion.qhelp
│ │ │ ├── SemicolonInsertion.ql
│ │ │ ├── SetterIgnoresParameter.qhelp
│ │ │ ├── SetterIgnoresParameter.ql
│ │ │ ├── SetterReturn.qhelp
│ │ │ ├── SetterReturn.ql
│ │ │ ├── SpuriousArguments.qhelp
│ │ │ ├── SpuriousArguments.ql
│ │ │ ├── StrictModeCallStackIntrospection.qhelp
│ │ │ ├── StrictModeCallStackIntrospection.ql
│ │ │ ├── SyntaxError.qhelp
│ │ │ ├── SyntaxError.ql
│ │ │ ├── TemplateSyntaxInStringLiteral.qhelp
│ │ │ ├── TemplateSyntaxInStringLiteral.ql
│ │ │ ├── ThisBeforeSuper.qhelp
│ │ │ ├── ThisBeforeSuper.ql
│ │ │ ├── UnusedIndexVariable.qhelp
│ │ │ ├── UnusedIndexVariable.ql
│ │ │ ├── UnusedIndexVariable.qll
│ │ │ ├── WithStatement.qhelp
│ │ │ ├── WithStatement.ql
│ │ │ ├── WrongExtensionJSON.qhelp
│ │ │ ├── WrongExtensionJSON.ql
│ │ │ ├── YieldInNonGenerator.qhelp
│ │ │ ├── YieldInNonGenerator.ql
│ │ │ └── examples
│ │ │ │ ├── ArgumentsCallerCallee.js
│ │ │ │ ├── ArgumentsCallerCalleeGood.js
│ │ │ │ ├── BadTypeof.js
│ │ │ │ ├── BadTypeofGood.js
│ │ │ │ ├── ConditionalComments.js
│ │ │ │ ├── DebuggerStatement.js
│ │ │ │ ├── DeleteVar.js
│ │ │ │ ├── DeleteVarGood.js
│ │ │ │ ├── EmptyArrayInit.js
│ │ │ │ ├── EmptyArrayInitGood.js
│ │ │ │ ├── Eval.js
│ │ │ │ ├── Eval2.js
│ │ │ │ ├── EvalGood.js
│ │ │ │ ├── ExpressionClosures.js
│ │ │ │ ├── ExpressionClosuresGood.js
│ │ │ │ ├── ExpressionClosuresGood2.js
│ │ │ │ ├── ForInComprehensionBlocks.js
│ │ │ │ ├── ForInComprehensionBlocksGood.js
│ │ │ │ ├── HTMLComments.js
│ │ │ │ ├── HTMLCommentsGood.js
│ │ │ │ ├── InconsistentNew.js
│ │ │ │ ├── InconsistentNewGood.js
│ │ │ │ ├── InconsistentNewGood2.js
│ │ │ │ ├── JumpFromFinally.js
│ │ │ │ ├── JumpFromFinallyGood.js
│ │ │ │ ├── LengthComparisonOffByOne.js
│ │ │ │ ├── LengthComparisonOffByOneGood.js
│ │ │ │ ├── LetStatement.js
│ │ │ │ ├── LetStatementGood.js
│ │ │ │ ├── MultilineStringLiteral.js
│ │ │ │ ├── MultilineStringLiteralGood.js
│ │ │ │ ├── NonLinearPattern.js
│ │ │ │ ├── NonLinearPatternGood.js
│ │ │ │ ├── NonLinearPatternTS.ts
│ │ │ │ ├── NonLinearPatternTSGood.ts
│ │ │ │ ├── OctalLiteral.js
│ │ │ │ ├── PostfixComprehension.js
│ │ │ │ ├── PostfixComprehensionGood.js
│ │ │ │ ├── ReservedWords.js
│ │ │ │ ├── SemicolonInsertion.js
│ │ │ │ ├── SemicolonInsertionGood.js
│ │ │ │ ├── SetterIgnoresParameter.js
│ │ │ │ ├── SetterIgnoresParameterGood.js
│ │ │ │ ├── SetterReturn.js
│ │ │ │ ├── SetterReturnGood.js
│ │ │ │ ├── SpuriousArguments.js
│ │ │ │ ├── SyntaxError.js
│ │ │ │ ├── TemplateSyntaxInStringLiteral.js
│ │ │ │ ├── TemplateSyntaxInStringLiteralGood.js
│ │ │ │ ├── TrailingComma.js
│ │ │ │ ├── UnusedIndexVariable.js
│ │ │ │ ├── UnusedIndexVariableGood.js
│ │ │ │ ├── UnusedIndexVariableGood2.js
│ │ │ │ ├── WithStatement.js
│ │ │ │ ├── WithStatementGood.js
│ │ │ │ ├── YieldInNonGenerator.js
│ │ │ │ └── YieldInNonGeneratorGood.js
│ │ ├── Metrics
│ │ │ ├── Dependencies
│ │ │ │ ├── ExternalDependencies.ql
│ │ │ │ ├── ExternalDependencies.qll
│ │ │ │ └── ExternalDependenciesSourceLinks.ql
│ │ │ ├── DuplicationProblems.inc.qhelp
│ │ │ ├── ES20xxFeatures.qll
│ │ │ ├── FCommentRatio.qhelp
│ │ │ ├── FCommentRatio.ql
│ │ │ ├── FCommentRatioCommon.inc.qhelp
│ │ │ ├── FCyclomaticComplexity.js
│ │ │ ├── FCyclomaticComplexity.qhelp
│ │ │ ├── FCyclomaticComplexity.ql
│ │ │ ├── FCyclomaticComplexity_ControlFlow.gv
│ │ │ ├── FCyclomaticComplexity_ControlFlow.png
│ │ │ ├── FFunctions.qhelp
│ │ │ ├── FFunctions.ql
│ │ │ ├── FLines.ql
│ │ │ ├── FLinesOfCode.qhelp
│ │ │ ├── FLinesOfCode.ql
│ │ │ ├── FLinesOfCodeOverview.inc.qhelp
│ │ │ ├── FLinesOfCodeReferences.inc.qhelp
│ │ │ ├── FLinesOfComment.qhelp
│ │ │ ├── FLinesOfComment.ql
│ │ │ ├── FLinesOfDuplicatedCode.qhelp
│ │ │ ├── FLinesOfDuplicatedCode.ql
│ │ │ ├── FLinesOfDuplicatedCodeCommon.inc.qhelp
│ │ │ ├── FLinesOfSimilarCode.qhelp
│ │ │ ├── FLinesOfSimilarCode.ql
│ │ │ ├── FLinesOfSimilarCodeCommon.inc.qhelp
│ │ │ ├── FNumberOfStatements.qhelp
│ │ │ ├── FNumberOfStatements.ql
│ │ │ ├── FNumberOfTests.qhelp
│ │ │ ├── FNumberOfTests.ql
│ │ │ ├── FUseOfES6.qhelp
│ │ │ ├── FUseOfES6.ql
│ │ │ ├── FunCyclomaticComplexity.qhelp
│ │ │ ├── FunCyclomaticComplexity.ql
│ │ │ ├── FunLinesOfCode.qhelp
│ │ │ └── FunLinesOfCode.ql
│ │ ├── NodeJS
│ │ │ ├── CyclicImport.qhelp
│ │ │ ├── CyclicImport.ql
│ │ │ ├── DubiousImport.qhelp
│ │ │ ├── DubiousImport.ql
│ │ │ ├── InvalidExport.qhelp
│ │ │ ├── InvalidExport.ql
│ │ │ ├── MissingExports.qhelp
│ │ │ ├── MissingExports.ql
│ │ │ ├── UnresolvableImport.qhelp
│ │ │ ├── UnresolvableImport.ql
│ │ │ ├── UnusedDependency.qhelp
│ │ │ ├── UnusedDependency.ql
│ │ │ └── examples
│ │ │ │ ├── CyclicImport.js
│ │ │ │ ├── CyclicImportGood.js
│ │ │ │ ├── DubiousImport.js
│ │ │ │ ├── DubiousImportGood.js
│ │ │ │ ├── InvalidExport.js
│ │ │ │ ├── InvalidExportGood.js
│ │ │ │ ├── MissingExports.js
│ │ │ │ ├── MissingExportsGood.js
│ │ │ │ ├── UnresolvableImport.js
│ │ │ │ ├── UnresolvableImportGood.js
│ │ │ │ └── UnusedDependency.js
│ │ ├── Performance
│ │ │ ├── NonLocalForIn.qhelp
│ │ │ ├── NonLocalForIn.ql
│ │ │ ├── PolynomialReDoS.qhelp
│ │ │ ├── PolynomialReDoS.ql
│ │ │ ├── ReDoS.qhelp
│ │ │ ├── ReDoS.ql
│ │ │ ├── ReDoSIntroduction.inc.qhelp
│ │ │ ├── ReDoSReferences.inc.qhelp
│ │ │ ├── ReassignParameterAndUseArguments.qhelp
│ │ │ ├── ReassignParameterAndUseArguments.ql
│ │ │ └── examples
│ │ │ │ ├── NonLocalForIn.js
│ │ │ │ ├── NonLocalForIn2.js
│ │ │ │ ├── NonLocalForIn2Good.js
│ │ │ │ ├── NonLocalForInGood.js
│ │ │ │ ├── ReassignParameterAndUseArguments.js
│ │ │ │ ├── ReassignParameterAndUseArgumentsGood1.js
│ │ │ │ └── ReassignParameterAndUseArgumentsGood2.js
│ │ ├── React
│ │ │ ├── DirectStateMutation.qhelp
│ │ │ ├── DirectStateMutation.ql
│ │ │ ├── InconsistentStateUpdate.qhelp
│ │ │ ├── InconsistentStateUpdate.ql
│ │ │ ├── UnsupportedStateUpdateInLifecycleMethod.qhelp
│ │ │ ├── UnsupportedStateUpdateInLifecycleMethod.ql
│ │ │ ├── UnusedOrUndefinedStateProperty.qhelp
│ │ │ ├── UnusedOrUndefinedStateProperty.ql
│ │ │ └── examples
│ │ │ │ ├── UnusedOrUndefinedStateProperty.js
│ │ │ │ ├── UnusedOrUndefinedStateProperty_fixed.js
│ │ │ │ ├── unsupported-state-update-in-lifecycle-method.js
│ │ │ │ └── unsupported-state-update-in-lifecycle-method_fixed.js
│ │ ├── RegExp
│ │ │ ├── BackrefBeforeGroup.qhelp
│ │ │ ├── BackrefBeforeGroup.ql
│ │ │ ├── BackrefIntoNegativeLookahead.qhelp
│ │ │ ├── BackrefIntoNegativeLookahead.ql
│ │ │ ├── BackspaceEscape.qhelp
│ │ │ ├── BackspaceEscape.ql
│ │ │ ├── DuplicateCharacterInCharacterClass.qhelp
│ │ │ ├── DuplicateCharacterInCharacterClass.ql
│ │ │ ├── EmptyCharacterClass.qhelp
│ │ │ ├── EmptyCharacterClass.ql
│ │ │ ├── IdentityReplacement.qhelp
│ │ │ ├── IdentityReplacement.ql
│ │ │ ├── MalformedRegExp.qhelp
│ │ │ ├── MalformedRegExp.ql
│ │ │ ├── RegExpAlwaysMatches.qhelp
│ │ │ ├── RegExpAlwaysMatches.ql
│ │ │ ├── UnboundBackref.qhelp
│ │ │ ├── UnboundBackref.ql
│ │ │ ├── UnmatchableCaret.qhelp
│ │ │ ├── UnmatchableCaret.ql
│ │ │ ├── UnmatchableDollar.qhelp
│ │ │ ├── UnmatchableDollar.ql
│ │ │ └── examples
│ │ │ │ ├── BackrefBeforeGroup.js
│ │ │ │ ├── BackrefIntoNegativeLookahead.js
│ │ │ │ ├── BackspaceEscape.js
│ │ │ │ ├── DuplicateCharacterInCharacterClass.js
│ │ │ │ ├── EmptyCharacterClass.js
│ │ │ │ ├── IdentityReplacement.js
│ │ │ │ ├── IdentityReplacementGood.js
│ │ │ │ ├── MalformedRegExp.js
│ │ │ │ ├── RegExpAlwaysMatches.js
│ │ │ │ ├── RegExpAlwaysMatchesGood.js
│ │ │ │ ├── UnboundBackref.js
│ │ │ │ ├── UnmatchableCaret.js
│ │ │ │ └── UnmatchableDollar.js
│ │ ├── Security
│ │ │ ├── CWE-020
│ │ │ │ ├── ExternalAPISinkExample.js
│ │ │ │ ├── ExternalAPITaintStepExample.js
│ │ │ │ ├── ExternalAPIsUsedWithUntrustedData.qhelp
│ │ │ │ ├── ExternalAPIsUsedWithUntrustedData.ql
│ │ │ │ ├── HostnameRegexpShared.qll
│ │ │ │ ├── IncompleteHostnameRegExp.qhelp
│ │ │ │ ├── IncompleteHostnameRegExp.ql
│ │ │ │ ├── IncompleteUrlSchemeCheck.qhelp
│ │ │ │ ├── IncompleteUrlSchemeCheck.ql
│ │ │ │ ├── IncompleteUrlSubstringSanitization.qhelp
│ │ │ │ ├── IncompleteUrlSubstringSanitization.ql
│ │ │ │ ├── IncorrectSuffixCheck.qhelp
│ │ │ │ ├── IncorrectSuffixCheck.ql
│ │ │ │ ├── MissingRegExpAnchor.qhelp
│ │ │ │ ├── MissingRegExpAnchor.ql
│ │ │ │ ├── UntrustedDataToExternalAPI.qhelp
│ │ │ │ ├── UntrustedDataToExternalAPI.ql
│ │ │ │ ├── UselessRegExpCharacterEscape.qhelp
│ │ │ │ ├── UselessRegExpCharacterEscape.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── IncompleteHostnameRegExp.js
│ │ │ │ │ ├── IncompleteUrlSchemeCheck.js
│ │ │ │ │ ├── IncompleteUrlSchemeCheckGood.js
│ │ │ │ │ ├── IncompleteUrlSubstringSanitization_BAD1.js
│ │ │ │ │ ├── IncompleteUrlSubstringSanitization_BAD2.js
│ │ │ │ │ ├── IncompleteUrlSubstringSanitization_GOOD.js
│ │ │ │ │ ├── IncorrectSuffixCheck.js
│ │ │ │ │ ├── IncorrectSuffixCheckGood.js
│ │ │ │ │ ├── MissingRegExpAnchor_BAD.js
│ │ │ │ │ ├── MissingRegExpAnchor_GOOD.js
│ │ │ │ │ └── UselessRegExpCharacterEscape_bad_1.js
│ │ │ ├── CWE-022
│ │ │ │ ├── TaintedPath.qhelp
│ │ │ │ ├── TaintedPath.ql
│ │ │ │ ├── ZipSlip.qhelp
│ │ │ │ ├── ZipSlip.ql
│ │ │ │ ├── ZipSlipBad.js
│ │ │ │ ├── ZipSlipGood.js
│ │ │ │ └── examples
│ │ │ │ │ └── TaintedPath.js
│ │ │ ├── CWE-073
│ │ │ │ ├── TemplateObjectInjection.qhelp
│ │ │ │ ├── TemplateObjectInjection.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── TemplateObjectInjection.js
│ │ │ │ │ └── TemplateObjectInjection_fixed.js
│ │ │ ├── CWE-078
│ │ │ │ ├── CommandInjection.qhelp
│ │ │ │ ├── CommandInjection.ql
│ │ │ │ ├── IndirectCommandInjection.qhelp
│ │ │ │ ├── IndirectCommandInjection.ql
│ │ │ │ ├── ShellCommandInjectionFromEnvironment.qhelp
│ │ │ │ ├── ShellCommandInjectionFromEnvironment.ql
│ │ │ │ ├── UnsafeShellCommandConstruction.qhelp
│ │ │ │ ├── UnsafeShellCommandConstruction.ql
│ │ │ │ ├── UselessUseOfCat.qhelp
│ │ │ │ ├── UselessUseOfCat.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── command-injection.js
│ │ │ │ │ ├── indirect-command-injection.js
│ │ │ │ │ ├── indirect-command-injection_fixed.js
│ │ │ │ │ ├── shell-command-injection-from-environment.js
│ │ │ │ │ ├── shell-command-injection-from-environment_fixed.js
│ │ │ │ │ ├── unsafe-shell-command-construction.js
│ │ │ │ │ ├── unsafe-shell-command-construction_fixed.js
│ │ │ │ │ ├── useless-cat-fixed.js
│ │ │ │ │ └── useless-cat.js
│ │ │ ├── CWE-079
│ │ │ │ ├── ExceptionXss.qhelp
│ │ │ │ ├── ExceptionXss.ql
│ │ │ │ ├── ReflectedXss.qhelp
│ │ │ │ ├── ReflectedXss.ql
│ │ │ │ ├── StoredXss.qhelp
│ │ │ │ ├── StoredXss.ql
│ │ │ │ ├── UnsafeJQueryPlugin.qhelp
│ │ │ │ ├── UnsafeJQueryPlugin.ql
│ │ │ │ ├── Xss.qhelp
│ │ │ │ ├── Xss.ql
│ │ │ │ ├── XssThroughDom.qhelp
│ │ │ │ ├── XssThroughDom.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── ExceptionXss.js
│ │ │ │ │ ├── ExceptionXssAjv.js
│ │ │ │ │ ├── ReflectedXss.js
│ │ │ │ │ ├── ReflectedXssGood.js
│ │ │ │ │ ├── StoredXss.js
│ │ │ │ │ ├── StoredXssGood.js
│ │ │ │ │ ├── UnsafeJQueryPlugin.js
│ │ │ │ │ ├── UnsafeJQueryPlugin_safe.js
│ │ │ │ │ ├── Xss.js
│ │ │ │ │ ├── XssThroughDom.js
│ │ │ │ │ └── XssThroughDomFixed.js
│ │ │ ├── CWE-089
│ │ │ │ ├── SqlInjection.qhelp
│ │ │ │ ├── SqlInjection.ql
│ │ │ │ └── examples
│ │ │ │ │ └── SqlInjection.js
│ │ │ ├── CWE-094
│ │ │ │ ├── CodeInjection.qhelp
│ │ │ │ ├── CodeInjection.ql
│ │ │ │ ├── ImproperCodeSanitization.qhelp
│ │ │ │ ├── ImproperCodeSanitization.ql
│ │ │ │ ├── UnsafeDynamicMethodAccess.qhelp
│ │ │ │ ├── UnsafeDynamicMethodAccess.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── CodeInjection.js
│ │ │ │ │ ├── ImproperCodeSanitization.js
│ │ │ │ │ ├── ImproperCodeSanitizationFixed.js
│ │ │ │ │ ├── ServerSideTemplateInjection.js
│ │ │ │ │ ├── ServerSideTemplateInjectionSafe.js
│ │ │ │ │ ├── UnsafeDynamicMethodAccess.js
│ │ │ │ │ └── UnsafeDynamicMethodAccessGood.js
│ │ │ ├── CWE-116
│ │ │ │ ├── DoubleEscaping.qhelp
│ │ │ │ ├── DoubleEscaping.ql
│ │ │ │ ├── IncompleteHtmlAttributeSanitization.qhelp
│ │ │ │ ├── IncompleteHtmlAttributeSanitization.ql
│ │ │ │ ├── IncompleteMultiCharacterSanitization.qhelp
│ │ │ │ ├── IncompleteMultiCharacterSanitization.ql
│ │ │ │ ├── IncompleteSanitization.qhelp
│ │ │ │ ├── IncompleteSanitization.ql
│ │ │ │ ├── UnsafeHtmlExpansion.qhelp
│ │ │ │ ├── UnsafeHtmlExpansion.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── DoubleEscaping.js
│ │ │ │ │ ├── DoubleEscapingGood.js
│ │ │ │ │ ├── IncompleteHtmlAttributeSanitization.js
│ │ │ │ │ ├── IncompleteHtmlAttributeSanitizationGood.js
│ │ │ │ │ ├── IncompleteSanitization.js
│ │ │ │ │ ├── IncompleteSanitizationGood.js
│ │ │ │ │ ├── UnsafeHtmlExpansion-original.html
│ │ │ │ │ ├── UnsafeHtmlExpansion-transformed.html
│ │ │ │ │ └── UnsafeHtmlExpansion.js
│ │ │ ├── CWE-117
│ │ │ │ ├── LogInjection.qhelp
│ │ │ │ ├── LogInjection.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── logInjectionBad.js
│ │ │ │ │ └── logInjectionGood.js
│ │ │ ├── CWE-134
│ │ │ │ ├── TaintedFormatString.qhelp
│ │ │ │ ├── TaintedFormatString.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── TaintedFormatStringBad.js
│ │ │ │ │ └── TaintedFormatStringGood.js
│ │ │ ├── CWE-200
│ │ │ │ ├── FileAccessToHttp.qhelp
│ │ │ │ ├── FileAccessToHttp.ql
│ │ │ │ ├── PrivateFileExposure.qhelp
│ │ │ │ ├── PrivateFileExposure.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── FileAccessToHttp.js
│ │ │ │ │ ├── PrivateFileExposure.js
│ │ │ │ │ └── PrivateFileExposureFixed.js
│ │ │ ├── CWE-201
│ │ │ │ ├── PostMessageStar.qhelp
│ │ │ │ ├── PostMessageStar.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── PostMessageStar.js
│ │ │ │ │ └── PostMessageStarGood.js
│ │ │ ├── CWE-209
│ │ │ │ ├── StackTraceExposure.qhelp
│ │ │ │ ├── StackTraceExposure.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── StackTraceExposureBad.js
│ │ │ │ │ └── StackTraceExposureGood.js
│ │ │ ├── CWE-295
│ │ │ │ ├── DisablingCertificateValidation.qhelp
│ │ │ │ ├── DisablingCertificateValidation.ql
│ │ │ │ └── examples
│ │ │ │ │ └── DisablingCertificateValidation.js
│ │ │ ├── CWE-312
│ │ │ │ ├── BuildArtifactLeak.qhelp
│ │ │ │ ├── BuildArtifactLeak.ql
│ │ │ │ ├── CleartextLogging.qhelp
│ │ │ │ ├── CleartextLogging.ql
│ │ │ │ ├── CleartextStorage.qhelp
│ │ │ │ ├── CleartextStorage.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── CleartextStorage.js
│ │ │ │ │ ├── CleartextStorageGood.js
│ │ │ │ │ ├── build-leak-fixed.js
│ │ │ │ │ └── build-leak.js
│ │ │ ├── CWE-313
│ │ │ │ ├── PasswordInConfigurationFile.qhelp
│ │ │ │ └── PasswordInConfigurationFile.ql
│ │ │ ├── CWE-327
│ │ │ │ ├── BadRandomness.qhelp
│ │ │ │ ├── BadRandomness.ql
│ │ │ │ ├── BrokenCryptoAlgorithm.qhelp
│ │ │ │ ├── BrokenCryptoAlgorithm.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── BrokenCryptoAlgorithm.js
│ │ │ │ │ ├── bad-random-fixed.js
│ │ │ │ │ ├── bad-random-fixed2.js
│ │ │ │ │ └── bad-random.js
│ │ │ ├── CWE-338
│ │ │ │ ├── InsecureRandomness.qhelp
│ │ │ │ ├── InsecureRandomness.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── InsecureRandomness.js
│ │ │ │ │ └── InsecureRandomness_fixed.js
│ │ │ ├── CWE-346
│ │ │ │ ├── CorsMisconfigurationForCredentials.qhelp
│ │ │ │ ├── CorsMisconfigurationForCredentials.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── CorsMisconfigurationForCredentials.js
│ │ │ │ │ └── CorsMisconfigurationForCredentials_fixed.js
│ │ │ ├── CWE-352
│ │ │ │ ├── MissingCsrfMiddleware.qhelp
│ │ │ │ ├── MissingCsrfMiddleware.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── MissingCsrfMiddlewareBad.js
│ │ │ │ │ └── MissingCsrfMiddlewareGood.js
│ │ │ ├── CWE-400
│ │ │ │ ├── DeepObjectResourceExhaustion.qhelp
│ │ │ │ ├── DeepObjectResourceExhaustion.ql
│ │ │ │ ├── RemotePropertyInjection.expected
│ │ │ │ ├── RemotePropertyInjection.qhelp
│ │ │ │ ├── RemotePropertyInjection.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── DeepObjectResourceExhaustion.js
│ │ │ │ │ ├── DeepObjectResourceExhaustion_fixed.js
│ │ │ │ │ ├── RemotePropertyInjection.js
│ │ │ │ │ └── RemotePropertyInjection_fixed.js
│ │ │ ├── CWE-451
│ │ │ │ ├── MissingXFrameOptions.qhelp
│ │ │ │ ├── MissingXFrameOptions.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── X-Frame-Options.js
│ │ │ │ │ └── missing-X-Frame-Options.js
│ │ │ ├── CWE-502
│ │ │ │ ├── UnsafeDeserialization.qhelp
│ │ │ │ ├── UnsafeDeserialization.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── UnsafeDeserializationBad.js
│ │ │ │ │ └── UnsafeDeserializationGood.js
│ │ │ ├── CWE-506
│ │ │ │ ├── HardcodedDataInterpretedAsCode.qhelp
│ │ │ │ ├── HardcodedDataInterpretedAsCode.ql
│ │ │ │ └── examples
│ │ │ │ │ └── HardcodedDataInterpretedAsCode.js
│ │ │ ├── CWE-601
│ │ │ │ ├── ClientSideUrlRedirect.qhelp
│ │ │ │ ├── ClientSideUrlRedirect.ql
│ │ │ │ ├── ServerSideUrlRedirect.qhelp
│ │ │ │ ├── ServerSideUrlRedirect.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── ClientSideUrlRedirect.js
│ │ │ │ │ ├── ServerSideUrlRedirect.js
│ │ │ │ │ └── ServerSideUrlRedirectGood.js
│ │ │ ├── CWE-611
│ │ │ │ ├── Xxe.qhelp
│ │ │ │ ├── Xxe.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── Xxe.js
│ │ │ │ │ └── XxeGood.js
│ │ │ ├── CWE-640
│ │ │ │ ├── HostHeaderPoisoningInEmailGeneration.qhelp
│ │ │ │ ├── HostHeaderPoisoningInEmailGeneration.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── HostHeaderPoisoningInEmailGeneration.js
│ │ │ │ │ └── HostHeaderPoisoningInEmailGenerationGood.js
│ │ │ ├── CWE-643
│ │ │ │ ├── XpathInjection.qhelp
│ │ │ │ ├── XpathInjection.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── XpathInjectionBad.js
│ │ │ │ │ └── XpathInjectionGood.js
│ │ │ ├── CWE-730
│ │ │ │ ├── RegExpInjection.qhelp
│ │ │ │ ├── RegExpInjection.ql
│ │ │ │ ├── ServerCrash.qhelp
│ │ │ │ ├── ServerCrash.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── RegExpInjection.js
│ │ │ │ │ ├── RegExpInjectionGood.js
│ │ │ │ │ ├── server-crash.BAD.js
│ │ │ │ │ ├── server-crash.GOOD-A.js
│ │ │ │ │ └── server-crash.GOOD-B.js
│ │ │ ├── CWE-754
│ │ │ │ ├── UnvalidatedDynamicMethodCall.qhelp
│ │ │ │ ├── UnvalidatedDynamicMethodCall.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── UnvalidatedDynamicMethodCall.js
│ │ │ │ │ ├── UnvalidatedDynamicMethodCallGood.js
│ │ │ │ │ └── UnvalidatedDynamicMethodCallGood2.js
│ │ │ ├── CWE-770
│ │ │ │ ├── MissingRateLimiting.qhelp
│ │ │ │ ├── MissingRateLimiting.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── MissingRateLimiting.js
│ │ │ │ │ └── MissingRateLimitingGood.js
│ │ │ ├── CWE-776
│ │ │ │ ├── XmlBomb.qhelp
│ │ │ │ ├── XmlBomb.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── XmlBomb.js
│ │ │ │ │ └── XmlBombGood.js
│ │ │ ├── CWE-798
│ │ │ │ ├── HardcodedCredentials.qhelp
│ │ │ │ ├── HardcodedCredentials.ql
│ │ │ │ └── examples
│ │ │ │ │ └── HardcodedCredentials.js
│ │ │ ├── CWE-807
│ │ │ │ ├── ConditionalBypass.qhelp
│ │ │ │ ├── ConditionalBypass.ql
│ │ │ │ ├── DifferentKindsComparisonBypass.qhelp
│ │ │ │ ├── DifferentKindsComparisonBypass.ql
│ │ │ │ ├── example.inc.qhelp
│ │ │ │ ├── examples
│ │ │ │ │ ├── bypass.js
│ │ │ │ │ └── bypass_fixed.js
│ │ │ │ └── recommendation.inc.qhelp
│ │ │ ├── CWE-829
│ │ │ │ ├── InsecureDownload.qhelp
│ │ │ │ ├── InsecureDownload.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── insecure-download.js
│ │ │ │ │ └── secure-download.js
│ │ │ ├── CWE-834
│ │ │ │ ├── LoopBoundInjection.qhelp
│ │ │ │ ├── LoopBoundInjection.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── LoopBoundInjection.js
│ │ │ │ │ └── LoopBoundInjection_fixed.js
│ │ │ ├── CWE-843
│ │ │ │ ├── TypeConfusionThroughParameterTampering.qhelp
│ │ │ │ ├── TypeConfusionThroughParameterTampering.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── TypeConfusionThroughParameterTampering.js
│ │ │ │ │ └── TypeConfusionThroughParameterTampering_fixed.js
│ │ │ ├── CWE-912
│ │ │ │ ├── HttpToFileAccess.qhelp
│ │ │ │ ├── HttpToFileAccess.ql
│ │ │ │ └── examples
│ │ │ │ │ └── HttpToFileAccess.js
│ │ │ ├── CWE-915
│ │ │ │ ├── PrototypePollutingAssignment.qhelp
│ │ │ │ ├── PrototypePollutingAssignment.ql
│ │ │ │ ├── PrototypePollutingFunction.qhelp
│ │ │ │ ├── PrototypePollutingFunction.ql
│ │ │ │ ├── PrototypePollutingMergeCall.qhelp
│ │ │ │ ├── PrototypePollutingMergeCall.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── PrototypePollutingAssignment.js
│ │ │ │ │ ├── PrototypePollutingAssignmentFixed.js
│ │ │ │ │ ├── PrototypePollutingFunction.js
│ │ │ │ │ ├── PrototypePollutingFunction_fixed.js
│ │ │ │ │ ├── PrototypePollutingFunction_fixed2.js
│ │ │ │ │ ├── PrototypePollutingMergeCall1.js
│ │ │ │ │ ├── PrototypePollutingMergeCall2.js
│ │ │ │ │ └── PrototypePollutingMergeCall_fixed.json
│ │ │ ├── CWE-916
│ │ │ │ ├── InsufficientPasswordHash.qhelp
│ │ │ │ ├── InsufficientPasswordHash.ql
│ │ │ │ └── examples
│ │ │ │ │ ├── InsufficientPasswordHash.js
│ │ │ │ │ └── InsufficientPasswordHash_fixed.js
│ │ │ └── CWE-918
│ │ │ │ ├── RequestForgery.qhelp
│ │ │ │ ├── RequestForgery.ql
│ │ │ │ └── examples
│ │ │ │ ├── RequestForgeryBad.js
│ │ │ │ └── RequestForgeryGood.js
│ │ ├── StandardLibrary
│ │ │ └── examples
│ │ │ │ ├── CallbackUsesThis.js
│ │ │ │ ├── CallbackUsesThisGood.js
│ │ │ │ ├── CallbackUsesThisGood2.js
│ │ │ │ ├── ParseIntRadix.js
│ │ │ │ └── ParseIntRadixGood.js
│ │ ├── Statements
│ │ │ ├── DanglingElse.qhelp
│ │ │ ├── DanglingElse.ql
│ │ │ ├── EphemeralLoop.qhelp
│ │ │ ├── EphemeralLoop.ql
│ │ │ ├── IgnoreArrayResult.qhelp
│ │ │ ├── IgnoreArrayResult.ql
│ │ │ ├── ImplicitReturn.qhelp
│ │ │ ├── ImplicitReturn.ql
│ │ │ ├── InconsistentLoopOrientation.qhelp
│ │ │ ├── InconsistentLoopOrientation.ql
│ │ │ ├── InconsistentReturn.qhelp
│ │ │ ├── InconsistentReturn.ql
│ │ │ ├── LabelInCase.qhelp
│ │ │ ├── LabelInCase.ql
│ │ │ ├── LoopIterationSkippedDueToShifting.qhelp
│ │ │ ├── LoopIterationSkippedDueToShifting.ql
│ │ │ ├── MisleadingIndentationAfterControlStmt.qhelp
│ │ │ ├── MisleadingIndentationAfterControlStmt.ql
│ │ │ ├── NestedLoopsSameVariable.qhelp
│ │ │ ├── NestedLoopsSameVariable.ql
│ │ │ ├── ReturnAssignsLocal.qhelp
│ │ │ ├── ReturnAssignsLocal.ql
│ │ │ ├── ReturnOutsideFunction.qhelp
│ │ │ ├── ReturnOutsideFunction.ql
│ │ │ ├── SuspiciousUnusedLoopIterationVariable.qhelp
│ │ │ ├── SuspiciousUnusedLoopIterationVariable.ql
│ │ │ ├── UnreachableStatement.qhelp
│ │ │ ├── UnreachableStatement.ql
│ │ │ ├── UseOfReturnlessFunction.qhelp
│ │ │ ├── UseOfReturnlessFunction.ql
│ │ │ ├── UselessComparisonTest.qhelp
│ │ │ ├── UselessComparisonTest.ql
│ │ │ ├── UselessConditional.qhelp
│ │ │ ├── UselessConditional.ql
│ │ │ ├── UselessConditional.qll
│ │ │ └── examples
│ │ │ │ ├── DanglingElse.js
│ │ │ │ ├── DanglingElseGood.js
│ │ │ │ ├── DanglingElseGood2.js
│ │ │ │ ├── EphemeralLoop.js
│ │ │ │ ├── EphemeralLoopGood.js
│ │ │ │ ├── IgnoreArrayResult.js
│ │ │ │ ├── IgnoreArrayResultFixed.js
│ │ │ │ ├── ImplicitReturn.js
│ │ │ │ ├── ImplicitReturnGood.js
│ │ │ │ ├── InconsistentLoopOrientation.js
│ │ │ │ ├── InconsistentLoopOrientationGood.js
│ │ │ │ ├── InconsistentReturn.js
│ │ │ │ ├── InconsistentReturnGood.js
│ │ │ │ ├── LabelInCase.js
│ │ │ │ ├── LoopIterationSkippedDueToShifting.js
│ │ │ │ ├── LoopIterationSkippedDueToShiftingGood.js
│ │ │ │ ├── LoopIterationSkippedDueToShiftingGoodFilter.js
│ │ │ │ ├── MisleadingIndentationAfterControlStmt.js
│ │ │ │ ├── MisleadingIndentationAfterControlStmtGood.js
│ │ │ │ ├── MisleadingIndentationAfterControlStmtGood2.js
│ │ │ │ ├── NestedLoopsSameVariable.js
│ │ │ │ ├── NestedLoopsSameVariableGood.js
│ │ │ │ ├── ReturnAssignsLocal.js
│ │ │ │ ├── ReturnAssignsLocalGood.js
│ │ │ │ ├── ReturnOutsideFunction.htm
│ │ │ │ ├── ReturnOutsideFunctionGood.htm
│ │ │ │ ├── SuspiciousUnusedLoopIterationVariable.js
│ │ │ │ ├── UnreachableStatement.js
│ │ │ │ ├── UnreachableStatementGood.js
│ │ │ │ ├── UseOfReturnlessFunction.js
│ │ │ │ ├── UselessComparisonTest.js
│ │ │ │ ├── UselessComparisonTestGood.js
│ │ │ │ ├── UselessConditional.js
│ │ │ │ └── UselessConditionalGood.js
│ │ ├── Vue
│ │ │ ├── ArrowMethodOnVueInstance.qhelp
│ │ │ ├── ArrowMethodOnVueInstance.ql
│ │ │ └── examples
│ │ │ │ └── ArrowMethodOnVueInstance.js
│ │ ├── codeql-suites
│ │ │ ├── javascript-code-scanning.qls
│ │ │ ├── javascript-lgtm-full.qls
│ │ │ ├── javascript-lgtm.qls
│ │ │ ├── javascript-security-and-quality.qls
│ │ │ └── javascript-security-extended.qls
│ │ ├── default.qll
│ │ ├── definitions.ql
│ │ ├── definitions.qll
│ │ ├── experimental
│ │ │ ├── README.md
│ │ │ ├── Security
│ │ │ │ ├── CWE-020
│ │ │ │ │ ├── PostMessageNoOriginCheck.qhelp
│ │ │ │ │ ├── PostMessageNoOriginCheck.ql
│ │ │ │ │ └── examples
│ │ │ │ │ │ ├── postMessageInsufficientCheck.js
│ │ │ │ │ │ ├── postMessageNoOriginCheck.js
│ │ │ │ │ │ └── postMessageWithOriginCheck.js
│ │ │ │ ├── CWE-090
│ │ │ │ │ ├── LdapInjection.qhelp
│ │ │ │ │ ├── LdapInjection.ql
│ │ │ │ │ ├── LdapInjection.qll
│ │ │ │ │ ├── LdapInjectionCustomizations.qll
│ │ │ │ │ ├── Ldapjs.qll
│ │ │ │ │ └── examples
│ │ │ │ │ │ ├── example_bad1.js
│ │ │ │ │ │ ├── example_bad2.js
│ │ │ │ │ │ ├── example_good1.js
│ │ │ │ │ │ └── example_good2.js
│ │ │ │ ├── CWE-094
│ │ │ │ │ ├── ExpressionInjection.qhelp
│ │ │ │ │ ├── ExpressionInjection.ql
│ │ │ │ │ ├── UntrustedCheckout.qhelp
│ │ │ │ │ ├── UntrustedCheckout.ql
│ │ │ │ │ └── examples
│ │ │ │ │ │ ├── comment_issue_bad.yml
│ │ │ │ │ │ ├── comment_issue_good.yml
│ │ │ │ │ │ ├── comment_pr.yml
│ │ │ │ │ │ ├── pull_request_target_bad.yml
│ │ │ │ │ │ └── receive_pr.yml
│ │ │ │ ├── CWE-347
│ │ │ │ │ ├── JWTMissingSecretOrPublicKeyVerification.help
│ │ │ │ │ ├── JWTMissingSecretOrPublicKeyVerification.ql
│ │ │ │ │ └── examples
│ │ │ │ │ │ └── JWTMissingSecretOrPublicKeyVerification.js
│ │ │ │ ├── CWE-614
│ │ │ │ │ ├── InsecureCookie.qhelp
│ │ │ │ │ ├── InsecureCookie.ql
│ │ │ │ │ └── InsecureCookie.qll
│ │ │ │ └── CWE-770
│ │ │ │ │ ├── ResourceExhaustion.qhelp
│ │ │ │ │ ├── ResourceExhaustion.ql
│ │ │ │ │ └── examples
│ │ │ │ │ ├── ResourceExhaustion_timeout.js
│ │ │ │ │ └── ResourceExhaustion_timeout_fixed.js
│ │ │ ├── Summaries
│ │ │ │ ├── Configurations.qll
│ │ │ │ ├── ExtractFlowStepSummaries.ql
│ │ │ │ ├── ExtractSinkSummaries.ql
│ │ │ │ ├── ExtractSourceSummaries.ql
│ │ │ │ ├── ImportFromCsv.qll
│ │ │ │ ├── ImportFromExternalPredicates.qll
│ │ │ │ ├── PortalEntrySink.qll
│ │ │ │ ├── PortalExitSource.qll
│ │ │ │ ├── Shared.qll
│ │ │ │ ├── SinkFromAnnotation.qll
│ │ │ │ └── SourceFromAnnotation.qll
│ │ │ ├── poi
│ │ │ │ └── PoI.qll
│ │ │ └── semmle
│ │ │ │ └── javascript
│ │ │ │ ├── Actions.qll
│ │ │ │ └── security
│ │ │ │ └── dataflow
│ │ │ │ ├── ResourceExhaustion.qll
│ │ │ │ └── ResourceExhaustionCustomizations.qll
│ │ ├── external
│ │ │ ├── DefectFilter.qll
│ │ │ ├── DuplicateFunction.qhelp
│ │ │ ├── DuplicateFunction.ql
│ │ │ ├── DuplicateToplevel.qhelp
│ │ │ ├── DuplicateToplevel.ql
│ │ │ ├── ExternalArtifact.qll
│ │ │ ├── MetricFilter.qll
│ │ │ ├── SimilarFunction.qhelp
│ │ │ ├── SimilarFunction.ql
│ │ │ ├── SimilarToplevel.qhelp
│ │ │ └── SimilarToplevel.ql
│ │ ├── filters
│ │ │ ├── ClassifyFiles.ql
│ │ │ └── ClassifyFiles.qll
│ │ ├── javascript.qll
│ │ ├── localDefinitions.ql
│ │ ├── localReferences.ql
│ │ ├── meta
│ │ │ ├── ApiGraphs
│ │ │ │ ├── ApiGraphEdges.ql
│ │ │ │ ├── ApiGraphNodes.ql
│ │ │ │ ├── ApiGraphPointsToEdges.ql
│ │ │ │ ├── ApiGraphRhsNodes.ql
│ │ │ │ └── ApiGraphUseNodes.ql
│ │ │ ├── Consistency.ql
│ │ │ ├── MetaMetrics.qll
│ │ │ ├── SSA
│ │ │ │ ├── DeadDef.ql
│ │ │ │ ├── Dominance.ql
│ │ │ │ ├── MultipleDefs.ql
│ │ │ │ ├── MultipleRefinementInputs.ql
│ │ │ │ ├── NoDefs.ql
│ │ │ │ ├── NoPhiInputs.ql
│ │ │ │ ├── NoRefinementInputs.ql
│ │ │ │ └── SinglePhiInput.ql
│ │ │ ├── alerts
│ │ │ │ ├── CallGraph.ql
│ │ │ │ ├── TaintSinks.ql
│ │ │ │ ├── TaintSources.ql
│ │ │ │ └── TaintedNodes.ql
│ │ │ ├── analysis-quality
│ │ │ │ ├── CallGraphQuality.qll
│ │ │ │ ├── CalledFunctionCandidates.ql
│ │ │ │ ├── CalledFunctionRatio.ql
│ │ │ │ ├── CalledFunctions.ql
│ │ │ │ ├── CandidateTracking.qll
│ │ │ │ ├── DomValueRefs.ql
│ │ │ │ ├── NumModules.ql
│ │ │ │ ├── ResolvableCallCandidates.ql
│ │ │ │ ├── ResolvableCallRatio.ql
│ │ │ │ ├── ResolvableCalls.ql
│ │ │ │ ├── ResolvableImports.ql
│ │ │ │ ├── RouteHandlers.ql
│ │ │ │ ├── SanitizersReachableFromSource.ql
│ │ │ │ ├── SinksReachableFromSanitizer.ql
│ │ │ │ ├── TaintSinks.ql
│ │ │ │ ├── TaintSources.ql
│ │ │ │ ├── TaintSteps.ql
│ │ │ │ ├── TaintedNodes.ql
│ │ │ │ ├── UncalledFunctions.ql
│ │ │ │ ├── UnpromotedRouteHandlerCandidate.ql
│ │ │ │ ├── UnpromotedRouteSetupCandidate.ql
│ │ │ │ ├── UnresolvableCalls.ql
│ │ │ │ └── UnresolvableImports.ql
│ │ │ ├── extraction-metrics
│ │ │ │ ├── FileData.ql
│ │ │ │ ├── MissingMetrics.ql
│ │ │ │ └── PhaseTimings.ql
│ │ │ ├── internal
│ │ │ │ └── TaintMetrics.qll
│ │ │ └── types
│ │ │ │ ├── TypedExprs.ql
│ │ │ │ └── TypesWithQualifiedName.ql
│ │ ├── printAst.ql
│ │ ├── qlpack.yml
│ │ ├── queries.xml
│ │ ├── semmle
│ │ │ ├── files
│ │ │ │ └── FileSystem.qll
│ │ │ └── javascript
│ │ │ │ ├── AMD.qll
│ │ │ │ ├── AST.qll
│ │ │ │ ├── Aliases.qll
│ │ │ │ ├── ApiGraphs.qll
│ │ │ │ ├── Arrays.qll
│ │ │ │ ├── Base64.qll
│ │ │ │ ├── BasicBlocks.qll
│ │ │ │ ├── CFG.qll
│ │ │ │ ├── CanonicalNames.qll
│ │ │ │ ├── CharacterEscapes.qll
│ │ │ │ ├── Classes.qll
│ │ │ │ ├── Closure.qll
│ │ │ │ ├── Collections.qll
│ │ │ │ ├── Comments.qll
│ │ │ │ ├── Concepts.qll
│ │ │ │ ├── Constants.qll
│ │ │ │ ├── DOM.qll
│ │ │ │ ├── DefUse.qll
│ │ │ │ ├── DefensiveProgramming.qll
│ │ │ │ ├── DynamicPropertyAccess.qll
│ │ │ │ ├── E4X.qll
│ │ │ │ ├── ES2015Modules.qll
│ │ │ │ ├── EmailClients.qll
│ │ │ │ ├── Errors.qll
│ │ │ │ ├── Expr.qll
│ │ │ │ ├── Extend.qll
│ │ │ │ ├── Externs.qll
│ │ │ │ ├── Files.qll
│ │ │ │ ├── Functions.qll
│ │ │ │ ├── GeneratedCode.qll
│ │ │ │ ├── Generators.qll
│ │ │ │ ├── GlobalAccessPaths.qll
│ │ │ │ ├── HTML.qll
│ │ │ │ ├── HtmlSanitizers.qll
│ │ │ │ ├── InclusionTests.qll
│ │ │ │ ├── JSDoc.qll
│ │ │ │ ├── JSON.qll
│ │ │ │ ├── JSX.qll
│ │ │ │ ├── JsonParsers.qll
│ │ │ │ ├── JsonSchema.qll
│ │ │ │ ├── JsonStringifiers.qll
│ │ │ │ ├── Lines.qll
│ │ │ │ ├── Locations.qll
│ │ │ │ ├── MembershipCandidates.qll
│ │ │ │ ├── Modules.qll
│ │ │ │ ├── NPM.qll
│ │ │ │ ├── NodeJS.qll
│ │ │ │ ├── NodeModuleResolutionImpl.qll
│ │ │ │ ├── PackageExports.qll
│ │ │ │ ├── Paths.qll
│ │ │ │ ├── PrintAst.qll
│ │ │ │ ├── Promises.qll
│ │ │ │ ├── RangeAnalysis.qll
│ │ │ │ ├── Regexp.qll
│ │ │ │ ├── RestrictedLocations.qll
│ │ │ │ ├── SSA.qll
│ │ │ │ ├── SourceMaps.qll
│ │ │ │ ├── StandardLibrary.qll
│ │ │ │ ├── Stmt.qll
│ │ │ │ ├── StringConcatenation.qll
│ │ │ │ ├── StringOps.qll
│ │ │ │ ├── Templates.qll
│ │ │ │ ├── Tokens.qll
│ │ │ │ ├── TypeAnnotations.qll
│ │ │ │ ├── TypeScript.qll
│ │ │ │ ├── Util.qll
│ │ │ │ ├── Variables.qll
│ │ │ │ ├── XML.qll
│ │ │ │ ├── YAML.qll
│ │ │ │ ├── dataflow
│ │ │ │ ├── AbstractProperties.qll
│ │ │ │ ├── AbstractValues.qll
│ │ │ │ ├── BackwardExploration.qll
│ │ │ │ ├── Configuration.qll
│ │ │ │ ├── CustomAbstractValueDefinitions.qll
│ │ │ │ ├── DataFlow.qll
│ │ │ │ ├── ForwardExploration.qll
│ │ │ │ ├── InferredTypes.qll
│ │ │ │ ├── LocalObjects.qll
│ │ │ │ ├── Nodes.qll
│ │ │ │ ├── Portals.qll
│ │ │ │ ├── Refinements.qll
│ │ │ │ ├── Sources.qll
│ │ │ │ ├── TaintTracking.qll
│ │ │ │ ├── TrackedNodes.qll
│ │ │ │ ├── TypeInference.qll
│ │ │ │ ├── TypeTracking.qll
│ │ │ │ └── internal
│ │ │ │ │ ├── AbstractPropertiesImpl.qll
│ │ │ │ │ ├── AbstractValuesImpl.qll
│ │ │ │ │ ├── AccessPaths.qll
│ │ │ │ │ ├── AnalyzedParameters.qll
│ │ │ │ │ ├── BasicExprTypeInference.qll
│ │ │ │ │ ├── CallGraphs.qll
│ │ │ │ │ ├── DataFlowNode.qll
│ │ │ │ │ ├── FlowSteps.qll
│ │ │ │ │ ├── InterModuleTypeInference.qll
│ │ │ │ │ ├── InterProceduralTypeInference.qll
│ │ │ │ │ ├── PreCallGraphStep.qll
│ │ │ │ │ ├── PropertyTypeInference.qll
│ │ │ │ │ ├── StepSummary.qll
│ │ │ │ │ ├── Unit.qll
│ │ │ │ │ └── VariableTypeInference.qll
│ │ │ │ ├── dependencies
│ │ │ │ ├── Dependencies.qll
│ │ │ │ ├── DependencyCustomizations.qll
│ │ │ │ ├── FrameworkLibraries.qll
│ │ │ │ └── SemVer.qll
│ │ │ │ ├── explore
│ │ │ │ ├── BackwardDataFlow.qll
│ │ │ │ ├── CallGraph.qll
│ │ │ │ └── ForwardDataFlow.qll
│ │ │ │ ├── frameworks
│ │ │ │ ├── AWS.qll
│ │ │ │ ├── Angular2.qll
│ │ │ │ ├── AngularJS.qll
│ │ │ │ ├── AngularJS
│ │ │ │ │ ├── AngularJSCore.qll
│ │ │ │ │ ├── AngularJSExpressions.qll
│ │ │ │ │ ├── DependencyInjections.qll
│ │ │ │ │ └── ServiceDefinitions.qll
│ │ │ │ ├── AsyncPackage.qll
│ │ │ │ ├── Azure.qll
│ │ │ │ ├── Babel.qll
│ │ │ │ ├── Bundling.qll
│ │ │ │ ├── Cheerio.qll
│ │ │ │ ├── Classnames.qll
│ │ │ │ ├── ClientRequests.qll
│ │ │ │ ├── ClosureLibrary.qll
│ │ │ │ ├── ComposedFunctions.qll
│ │ │ │ ├── Connect.qll
│ │ │ │ ├── ConnectExpressShared.qll
│ │ │ │ ├── CookieLibraries.qll
│ │ │ │ ├── Credentials.qll
│ │ │ │ ├── CryptoLibraries.qll
│ │ │ │ ├── D3.qll
│ │ │ │ ├── DateFunctions.qll
│ │ │ │ ├── DigitalOcean.qll
│ │ │ │ ├── Electron.qll
│ │ │ │ ├── Emscripten.qll
│ │ │ │ ├── EventEmitter.qll
│ │ │ │ ├── Express.qll
│ │ │ │ ├── ExpressModules.qll
│ │ │ │ ├── Fastify.qll
│ │ │ │ ├── Files.qll
│ │ │ │ ├── Firebase.qll
│ │ │ │ ├── FormParsers.qll
│ │ │ │ ├── GWT.qll
│ │ │ │ ├── HTTP.qll
│ │ │ │ ├── Handlebars.qll
│ │ │ │ ├── Hapi.qll
│ │ │ │ ├── HttpFrameworks.qll
│ │ │ │ ├── HttpProxy.qll
│ │ │ │ ├── Immutable.qll
│ │ │ │ ├── JWT.qll
│ │ │ │ ├── Koa.qll
│ │ │ │ ├── LazyCache.qll
│ │ │ │ ├── LodashUnderscore.qll
│ │ │ │ ├── Logging.qll
│ │ │ │ ├── Markdown.qll
│ │ │ │ ├── Micro.qll
│ │ │ │ ├── Next.qll
│ │ │ │ ├── NoSQL.qll
│ │ │ │ ├── NodeJSLib.qll
│ │ │ │ ├── PkgCloud.qll
│ │ │ │ ├── PropertyProjection.qll
│ │ │ │ ├── Puppeteer.qll
│ │ │ │ ├── React.qll
│ │ │ │ ├── ReactNative.qll
│ │ │ │ ├── Request.qll
│ │ │ │ ├── Restify.qll
│ │ │ │ ├── RxJS.qll
│ │ │ │ ├── SQL.qll
│ │ │ │ ├── ServerLess.qll
│ │ │ │ ├── ShellJS.qll
│ │ │ │ ├── SocketIO.qll
│ │ │ │ ├── StringFormatters.qll
│ │ │ │ ├── SystemCommandExecutors.qll
│ │ │ │ ├── Templating.qll
│ │ │ │ ├── Testing.qll
│ │ │ │ ├── TestingCustomizations.qll
│ │ │ │ ├── TorrentLibraries.qll
│ │ │ │ ├── Typeahead.qll
│ │ │ │ ├── UriLibraries.qll
│ │ │ │ ├── Vue.qll
│ │ │ │ ├── WebSocket.qll
│ │ │ │ ├── XmlParsers.qll
│ │ │ │ ├── jQuery.qll
│ │ │ │ └── xUnit.qll
│ │ │ │ ├── heuristics
│ │ │ │ ├── AdditionalFrameworks.qll
│ │ │ │ ├── AdditionalPromises.qll
│ │ │ │ ├── AdditionalRouteHandlers.qll
│ │ │ │ ├── AdditionalSinks.qll
│ │ │ │ ├── AdditionalSources.qll
│ │ │ │ ├── AdditionalTaintSteps.qll
│ │ │ │ ├── HeuristicSinks.qll
│ │ │ │ ├── SyntacticHeuristics.qll
│ │ │ │ └── all.qll
│ │ │ │ ├── internal
│ │ │ │ ├── CachedStages.qll
│ │ │ │ └── StmtContainers.qll
│ │ │ │ ├── linters
│ │ │ │ ├── ESLint.qll
│ │ │ │ ├── JSLint.qll
│ │ │ │ └── Linting.qll
│ │ │ │ ├── meta
│ │ │ │ └── ExtractionMetrics.qll
│ │ │ │ └── security
│ │ │ │ ├── CryptoAlgorithms.qll
│ │ │ │ ├── IncompleteBlacklistSanitizer.qll
│ │ │ │ ├── SensitiveActions.qll
│ │ │ │ ├── TaintedObject.qll
│ │ │ │ ├── TaintedObjectCustomizations.qll
│ │ │ │ ├── UselessUseOfCat.qll
│ │ │ │ ├── dataflow
│ │ │ │ ├── BrokenCryptoAlgorithm.qll
│ │ │ │ ├── BrokenCryptoAlgorithmCustomizations.qll
│ │ │ │ ├── BuildArtifactLeak.qll
│ │ │ │ ├── BuildArtifactLeakCustomizations.qll
│ │ │ │ ├── CleartextLogging.qll
│ │ │ │ ├── CleartextLoggingCustomizations.qll
│ │ │ │ ├── CleartextStorage.qll
│ │ │ │ ├── CleartextStorageCustomizations.qll
│ │ │ │ ├── ClientSideUrlRedirect.qll
│ │ │ │ ├── ClientSideUrlRedirectCustomizations.qll
│ │ │ │ ├── CodeInjection.qll
│ │ │ │ ├── CodeInjectionCustomizations.qll
│ │ │ │ ├── CommandInjection.qll
│ │ │ │ ├── CommandInjectionCustomizations.qll
│ │ │ │ ├── ConditionalBypass.qll
│ │ │ │ ├── ConditionalBypassCustomizations.qll
│ │ │ │ ├── CorsMisconfigurationForCredentials.qll
│ │ │ │ ├── CorsMisconfigurationForCredentialsCustomizations.qll
│ │ │ │ ├── DOM.qll
│ │ │ │ ├── DeepObjectResourceExhaustion.qll
│ │ │ │ ├── DeepObjectResourceExhaustionCustomizations.qll
│ │ │ │ ├── DifferentKindsComparisonBypass.qll
│ │ │ │ ├── DifferentKindsComparisonBypassCustomizations.qll
│ │ │ │ ├── DomBasedXss.qll
│ │ │ │ ├── DomBasedXssCustomizations.qll
│ │ │ │ ├── ExceptionXss.qll
│ │ │ │ ├── ExternalAPIUsedWithUntrustedData.qll
│ │ │ │ ├── ExternalAPIUsedWithUntrustedDataCustomizations.qll
│ │ │ │ ├── FileAccessToHttp.qll
│ │ │ │ ├── FileAccessToHttpCustomizations.qll
│ │ │ │ ├── HardcodedCredentials.qll
│ │ │ │ ├── HardcodedCredentialsCustomizations.qll
│ │ │ │ ├── HardcodedDataInterpretedAsCode.qll
│ │ │ │ ├── HardcodedDataInterpretedAsCodeCustomizations.qll
│ │ │ │ ├── HostHeaderPoisoningInEmailGeneration.qll
│ │ │ │ ├── HttpToFileAccess.qll
│ │ │ │ ├── HttpToFileAccessCustomizations.qll
│ │ │ │ ├── ImproperCodeSanitization.qll
│ │ │ │ ├── ImproperCodeSanitizationCustomizations.qll
│ │ │ │ ├── IncompleteHtmlAttributeSanitization.qll
│ │ │ │ ├── IncompleteHtmlAttributeSanitizationCustomizations.qll
│ │ │ │ ├── IndirectCommandArgument.qll
│ │ │ │ ├── IndirectCommandInjection.qll
│ │ │ │ ├── IndirectCommandInjectionCustomizations.qll
│ │ │ │ ├── InsecureDownload.qll
│ │ │ │ ├── InsecureDownloadCustomizations.qll
│ │ │ │ ├── InsecureRandomness.qll
│ │ │ │ ├── InsecureRandomnessCustomizations.qll
│ │ │ │ ├── InsufficientPasswordHash.qll
│ │ │ │ ├── InsufficientPasswordHashCustomizations.qll
│ │ │ │ ├── LogInjection.qll
│ │ │ │ ├── LoopBoundInjection.qll
│ │ │ │ ├── LoopBoundInjectionCustomizations.qll
│ │ │ │ ├── MissingRateLimiting.qll
│ │ │ │ ├── NosqlInjection.qll
│ │ │ │ ├── NosqlInjectionCustomizations.qll
│ │ │ │ ├── PostMessageStar.qll
│ │ │ │ ├── PostMessageStarCustomizations.qll
│ │ │ │ ├── PropertyInjectionShared.qll
│ │ │ │ ├── PrototypePollutingAssignment.qll
│ │ │ │ ├── PrototypePollutingAssignmentCustomizations.qll
│ │ │ │ ├── PrototypePollution.qll
│ │ │ │ ├── PrototypePollutionCustomizations.qll
│ │ │ │ ├── ReflectedXss.qll
│ │ │ │ ├── ReflectedXssCustomizations.qll
│ │ │ │ ├── RegExpInjection.qll
│ │ │ │ ├── RegExpInjectionCustomizations.qll
│ │ │ │ ├── RemoteFlowSources.qll
│ │ │ │ ├── RemotePropertyInjection.qll
│ │ │ │ ├── RemotePropertyInjectionCustomizations.qll
│ │ │ │ ├── RequestForgery.qll
│ │ │ │ ├── RequestForgeryCustomizations.qll
│ │ │ │ ├── ServerSideUrlRedirect.qll
│ │ │ │ ├── ServerSideUrlRedirectCustomizations.qll
│ │ │ │ ├── ShellCommandInjectionFromEnvironment.qll
│ │ │ │ ├── ShellCommandInjectionFromEnvironmentCustomizations.qll
│ │ │ │ ├── SqlInjection.qll
│ │ │ │ ├── SqlInjectionCustomizations.qll
│ │ │ │ ├── StackTraceExposure.qll
│ │ │ │ ├── StackTraceExposureCustomizations.qll
│ │ │ │ ├── StoredXss.qll
│ │ │ │ ├── TaintedFormatString.qll
│ │ │ │ ├── TaintedFormatStringCustomizations.qll
│ │ │ │ ├── TaintedPath.qll
│ │ │ │ ├── TaintedPathCustomizations.qll
│ │ │ │ ├── TemplateObjectInjection.qll
│ │ │ │ ├── TemplateObjectInjectionCustomizations.qll
│ │ │ │ ├── TypeConfusionThroughParameterTampering.qll
│ │ │ │ ├── TypeConfusionThroughParameterTamperingCustomizations.qll
│ │ │ │ ├── UnsafeDeserialization.qll
│ │ │ │ ├── UnsafeDeserializationCustomizations.qll
│ │ │ │ ├── UnsafeDynamicMethodAccess.qll
│ │ │ │ ├── UnsafeDynamicMethodAccessCustomizations.qll
│ │ │ │ ├── UnsafeJQueryPlugin.qll
│ │ │ │ ├── UnsafeJQueryPluginCustomizations.qll
│ │ │ │ ├── UnsafeShellCommandConstruction.qll
│ │ │ │ ├── UnsafeShellCommandConstructionCustomizations.qll
│ │ │ │ ├── UnvalidatedDynamicMethodCall.qll
│ │ │ │ ├── UnvalidatedDynamicMethodCallCustomizations.qll
│ │ │ │ ├── UrlConcatenation.qll
│ │ │ │ ├── XmlBomb.qll
│ │ │ │ ├── XmlBombCustomizations.qll
│ │ │ │ ├── XpathInjection.qll
│ │ │ │ ├── XpathInjectionCustomizations.qll
│ │ │ │ ├── Xss.qll
│ │ │ │ ├── XssThroughDom.qll
│ │ │ │ ├── XssThroughDomCustomizations.qll
│ │ │ │ ├── Xxe.qll
│ │ │ │ ├── XxeCustomizations.qll
│ │ │ │ ├── ZipSlip.qll
│ │ │ │ └── ZipSlipCustomizations.qll
│ │ │ │ └── performance
│ │ │ │ ├── PolynomialReDoS.qll
│ │ │ │ ├── PolynomialReDoSCustomizations.qll
│ │ │ │ ├── ReDoSUtil.qll
│ │ │ │ └── SuperlinearBackTracking.qll
│ │ ├── semmlecode.javascript.dbscheme
│ │ └── semmlecode.javascript.dbscheme.stats
│ └── test
│ │ ├── .project
│ │ ├── .qlpath
│ │ ├── ApiGraphs
│ │ ├── VerifyAssertions.qll
│ │ ├── argprops
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── async-await
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── bound-args
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── branching-flow
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── call-nodes
│ │ │ ├── index.js
│ │ │ ├── test.expected
│ │ │ └── test.ql
│ │ ├── classes
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── classes.js
│ │ │ └── package.json
│ │ ├── ctor-arg
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── custom-entry-point
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── cyclic
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── dynamic-prop-read
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── imprecise-export
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── imprecision
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── namespaced-package
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── nested-property-export
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── nonlocal
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── partial-invoke
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── promises
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── promisify
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── property-read-from-argument
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ ├── reexport
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ ├── lib
│ │ │ │ ├── impl.js
│ │ │ │ ├── stuff.js
│ │ │ │ ├── utils.js
│ │ │ │ └── utils2.js
│ │ │ └── package.json
│ │ ├── return-self
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ └── typed
│ │ │ ├── NodeOfType.expected
│ │ │ ├── NodeOfType.ql
│ │ │ ├── VerifyAssertions.expected
│ │ │ ├── VerifyAssertions.ql
│ │ │ ├── index.ts
│ │ │ ├── package.json
│ │ │ ├── shim.d.ts
│ │ │ └── tsconfig.json
│ │ ├── experimental
│ │ ├── PoI
│ │ │ ├── CommandInjectionPoIConfiguration.expected
│ │ │ ├── CommandInjectionPoIConfiguration.ql
│ │ │ ├── ServerPoIConfiguration.expected
│ │ │ ├── ServerPoIConfiguration.ql
│ │ │ ├── ServerPoIs.expected
│ │ │ ├── ServerPoIs.ql
│ │ │ ├── TaintedPathPoIConfiguration.expected
│ │ │ ├── TaintedPathPoIConfiguration.ql
│ │ │ ├── TestCustomPoIs.expected
│ │ │ ├── TestCustomPoIs.ql
│ │ │ ├── TestStandardPoIs.expected
│ │ │ ├── TestStandardPoIs.ql
│ │ │ ├── XssPoIConfiguration.expected
│ │ │ ├── XssPoIConfiguration.ql
│ │ │ └── tst.js
│ │ ├── README.md
│ │ └── Security
│ │ │ ├── CWE-094
│ │ │ ├── .github
│ │ │ │ └── workflows
│ │ │ │ │ ├── comment_issue.yml
│ │ │ │ │ ├── pull_request_target_if_job.yml
│ │ │ │ │ ├── pull_request_target_if_step.yml
│ │ │ │ │ ├── pull_request_target_label_only.yml
│ │ │ │ │ ├── pull_request_target_label_only_mapping.yml
│ │ │ │ │ ├── pull_request_target_labels_mapping.yml
│ │ │ │ │ ├── pull_request_target_labels_sequence.yml
│ │ │ │ │ ├── pull_request_target_mapping.yml
│ │ │ │ │ ├── pull_request_target_master.yml
│ │ │ │ │ ├── pull_request_target_run.yml
│ │ │ │ │ └── pull_request_target_sequence.yml
│ │ │ ├── ExpressionInjection.expected
│ │ │ ├── ExpressionInjection.qlref
│ │ │ ├── UntrustedCheckout.expected
│ │ │ ├── UntrustedCheckout.qlref
│ │ │ └── empty.js
│ │ │ └── CWE-770
│ │ │ ├── ResourceExhaustion.expected
│ │ │ ├── ResourceExhaustion.qlref
│ │ │ ├── documentaion-examples
│ │ │ ├── ResourceExhaustion_timeout.js
│ │ │ └── ResourceExhaustion_timeout_fixed.js
│ │ │ └── resource-exhaustion.js
│ │ ├── format.json
│ │ ├── library-tests
│ │ ├── AMD
│ │ │ ├── a.js
│ │ │ ├── dir
│ │ │ │ └── b.js
│ │ │ ├── lib
│ │ │ │ ├── a.js
│ │ │ │ ├── foo.js
│ │ │ │ └── nested
│ │ │ │ │ └── a.js
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ ├── tst.js
│ │ │ ├── tst2.js
│ │ │ ├── tst3.js
│ │ │ ├── tst4.js
│ │ │ ├── tst5.js
│ │ │ └── umd.js
│ │ ├── AST
│ │ │ └── StmtContainer
│ │ │ │ ├── StmtContainer.expected
│ │ │ │ ├── StmtContainer.ql
│ │ │ │ ├── es2015.js
│ │ │ │ ├── getEnclosingContainer.expected
│ │ │ │ ├── getEnclosingContainer.ql
│ │ │ │ └── tst.js
│ │ ├── Arrays
│ │ │ ├── DataFlow.expected
│ │ │ ├── DataFlow.ql
│ │ │ ├── arrays.js
│ │ │ ├── printAst.expected
│ │ │ └── printAst.ql
│ │ ├── Barriers
│ │ │ ├── SimpleBarrierGuard.expected
│ │ │ ├── SimpleBarrierGuard.ql
│ │ │ └── tst.js
│ │ ├── BasicBlocks
│ │ │ ├── BasicBlocks.expected
│ │ │ ├── BasicBlocks.ql
│ │ │ └── tst.js
│ │ ├── Bundling
│ │ │ ├── BrowserifyBundle.expected
│ │ │ ├── BrowserifyBundle.ql
│ │ │ ├── MultiLicenseBundle.expected
│ │ │ ├── MultiLicenseBundle.ql
│ │ │ ├── README
│ │ │ ├── WebpackBundle.expected
│ │ │ ├── WebpackBundle.ql
│ │ │ ├── a.js
│ │ │ ├── b.js
│ │ │ ├── bundled.browserify+derequire.js
│ │ │ ├── bundled.browserify.js
│ │ │ ├── bundled.webpack.js
│ │ │ ├── c.js
│ │ │ ├── d.js
│ │ │ ├── multiple-mixed-licenses.js
│ │ │ ├── multiple-multiline-licenses.js
│ │ │ ├── multiple-singleline-almost-licenses.js
│ │ │ ├── multiple-singleline-licenses.js
│ │ │ ├── multiple-singleline-non-license-comments.js
│ │ │ ├── single-multiline-license.js
│ │ │ └── single-singleline-license.js
│ │ ├── CFG
│ │ │ ├── CFG.expected
│ │ │ ├── CFG.ql
│ │ │ ├── StaticInit.expected
│ │ │ ├── StaticInit.ql
│ │ │ ├── arrowfn.js
│ │ │ ├── classDecorators.ts
│ │ │ ├── classes.js
│ │ │ ├── decorated_parameter.ts
│ │ │ ├── destructuring.js
│ │ │ ├── enum.ts
│ │ │ ├── fields.js
│ │ │ ├── forof.js
│ │ │ ├── globals.js
│ │ │ ├── mixedMembers.js
│ │ │ ├── options
│ │ │ ├── short-circuit.js
│ │ │ ├── staticFields.js
│ │ │ ├── staticFieldsTS.ts
│ │ │ └── switch.js
│ │ ├── CallGraphs
│ │ │ ├── AnnotatedTest
│ │ │ │ ├── Test.expected
│ │ │ │ ├── Test.ql
│ │ │ │ ├── access-path.js
│ │ │ │ ├── bound-function.js
│ │ │ │ ├── client.js
│ │ │ │ ├── constructor-field.ts
│ │ │ │ ├── instance-calls.js
│ │ │ │ ├── lib.js
│ │ │ │ ├── options
│ │ │ │ ├── reExportLib.js
│ │ │ │ ├── reExportLibClient.js
│ │ │ │ ├── reexport
│ │ │ │ │ ├── a.js
│ │ │ │ │ ├── b.js
│ │ │ │ │ └── import.js
│ │ │ │ ├── returned-function.js
│ │ │ │ ├── static-calls.js
│ │ │ │ └── this-calls.js
│ │ │ └── FullTest
│ │ │ │ ├── a.js
│ │ │ │ ├── b.js
│ │ │ │ ├── c.js
│ │ │ │ ├── classes.js
│ │ │ │ ├── es2015.js
│ │ │ │ ├── getACallee.qll
│ │ │ │ ├── getAFunctionValue.qll
│ │ │ │ ├── getAnArgument.qll
│ │ │ │ ├── getArgument.qll
│ │ │ │ ├── getCalleeName.qll
│ │ │ │ ├── getCalleeNode.qll
│ │ │ │ ├── getLastArgument.qll
│ │ │ │ ├── getNumArgument.qll
│ │ │ │ ├── isImprecise.qll
│ │ │ │ ├── isIncomplete.qll
│ │ │ │ ├── isUncertain.qll
│ │ │ │ ├── m.js
│ │ │ │ ├── m2.js
│ │ │ │ ├── n.js
│ │ │ │ ├── non-strict.js
│ │ │ │ ├── protoclass.js
│ │ │ │ ├── reflection.js
│ │ │ │ ├── strict.js
│ │ │ │ ├── strict2.js
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ ├── tst.js
│ │ │ │ ├── tst2.js
│ │ │ │ └── tst3.js
│ │ ├── ClassNode
│ │ │ ├── fields.ts
│ │ │ ├── namespace.js
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ ├── tst.js
│ │ │ └── tst2.js
│ │ ├── Classes
│ │ │ ├── AccessorMethods.qll
│ │ │ ├── ClassDefinition_getName.qll
│ │ │ ├── ClassDefinition_getSuperClass.qll
│ │ │ ├── ClassDefinitions.qll
│ │ │ ├── ClassFlow.qll
│ │ │ ├── ClassNodeConstructor.qll
│ │ │ ├── ClassNodeInstanceMethod.qll
│ │ │ ├── ClassNodeStaticMethod.qll
│ │ │ ├── ComputedMethods.qll
│ │ │ ├── ConstructorDefinitions.qll
│ │ │ ├── FieldInits.qll
│ │ │ ├── Fields.qll
│ │ │ ├── MethodDefinitions.qll
│ │ │ ├── MethodNames.qll
│ │ │ ├── NewTargetExpr.qll
│ │ │ ├── PrivateField.qll
│ │ │ ├── StaticMethods.qll
│ │ │ ├── SuperExpr.qll
│ │ │ ├── SyntheticConstructors.qll
│ │ │ ├── dataflow.js
│ │ │ ├── fields.js
│ │ │ ├── getAMember.qll
│ │ │ ├── options
│ │ │ ├── points.js
│ │ │ ├── privateFields.js
│ │ │ ├── staticConstructor.js
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ └── tst.js
│ │ ├── Closure
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ └── tests
│ │ │ │ ├── es6Module.js
│ │ │ │ ├── es6ModuleDefault.js
│ │ │ │ ├── globalModule.js
│ │ │ │ ├── globalModuleDefault.js
│ │ │ │ ├── googModule.js
│ │ │ │ ├── googModuleDefault.js
│ │ │ │ ├── importFromEs6.js
│ │ │ │ ├── nestedAccess.js
│ │ │ │ ├── requireFromEs6.js
│ │ │ │ ├── requireFromGlobalModule.js
│ │ │ │ ├── requireFromGoogModule.js
│ │ │ │ └── uri.js
│ │ ├── Comments
│ │ │ ├── Comments.expected
│ │ │ ├── Comments.ql
│ │ │ ├── comments.js
│ │ │ ├── next_token.expected
│ │ │ └── next_token.ql
│ │ ├── Comprehensions
│ │ │ ├── comprehensions.js
│ │ │ ├── options
│ │ │ ├── tests.expected
│ │ │ └── tests.ql
│ │ ├── Constants
│ │ │ ├── Constants.expected
│ │ │ ├── Constants.ql
│ │ │ ├── tst.js
│ │ │ └── tst2.ts
│ │ ├── CryptoLibraries
│ │ │ ├── CryptographicKey.expected
│ │ │ ├── CryptographicKey.ql
│ │ │ ├── CryptographicOperation.expected
│ │ │ ├── CryptographicOperation.ql
│ │ │ └── tst.js
│ │ ├── CustomAbstractValueDefinitions
│ │ │ ├── CustomAbstractValueDefinitions.expected
│ │ │ ├── CustomAbstractValueDefinitions.ql
│ │ │ ├── CustomAbstractValueDefinitionsFlow.expected
│ │ │ ├── CustomAbstractValueDefinitionsFlow.ql
│ │ │ └── tst.js
│ │ ├── CustomLoadStoreSteps
│ │ │ ├── test.expected
│ │ │ ├── test.ql
│ │ │ └── tst.js
│ │ ├── DOM
│ │ │ ├── AttributeDefinition.qll
│ │ │ ├── AttributeDefinition_getName.qll
│ │ │ ├── AttributeDefinition_getStringValue.qll
│ │ │ ├── AttributeDefinition_getValueNode.qll
│ │ │ ├── Customizations.expected
│ │ │ ├── Customizations.ql
│ │ │ ├── Element.qll
│ │ │ ├── ElementDefinition.qll
│ │ │ ├── ElementDefinition_getAttribute.qll
│ │ │ ├── ElementDefinition_getAttributeByName.qll
│ │ │ ├── ElementDefinition_getRoot.qll
│ │ │ ├── WebStorageWrite.qll
│ │ │ ├── customization.js
│ │ │ ├── event-handler-receiver.html
│ │ │ ├── event-handler-receiver.js
│ │ │ ├── externs
│ │ │ │ └── externs.js
│ │ │ ├── nameditems.js
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ ├── tst-without-html-root-element.html
│ │ │ ├── tst.html
│ │ │ ├── tst.js
│ │ │ └── tst.jsx
│ │ ├── DataFlow
│ │ │ ├── arguments.js
│ │ │ ├── eval.js
│ │ │ ├── options
│ │ │ ├── sources.js
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ ├── tst.js
│ │ │ └── tst2.ts
│ │ ├── Decorators
│ │ │ ├── Decoratable.expected
│ │ │ ├── Decoratable.ql
│ │ │ ├── Decorator.expected
│ │ │ ├── Decorator.ql
│ │ │ ├── options
│ │ │ ├── tst.js
│ │ │ └── tst2.ts
│ │ ├── DefUse
│ │ │ ├── DefUsePair.expected
│ │ │ ├── DefUsePair.ql
│ │ │ ├── VarDefDestructuringSource.expected
│ │ │ ├── VarDefDestructuringSource.ql
│ │ │ ├── VarDefSource.expected
│ │ │ ├── VarDefSource.ql
│ │ │ ├── classes.js
│ │ │ ├── es2015.js
│ │ │ ├── es2015modules.js
│ │ │ ├── fundecls.js
│ │ │ ├── options
│ │ │ └── tst.js
│ │ ├── DependencyModuleImports
│ │ │ ├── Test.expected
│ │ │ ├── Test.ql
│ │ │ └── src
│ │ │ │ ├── dir-with-complex-package-json
│ │ │ │ ├── package.json
│ │ │ │ └── tst.js
│ │ │ │ ├── dir-with-package-json
│ │ │ │ ├── package.json
│ │ │ │ └── tst.js
│ │ │ │ ├── dir-with-package-lock-json
│ │ │ │ ├── package-lock.json
│ │ │ │ └── tst.js
│ │ │ │ ├── dir-without-package-json
│ │ │ │ └── tst.js
│ │ │ │ └── package.json
│ │ ├── Directives
│ │ │ ├── KnownDirective.expected
│ │ │ ├── KnownDirective.ql
│ │ │ └── tst.js
│ │ ├── ES20xxFeatures
│ │ │ ├── ES20xxFeatures.expected
│ │ │ ├── ES20xxFeatures.ql
│ │ │ ├── es2015.js
│ │ │ ├── es2016.js
│ │ │ ├── es2017.js
│ │ │ └── es2018.js
│ │ ├── ESLint
│ │ │ ├── ESLintGlobal.expected
│ │ │ ├── ESLintGlobal.ql
│ │ │ ├── sub
│ │ │ │ ├── .eslintrc.json
│ │ │ │ ├── .eslintrc.yml
│ │ │ │ ├── package.json
│ │ │ │ ├── subsub
│ │ │ │ │ └── tst.js
│ │ │ │ └── tst.js
│ │ │ └── tst.js
│ │ ├── EmailClients
│ │ │ ├── EmailClients.expected
│ │ │ ├── EmailClients.ql
│ │ │ └── tst.js
│ │ ├── Errors
│ │ │ ├── Errors.expected
│ │ │ ├── Errors.ql
│ │ │ ├── options
│ │ │ ├── setters.js
│ │ │ └── tst.js
│ │ ├── Expr
│ │ │ ├── LetExpr.qll
│ │ │ ├── RelationalComparisons.qll
│ │ │ ├── YieldExpr.qll
│ │ │ ├── assignment.js
│ │ │ ├── assignment2.ts
│ │ │ ├── binary.js
│ │ │ ├── comparison.js
│ │ │ ├── computedFieldNames.ts
│ │ │ ├── es2015.js
│ │ │ ├── functions.js
│ │ │ ├── getChild.qll
│ │ │ ├── getContainer.qll
│ │ │ ├── getEnclosingFunction.qll
│ │ │ ├── getEnclosingStmt.qll
│ │ │ ├── getParent.qll
│ │ │ ├── getTopLevel.qll
│ │ │ ├── isPure.qll
│ │ │ ├── legacyletexpr.js
│ │ │ ├── mozextensions.js
│ │ │ ├── nullSensitiveContexts.js
│ │ │ ├── nullSensitiveContexts.qll
│ │ │ ├── options
│ │ │ ├── others.js
│ │ │ ├── primaries.js
│ │ │ ├── stripParens.qll
│ │ │ ├── surrogates.js
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ ├── unary.js
│ │ │ └── update.js
│ │ ├── Extend
│ │ │ ├── ExtendCalls.expected
│ │ │ ├── ExtendCalls.ql
│ │ │ ├── package.json
│ │ │ └── tst.js
│ │ ├── Externs
│ │ │ ├── Point.js
│ │ │ ├── tests.expected
│ │ │ └── tests.ql
│ │ ├── FileTypes
│ │ │ ├── FileTypes.expected
│ │ │ ├── FileTypes.ql
│ │ │ ├── jsTest.js
│ │ │ ├── jsxTest.jsx
│ │ │ ├── mjsTest.mjs
│ │ │ ├── test.htm
│ │ │ ├── test.html
│ │ │ ├── test.json
│ │ │ ├── test.raml
│ │ │ ├── test.vue
│ │ │ ├── test.xhtm
│ │ │ ├── test.xhtml
│ │ │ ├── test.yaml
│ │ │ ├── test.yml
│ │ │ ├── tsTest.ts
│ │ │ └── tsxTest.tsx
│ │ ├── Files
│ │ │ ├── a.js
│ │ │ ├── b
│ │ │ │ └── c.js
│ │ │ ├── binary.js
│ │ │ ├── relativePaths.expected
│ │ │ └── relativePaths.ql
│ │ ├── Flow
│ │ │ ├── ChatListScreen.js
│ │ │ ├── a.js
│ │ │ ├── a2.js
│ │ │ ├── amd.js
│ │ │ ├── amd2.js
│ │ │ ├── amd3.js
│ │ │ ├── amd4.js
│ │ │ ├── amd5.js
│ │ │ ├── arguments.js
│ │ │ ├── b.js
│ │ │ ├── backend.js
│ │ │ ├── c.js
│ │ │ ├── classAccessors.js
│ │ │ ├── d.js
│ │ │ ├── destructuring.js
│ │ │ ├── e.js
│ │ │ ├── es2015.js
│ │ │ ├── esClient.js
│ │ │ ├── esLib.js
│ │ │ ├── f.js
│ │ │ ├── fundecls.js
│ │ │ ├── g.js
│ │ │ ├── globals.html
│ │ │ ├── h.js
│ │ │ ├── h_import.js
│ │ │ ├── implicit-returns.js
│ │ │ ├── import.js
│ │ │ ├── imports.ts
│ │ │ ├── instances.js
│ │ │ ├── jsx.js
│ │ │ ├── m.js
│ │ │ ├── mixed.js
│ │ │ ├── mixins.js
│ │ │ ├── n.js
│ │ │ ├── namespace-reexport.js
│ │ │ ├── nestedImport.js
│ │ │ ├── nodeJsClient.js
│ │ │ ├── nodeJsLib.js
│ │ │ ├── nullish-coalescing-op.ts
│ │ │ ├── o.js
│ │ │ ├── objlit.js
│ │ │ ├── options
│ │ │ ├── reexport-d.js
│ │ │ ├── reexport-mixins.js
│ │ │ ├── reexport-unknown.js
│ │ │ ├── reexport
│ │ │ │ ├── client
│ │ │ │ │ └── src
│ │ │ │ │ │ └── index.js
│ │ │ │ └── lib
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── options
│ │ │ │ │ └── src
│ │ │ │ │ └── utils
│ │ │ │ │ └── util.js
│ │ │ ├── refinements.js
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ ├── ts.ts
│ │ │ ├── ts2.ts
│ │ │ ├── tsTest.ts
│ │ │ ├── tst.js
│ │ │ ├── tst.mjs
│ │ │ ├── tst2.js
│ │ │ └── with.js
│ │ ├── FlowCustomisation
│ │ │ ├── customValues.expected
│ │ │ ├── customValues.ql
│ │ │ └── tst.js
│ │ ├── FlowLabels
│ │ │ ├── DefaultFlowLabels.expected
│ │ │ ├── DefaultFlowLabels.ql
│ │ │ └── tst.js
│ │ ├── Functions
│ │ │ ├── Function.qll
│ │ │ ├── ReturnStmt.qll
│ │ │ ├── ReturnedExpression.qll
│ │ │ ├── arrowfns.js
│ │ │ ├── defaultargs.js
│ │ │ ├── exprclosures.js
│ │ │ ├── generators.js
│ │ │ ├── getArgumentsVariable.qll
│ │ │ ├── getBody.qll
│ │ │ ├── getBodyStmt.qll
│ │ │ ├── getDefaultArguments.qll
│ │ │ ├── getEnclosingStmt.qll
│ │ │ ├── getId.qll
│ │ │ ├── getParameter.qll
│ │ │ ├── getScope.qll
│ │ │ ├── getVariable.qll
│ │ │ ├── hasRestParameter.qll
│ │ │ ├── isGenerator.qll
│ │ │ ├── isRestParameter.qll
│ │ │ ├── options
│ │ │ ├── restparms.js
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ ├── tst.js
│ │ │ └── usesArgumentsObject.qll
│ │ ├── Generators
│ │ │ ├── DataFlow.expected
│ │ │ ├── DataFlow.ql
│ │ │ └── generators.js
│ │ ├── GlobalAccessPaths
│ │ │ ├── GlobalAccessPaths.expected
│ │ │ ├── GlobalAccessPaths.ql
│ │ │ ├── other_ns.js
│ │ │ └── test.js
│ │ ├── HTML
│ │ │ ├── HTMLElementAndHTMLAttribute
│ │ │ │ ├── options
│ │ │ │ ├── printAst.expected
│ │ │ │ ├── printAst.ql
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ └── tst.html
│ │ │ ├── HtmlComments
│ │ │ │ ├── HtmlComment.expected
│ │ │ │ ├── HtmlComment.ql
│ │ │ │ └── tst.html
│ │ │ ├── HtmlScript
│ │ │ │ ├── ScriptElement_getScript.expected
│ │ │ │ ├── ScriptElement_getScript.ql
│ │ │ │ ├── tst.html
│ │ │ │ └── tst.js
│ │ │ └── HtmlText
│ │ │ │ ├── HtmlText.expected
│ │ │ │ ├── HtmlText.html
│ │ │ │ ├── HtmlText.ql
│ │ │ │ └── options
│ │ ├── HtmlSanitizers
│ │ │ ├── HtmlSanitizerCalls.expected
│ │ │ ├── HtmlSanitizerCalls.ql
│ │ │ ├── closure.js
│ │ │ ├── package.json
│ │ │ └── tst.js
│ │ ├── IIFE
│ │ │ ├── IIFE.expected
│ │ │ ├── IIFE.ql
│ │ │ ├── argumentPassing.expected
│ │ │ ├── argumentPassing.ql
│ │ │ ├── es2015.js
│ │ │ └── tst.js
│ │ ├── InterProceduralFlow
│ │ │ ├── DataFlowConfig.qll
│ │ │ ├── a.js
│ │ │ ├── async.js
│ │ │ ├── b.js
│ │ │ ├── callback.js
│ │ │ ├── constructor-calls.js
│ │ │ ├── custom.js
│ │ │ ├── destructuring.js
│ │ │ ├── esClient.js
│ │ │ ├── esLib.js
│ │ │ ├── fake-document.js
│ │ │ ├── global-forin1.js
│ │ │ ├── global-forin2.js
│ │ │ ├── global.js
│ │ │ ├── global2.js
│ │ │ ├── mixedExports.js
│ │ │ ├── mixedExportsClient.js
│ │ │ ├── nodeJsClient.js
│ │ │ ├── nodeJsLib.js
│ │ │ ├── partial.js
│ │ │ ├── promises.js
│ │ │ ├── properties.js
│ │ │ ├── properties2.js
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ ├── tst.js
│ │ │ ├── tst2.js
│ │ │ ├── tst3.js
│ │ │ ├── tst4.js
│ │ │ ├── tst5.mjs
│ │ │ ├── tst6.mjs
│ │ │ └── underscore.js
│ │ ├── JSDoc
│ │ │ ├── NameResolution
│ │ │ │ ├── bar.js
│ │ │ │ ├── closure.js
│ │ │ │ ├── foo.js
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ └── Nodes
│ │ │ │ ├── COPYING
│ │ │ │ ├── JSDocAppliedTypeExpr.qll
│ │ │ │ ├── JSDocArrayTypeExpr.qll
│ │ │ │ ├── JSDocFunctionTypeExpr.qll
│ │ │ │ ├── JSDocNonNullableTypeExpr.qll
│ │ │ │ ├── JSDocNullableTypeExpr.qll
│ │ │ │ ├── JSDocOptionalParameterTypeExpr.qll
│ │ │ │ ├── JSDocRecordTypeExpr.qll
│ │ │ │ ├── JSDocRestParameterTypeExpr.qll
│ │ │ │ ├── JSDocTag.qll
│ │ │ │ ├── JSDocTypeExpr.qll
│ │ │ │ ├── JSDocUnionTypeExpr.qll
│ │ │ │ ├── JSDoc_test.qll
│ │ │ │ ├── ObjectExpr_getDocumentation.qll
│ │ │ │ ├── ParExpr_getDocumentation.qll
│ │ │ │ ├── Parameter_getDocumentation.qll
│ │ │ │ ├── getDocumentation.qll
│ │ │ │ ├── getParameterTag.qll
│ │ │ │ ├── next_token.qll
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ └── tst.js
│ │ ├── JSLint
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ └── tst.js
│ │ ├── JSON
│ │ │ ├── JSONError.expected
│ │ │ ├── JSONError.ql
│ │ │ ├── JSONObject.expected
│ │ │ ├── JSONObject.ql
│ │ │ ├── JSONValue.expected
│ │ │ ├── JSONValue.ql
│ │ │ ├── invalid.json
│ │ │ ├── options
│ │ │ ├── printAst.expected
│ │ │ ├── printAst.ql
│ │ │ └── tst.json
│ │ ├── JSX
│ │ │ ├── printAst.expected
│ │ │ ├── printAst.ql
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ ├── tst.js
│ │ │ └── tstest.tsx
│ │ ├── JsonParsers
│ │ │ ├── JsonParserCalls.expected
│ │ │ ├── JsonParserCalls.ql
│ │ │ ├── angular.js
│ │ │ ├── package.json
│ │ │ └── tst.js
│ │ ├── LabelledBarrierGuards
│ │ │ ├── LabelledBarrierGuards.expected
│ │ │ ├── LabelledBarrierGuards.ql
│ │ │ └── tst.js
│ │ ├── Lines
│ │ │ ├── .gitattributes
│ │ │ ├── IndentChar.expected
│ │ │ ├── IndentChar.ql
│ │ │ ├── Lines.expected
│ │ │ ├── Lines.ql
│ │ │ ├── options
│ │ │ ├── tst1.js
│ │ │ ├── tst2.js
│ │ │ └── tst3.js
│ │ ├── LocalObjects
│ │ │ ├── method-calls.js
│ │ │ ├── options
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ ├── tst.js
│ │ │ └── tst2.ts
│ │ ├── MalformedPackageJson
│ │ │ ├── Test.expected
│ │ │ ├── Test.ql
│ │ │ ├── nullContents
│ │ │ │ └── package.json
│ │ │ └── tst.js
│ │ ├── ModuleImportNodes
│ │ │ ├── CustomImport.expected
│ │ │ ├── CustomImport.ql
│ │ │ ├── ModuleImportNode.qll
│ │ │ ├── ModuleImportNode_getAConstructorInvocation.qll
│ │ │ ├── ModuleImportNode_getAMemberCall.qll
│ │ │ ├── ModuleImportNode_getAMemberInvocation.qll
│ │ │ ├── ModuleImportNode_getAMethodCall.qll
│ │ │ ├── ModuleImportNode_getAPropertyRead.qll
│ │ │ ├── ModuleImportNode_getPath.qll
│ │ │ ├── TSGlobalImport.expected
│ │ │ ├── TSGlobalImport.ql
│ │ │ ├── amd1.js
│ │ │ ├── amd2.js
│ │ │ ├── client1.ts
│ │ │ ├── client2.ts
│ │ │ ├── client2_lazy.ts
│ │ │ ├── customImport.js
│ │ │ ├── declare-module-client.ts
│ │ │ ├── declare-module-client2.ts
│ │ │ ├── declare-module.d.ts
│ │ │ ├── decls.ts
│ │ │ ├── destructuringES6.js
│ │ │ ├── destructuringRequire.js
│ │ │ ├── framework1.d.ts
│ │ │ ├── instanceThroughDefaultImport.js
│ │ │ ├── instanceThroughNamespaceImport.js
│ │ │ ├── instanceThroughRequire.js
│ │ │ ├── moduleImport.qll
│ │ │ ├── moduleImportProp.qll
│ │ │ ├── moduleMember.qll
│ │ │ ├── moduleUses.js
│ │ │ ├── process.js
│ │ │ ├── process2.js
│ │ │ ├── tests.expected
│ │ │ └── tests.ql
│ │ ├── ModuleTypes
│ │ │ ├── commonjs.cjs
│ │ │ ├── commonjsPackage
│ │ │ │ ├── innermjs.mjs
│ │ │ │ ├── package.json
│ │ │ │ └── tst.js
│ │ │ ├── import.js
│ │ │ ├── mjs.mjs
│ │ │ ├── modulePackage
│ │ │ │ ├── package.json
│ │ │ │ ├── subdir
│ │ │ │ │ ├── innercjs.cjs
│ │ │ │ │ └── subfile.js
│ │ │ │ └── tst.js
│ │ │ ├── require.js
│ │ │ ├── script.js
│ │ │ ├── tests.expected
│ │ │ └── tests.ql
│ │ ├── Modules
│ │ │ ├── a.js
│ │ │ ├── b.js
│ │ │ ├── d.js
│ │ │ ├── e.js
│ │ │ ├── es2015_require.js
│ │ │ ├── export-in-mjs.mjs
│ │ │ ├── exports.js
│ │ │ ├── f.ts
│ │ │ ├── g.ts
│ │ │ ├── import-in-mjs.mjs
│ │ │ ├── import-ts-with-js-extension.ts
│ │ │ ├── importcss.js
│ │ │ ├── importmeta.js
│ │ │ ├── m
│ │ │ │ ├── c.js
│ │ │ │ └── options
│ │ │ ├── options
│ │ │ ├── reExportNamespace.js
│ │ │ ├── reExportNamespaceClient.js
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ ├── tst.html
│ │ │ └── unresolved.js
│ │ ├── NPM
│ │ │ ├── src
│ │ │ │ ├── index.js
│ │ │ │ ├── lib
│ │ │ │ │ ├── tst.js
│ │ │ │ │ └── tst2.js
│ │ │ │ ├── node_modules
│ │ │ │ │ ├── a
│ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── b
│ │ │ │ │ │ ├── lib
│ │ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ │ └── util.ts
│ │ │ │ │ │ └── package.json
│ │ │ │ │ ├── c
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ └── src
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── d
│ │ │ │ │ │ ├── main.js
│ │ │ │ │ │ └── package.json
│ │ │ │ │ ├── nested
│ │ │ │ │ │ ├── node_modules
│ │ │ │ │ │ │ └── a
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ └── tst3.js
│ │ │ │ │ ├── third-party-module
│ │ │ │ │ │ ├── fancy.js
│ │ │ │ │ │ └── package.json
│ │ │ │ │ └── tst2.js
│ │ │ │ ├── package.json
│ │ │ │ ├── tst.js
│ │ │ │ └── tst2.js
│ │ │ ├── tests.expected
│ │ │ └── tests.ql
│ │ ├── NodeJS
│ │ │ ├── a.js
│ │ │ ├── b.js
│ │ │ ├── d.js
│ │ │ ├── e.js
│ │ │ ├── f.js
│ │ │ ├── g.js
│ │ │ ├── index.js
│ │ │ ├── mjs-files
│ │ │ │ ├── createRequire.mjs
│ │ │ │ ├── depend-on-me.js
│ │ │ │ ├── depend-on-me.mjs
│ │ │ │ ├── import-from-js.js
│ │ │ │ ├── import-from-mjs.mjs
│ │ │ │ ├── require-from-js.js
│ │ │ │ └── require-from-mjs.mjs
│ │ │ ├── reexport
│ │ │ │ ├── a.js
│ │ │ │ └── b.js
│ │ │ ├── sub
│ │ │ │ ├── c.js
│ │ │ │ └── f.js
│ │ │ ├── tests.expected
│ │ │ └── tests.ql
│ │ ├── Nodes
│ │ │ ├── globalObjectRef.expected
│ │ │ ├── globalObjectRef.ql
│ │ │ ├── globalVarRef.expected
│ │ │ ├── globalVarRef.ql
│ │ │ ├── tst.js
│ │ │ ├── tst2.js
│ │ │ └── tst3.js
│ │ ├── OptionalChaining
│ │ │ ├── OptionalChainRoot.expected
│ │ │ ├── OptionalChainRoot.ql
│ │ │ ├── OptionalUse.expected
│ │ │ ├── OptionalUse.ql
│ │ │ ├── ShortCircuiting.expected
│ │ │ ├── ShortCircuiting.ql
│ │ │ ├── options
│ │ │ ├── short-circuiting-typescript.ts
│ │ │ ├── short-circuiting.js
│ │ │ ├── tst-typescript.ts
│ │ │ └── tst.js
│ │ ├── PackageExports
│ │ │ ├── absent_main
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ ├── esmodules
│ │ │ │ ├── main.js
│ │ │ │ └── package.json
│ │ │ ├── index.js
│ │ │ ├── lib1
│ │ │ │ ├── bar.js
│ │ │ │ ├── baz.js
│ │ │ │ ├── foo.js
│ │ │ │ ├── index.js
│ │ │ │ ├── main.js
│ │ │ │ ├── package.json
│ │ │ │ ├── reexport
│ │ │ │ │ ├── a.js
│ │ │ │ │ └── b.js
│ │ │ │ └── sublib
│ │ │ │ │ ├── package.json
│ │ │ │ │ └── sublib.js
│ │ │ ├── tests.expected
│ │ │ └── tests.ql
│ │ ├── PartialInvokeNode
│ │ │ ├── closure.js
│ │ │ ├── test.expected
│ │ │ ├── test.ql
│ │ │ └── tst.js
│ │ ├── Patterns
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ └── tst.js
│ │ ├── Portals
│ │ │ ├── PortalEntry.expected
│ │ │ ├── PortalEntry.ql
│ │ │ ├── PortalExit.expected
│ │ │ ├── PortalExit.ql
│ │ │ └── src
│ │ │ │ ├── bluebird
│ │ │ │ ├── index.js
│ │ │ │ ├── package.json
│ │ │ │ └── tst.js
│ │ │ │ ├── cyclic
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ │ ├── m1
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ │ ├── m2
│ │ │ │ ├── main.js
│ │ │ │ └── package.json
│ │ │ │ ├── m3
│ │ │ │ ├── index.js
│ │ │ │ ├── package.json
│ │ │ │ ├── tst.js
│ │ │ │ ├── tst2.js
│ │ │ │ └── tst3.js
│ │ │ │ ├── m4
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ │ │ └── m5
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ ├── PostDominance
│ │ │ ├── DefCallExample.expected
│ │ │ ├── DefCallExample.ql
│ │ │ ├── PostDominance.expected
│ │ │ ├── PostDominance.ql
│ │ │ └── tst.js
│ │ ├── Promises
│ │ │ ├── AdditionalPromises.expected
│ │ │ ├── AdditionalPromises.ql
│ │ │ ├── PromiseDefinition.qll
│ │ │ ├── PromiseDefinition_getACatchHandler.qll
│ │ │ ├── PromiseDefinition_getAFinallyHandler.qll
│ │ │ ├── PromiseDefinition_getARejectHandler.qll
│ │ │ ├── PromiseDefinition_getAResolveHandler.qll
│ │ │ ├── PromiseDefinition_getExecutor.qll
│ │ │ ├── PromiseDefinition_getRejectParameter.qll
│ │ │ ├── PromiseDefinition_getResolveParameter.qll
│ │ │ ├── ResolvedPromiseDefinition.qll
│ │ │ ├── additional-promises.js
│ │ │ ├── flow.js
│ │ │ ├── flow.qll
│ │ │ ├── flow2.js
│ │ │ ├── interflow.js
│ │ │ ├── options
│ │ │ ├── promises.js
│ │ │ ├── tests.expected
│ │ │ └── tests.ql
│ │ ├── PropWrite
│ │ │ ├── PropWrite.qll
│ │ │ ├── PropWriteBase.qll
│ │ │ ├── PropWritePropName.qll
│ │ │ ├── PropWriteRhs.qll
│ │ │ ├── classes.ts
│ │ │ ├── getAPropertyRead.qll
│ │ │ ├── getAPropertyRead2.qll
│ │ │ ├── getAPropertyReference.qll
│ │ │ ├── getAPropertyReference2.qll
│ │ │ ├── getAPropertySource.qll
│ │ │ ├── getAPropertyWrite.qll
│ │ │ ├── getAPropertyWrite2.qll
│ │ │ ├── hasPropertyWrite.qll
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ └── tst.js
│ │ ├── RangeAnalysis
│ │ │ ├── DeadBranch.expected
│ │ │ ├── DeadBranch.ql
│ │ │ ├── constants.js
│ │ │ ├── expressions.js
│ │ │ ├── length.js
│ │ │ ├── loop.js
│ │ │ ├── plus.js
│ │ │ └── tst.js
│ │ ├── Receiver
│ │ │ ├── GetReceiver.expected
│ │ │ ├── GetReceiver.ql
│ │ │ └── tst.js
│ │ ├── RecursionPrevention
│ │ │ ├── SourceNodeFlowsTo.expected
│ │ │ ├── SourceNodeFlowsTo.ql
│ │ │ └── tst.js
│ │ ├── Refinements
│ │ │ ├── Refinement.expected
│ │ │ ├── Refinement.ql
│ │ │ ├── Refinement_getRefinedVar.expected
│ │ │ ├── Refinement_getRefinedVar.ql
│ │ │ └── tst.js
│ │ ├── RegExp
│ │ │ ├── Bounds
│ │ │ │ ├── Bounds.expected
│ │ │ │ ├── Bounds.ql
│ │ │ │ └── tst.js
│ │ │ ├── CharacterRange
│ │ │ │ ├── CharaterRange.expected
│ │ │ │ ├── CharaterRange.ql
│ │ │ │ └── tst.js
│ │ │ ├── EscapeInString
│ │ │ │ ├── EscapeInString.expected
│ │ │ │ ├── EscapeInString.ql
│ │ │ │ └── tst.js
│ │ │ ├── MissingUnicodeFlag
│ │ │ │ ├── MissingUnicodeFlag.expected
│ │ │ │ ├── MissingUnicodeFlag.ql
│ │ │ │ └── tst.js
│ │ │ └── predecessors_and_successors
│ │ │ │ ├── getPredecessor.expected
│ │ │ │ ├── getPredecessor.ql
│ │ │ │ ├── getSuccessor.expected
│ │ │ │ ├── getSuccessor.ql
│ │ │ │ └── tst.js
│ │ ├── RemoteFlowSources
│ │ │ ├── RemoteFlowSources.expected
│ │ │ ├── RemoteFlowSources.ql
│ │ │ ├── codeql-javascript-remote-flow-sources.json
│ │ │ └── tst.js
│ │ ├── SSA
│ │ │ ├── GetRhsNode
│ │ │ │ ├── GetRhsNode.expected
│ │ │ │ ├── GetRhsNode.ql
│ │ │ │ └── tst.js
│ │ │ ├── SSADefinition
│ │ │ │ ├── SSADefinition.expected
│ │ │ │ ├── SSADefinition.ql
│ │ │ │ └── tst.js
│ │ │ └── StressTest
│ │ │ │ ├── tst.expected
│ │ │ │ ├── tst.js
│ │ │ │ └── tst.ql
│ │ ├── Security
│ │ │ ├── CWE-338
│ │ │ │ ├── InsecureRandomnessSource.expected
│ │ │ │ ├── InsecureRandomnessSource.ql
│ │ │ │ └── tst.js
│ │ │ └── heuristics
│ │ │ │ ├── HeuristicSink.expected
│ │ │ │ ├── HeuristicSink.ql
│ │ │ │ ├── HeuristicSource.expected
│ │ │ │ ├── HeuristicSource.ql
│ │ │ │ ├── sinks.js
│ │ │ │ └── sources.js
│ │ ├── SensitiveActions
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ └── tst.js
│ │ ├── SourceMaps
│ │ │ ├── SourceMaps.expected
│ │ │ ├── SourceMaps.ql
│ │ │ └── tst.js
│ │ ├── SpreadRestProperties
│ │ │ ├── RestPropertyPatterns.expected
│ │ │ ├── RestPropertyPatterns.ql
│ │ │ ├── SpreadProperties.expected
│ │ │ ├── SpreadProperties.ql
│ │ │ └── tst.js
│ │ ├── Strictness
│ │ │ ├── a.js
│ │ │ ├── b.js
│ │ │ ├── c.js
│ │ │ ├── strictness.expected
│ │ │ └── strictness.ql
│ │ ├── StringConcatenation
│ │ │ ├── ClassContainsTwo.expected
│ │ │ ├── ClassContainsTwo.ql
│ │ │ ├── ContainsTwo.expected
│ │ │ ├── ContainsTwo.ql
│ │ │ ├── StringOps.expected
│ │ │ ├── StringOps.ql
│ │ │ ├── closure.js
│ │ │ ├── html-concat.js
│ │ │ └── tst.js
│ │ ├── StringOps
│ │ │ ├── EndsWith
│ │ │ │ ├── EndsWith.expected
│ │ │ │ ├── EndsWith.ql
│ │ │ │ └── tst.js
│ │ │ ├── Includes
│ │ │ │ ├── Includes.expected
│ │ │ │ ├── Includes.ql
│ │ │ │ └── tst.js
│ │ │ ├── RegExpTest
│ │ │ │ ├── RegExpTest.expected
│ │ │ │ ├── RegExpTest.ql
│ │ │ │ └── tst.js
│ │ │ └── StartsWith
│ │ │ │ ├── StartsWith.expected
│ │ │ │ ├── StartsWith.ql
│ │ │ │ └── tst.js
│ │ ├── TaintBarriers
│ │ │ ├── ExampleConfiguration.qll
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ └── tst.js
│ │ ├── TaintTracking
│ │ │ ├── BasicTaintTracking.expected
│ │ │ ├── BasicTaintTracking.ql
│ │ │ ├── DataFlowTracking.expected
│ │ │ ├── DataFlowTracking.ql
│ │ │ ├── access-path-sanitizer.js
│ │ │ ├── addexpr.js
│ │ │ ├── advanced-callgraph.js
│ │ │ ├── array-callback.js
│ │ │ ├── array-mutation.js
│ │ │ ├── booleanOps.js
│ │ │ ├── bound-function.js
│ │ │ ├── callbacks.js
│ │ │ ├── capture-flow.js
│ │ │ ├── captured-sanitizer.js
│ │ │ ├── closure.js
│ │ │ ├── constructor-calls.js
│ │ │ ├── destruct.js
│ │ │ ├── exceptions.js
│ │ │ ├── exportedReactComponent.jsx
│ │ │ ├── getters-and-setters.js
│ │ │ ├── importedReactComponent.jsx
│ │ │ ├── indexOf.js
│ │ │ ├── json-stringify.js
│ │ │ ├── nested-props.js
│ │ │ ├── object-bypass-sanitizer.js
│ │ │ ├── partialCalls.js
│ │ │ ├── promise.js
│ │ │ ├── rxjs.js
│ │ │ ├── sanitizer-function.js
│ │ │ ├── sanitizer-guards.js
│ │ │ ├── spread.js
│ │ │ ├── static-capture-groups.js
│ │ │ ├── string-replace.js
│ │ │ ├── thisAssignments.js
│ │ │ ├── tst.js
│ │ │ └── xml.js
│ │ ├── Templates
│ │ │ ├── folding.js
│ │ │ ├── templates-revised.js
│ │ │ ├── templates.js
│ │ │ ├── tests.expected
│ │ │ └── tests.ql
│ │ ├── ThisExpr
│ │ │ ├── ThisExpr_analyzed.expected
│ │ │ ├── ThisExpr_analyzed.ql
│ │ │ ├── getBasicBlock.expected
│ │ │ ├── getBasicBlock.ql
│ │ │ ├── getBinder.expected
│ │ │ ├── getBinder.ql
│ │ │ ├── module-exports.js
│ │ │ ├── options
│ │ │ └── tst.js
│ │ ├── Tokens
│ │ │ ├── Tokens.expected
│ │ │ ├── Tokens.ql
│ │ │ └── tst.js
│ │ ├── TorrentLibraries
│ │ │ ├── ParsedTorrent.expected
│ │ │ ├── ParsedTorrent.ql
│ │ │ ├── UserControlledTorrentInfo.expected
│ │ │ ├── UserControlledTorrentInfo.ql
│ │ │ ├── parsedTorrentRef.expected
│ │ │ ├── parsedTorrentRef.ql
│ │ │ └── tst.js
│ │ ├── TrailingFunctionCommas
│ │ │ ├── FunctionWithTrailingComma.expected
│ │ │ ├── FunctionWithTrailingComma.ql
│ │ │ ├── InvocationWithTrailingComma.expected
│ │ │ ├── InvocationWithTrailingComma.ql
│ │ │ └── tst.js
│ │ ├── TypeAnnotations
│ │ │ ├── JSDoc
│ │ │ │ ├── JSDocTypeAnnotations.expected
│ │ │ │ ├── JSDocTypeAnnotations.ql
│ │ │ │ └── tst.js
│ │ │ └── TSUnresolvedQualifiedName
│ │ │ │ ├── QualifiedNames.expected
│ │ │ │ ├── QualifiedNames.ql
│ │ │ │ ├── node_modules
│ │ │ │ └── @types
│ │ │ │ │ └── resolved
│ │ │ │ │ └── index.d.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ ├── TypeInference
│ │ │ ├── AnalyzedModule
│ │ │ │ ├── amd.js
│ │ │ │ ├── amd2.js
│ │ │ │ ├── amd3.js
│ │ │ │ ├── commonjs.js
│ │ │ │ ├── commonjs2.js
│ │ │ │ ├── es6.js
│ │ │ │ ├── m.js
│ │ │ │ ├── tests.expected
│ │ │ │ └── tests.ql
│ │ │ ├── CallWithAnalyzedReturnFlow
│ │ │ │ ├── CallWithAnalyzedReturnFlow.expected
│ │ │ │ ├── CallWithAnalyzedReturnFlow.ql
│ │ │ │ ├── CalleeNodeValue.expected
│ │ │ │ ├── CalleeNodeValue.ql
│ │ │ │ ├── InvokeNodeValue.expected
│ │ │ │ ├── InvokeNodeValue.ql
│ │ │ │ ├── myModule.js
│ │ │ │ └── tst.js
│ │ │ ├── FunctionWithAnalyzedParameters
│ │ │ │ ├── FunctionWithAnalyzedParameters.expected
│ │ │ │ ├── FunctionWithAnalyzedParameters.ql
│ │ │ │ ├── FunctionWithAnalyzedParameters_argumentPassing.expected
│ │ │ │ ├── FunctionWithAnalyzedParameters_argumentPassing.ql
│ │ │ │ ├── FunctionWithAnalyzedParameters_inference.expected
│ │ │ │ ├── FunctionWithAnalyzedParameters_inference.ql
│ │ │ │ └── tst.js
│ │ │ ├── LocalFunction
│ │ │ │ ├── LocalFunction.expected
│ │ │ │ ├── LocalFunction.js
│ │ │ │ ├── LocalFunction.ql
│ │ │ │ └── LocalFunction_arguments.js
│ │ │ ├── MixedAnalyzedParametersAndAnalyzedReturnFlow
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ └── tst.js
│ │ │ ├── NullishCoalescing
│ │ │ │ ├── options
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ └── tst.js
│ │ │ └── OptionalChaining
│ │ │ │ ├── options
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ └── tst.js
│ │ ├── TypeScript
│ │ │ ├── AbstractMembers
│ │ │ │ ├── AbstractClasses.expected
│ │ │ │ ├── AbstractClasses.ql
│ │ │ │ ├── IsAbstract.expected
│ │ │ │ ├── IsAbstract.ql
│ │ │ │ ├── UnreachableMembers.expected
│ │ │ │ ├── UnreachableMembers.ql
│ │ │ │ └── tst.ts
│ │ │ ├── Ambients
│ │ │ │ ├── AmbientCFG.expected
│ │ │ │ ├── AmbientCFG.ql
│ │ │ │ ├── Ambients.expected
│ │ │ │ ├── Ambients.ql
│ │ │ │ └── tst.ts
│ │ │ ├── ArrayTypes
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ ├── BaseTypes
│ │ │ │ ├── BaseTypes.expected
│ │ │ │ ├── BaseTypes.ql
│ │ │ │ ├── SelfTypes.expected
│ │ │ │ ├── SelfTypes.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ ├── BigInts
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ ├── BindingPattern
│ │ │ │ ├── VarDecl.expected
│ │ │ │ ├── VarDecl.ql
│ │ │ │ └── tst.tsx
│ │ │ ├── CallGraph
│ │ │ │ ├── CallGraph.expected
│ │ │ │ ├── CallGraph.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ ├── CallResolution
│ │ │ │ ├── CallResolution.expected
│ │ │ │ ├── CallResolution.ql
│ │ │ │ ├── CallTarget.expected
│ │ │ │ ├── CallTarget.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ ├── CallSignatureTypes
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ ├── CallSignatures
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ └── tst.ts
│ │ │ ├── CompiledOutput
│ │ │ │ ├── index.js
│ │ │ │ ├── index.ts
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── ConstKeyword
│ │ │ │ ├── ConstKeyword.expected
│ │ │ │ ├── ConstKeyword.ql
│ │ │ │ └── tst.ts
│ │ │ ├── DeclarationFiles
│ │ │ │ ├── ReferenceImports.expected
│ │ │ │ ├── ReferenceImports.ql
│ │ │ │ ├── TypeResolution.expected
│ │ │ │ ├── TypeResolution.ql
│ │ │ │ ├── client1.ts
│ │ │ │ ├── client2.ts
│ │ │ │ ├── client2_lazy.ts
│ │ │ │ ├── declare-module-client.ts
│ │ │ │ ├── declare-module-client2.ts
│ │ │ │ ├── declare-module.d.ts
│ │ │ │ ├── framework1.d.ts
│ │ │ │ ├── node_modules
│ │ │ │ │ └── @types
│ │ │ │ │ │ └── framework2
│ │ │ │ │ │ └── index.d.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── DeclareInClass
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ └── tst.ts
│ │ │ ├── DynamicImport
│ │ │ │ ├── DynamicImport.expected
│ │ │ │ ├── DynamicImport.ql
│ │ │ │ └── tst.ts
│ │ │ ├── EmbeddedInScript
│ │ │ │ ├── Test.expected
│ │ │ │ ├── Test.ql
│ │ │ │ ├── htmlfile.html
│ │ │ │ ├── other.ts
│ │ │ │ ├── test.vue
│ │ │ │ └── tsconfig.json
│ │ │ ├── Enums
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ └── tst.ts
│ │ │ ├── EscapedText
│ │ │ │ ├── IdentifierText.expected
│ │ │ │ ├── IdentifierText.ql
│ │ │ │ ├── StringLiteralText.expected
│ │ │ │ ├── StringLiteralText.ql
│ │ │ │ └── tst.ts
│ │ │ ├── ExpansiveTypes
│ │ │ │ ├── Types.expected
│ │ │ │ ├── Types.ql
│ │ │ │ ├── dummy.ts
│ │ │ │ ├── expansive_by_inference.ts
│ │ │ │ ├── expansive_class.ts
│ │ │ │ ├── expansive_object_literal.ts
│ │ │ │ ├── expansive_signature.ts
│ │ │ │ ├── leading_into_expansion.ts
│ │ │ │ ├── mutual.ts
│ │ │ │ ├── mutual_multigraph.ts
│ │ │ │ ├── shared_non_expansive.ts
│ │ │ │ ├── simple.ts
│ │ │ │ ├── through_non_expansive.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── used_from_expansion.ts
│ │ │ ├── ExportAsNamespace
│ │ │ │ ├── ExportAsNamespace.expected
│ │ │ │ ├── ExportAsNamespace.ql
│ │ │ │ └── tst.d.ts
│ │ │ ├── ExportNamespaceSpecifier
│ │ │ │ ├── client.ts
│ │ │ │ ├── lib.ts
│ │ │ │ ├── reexport.ts
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── ExternalBaseTypes
│ │ │ │ ├── BaseTypes.expected
│ │ │ │ ├── BaseTypes.ql
│ │ │ │ ├── node_modules
│ │ │ │ │ └── @types
│ │ │ │ │ │ └── mylib
│ │ │ │ │ │ └── index.d.ts
│ │ │ │ ├── options
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ ├── ExternalModules
│ │ │ │ ├── ExternalModules.expected
│ │ │ │ ├── ExternalModules.ql
│ │ │ │ ├── Namespaces.expected
│ │ │ │ ├── Namespaces.ql
│ │ │ │ └── tst.ts
│ │ │ ├── ExternalTypes
│ │ │ │ ├── augmentation.ts
│ │ │ │ ├── client_esmodule.ts
│ │ │ │ ├── client_esmodule_extra.ts
│ │ │ │ ├── client_legacy_global.ts
│ │ │ │ ├── client_legacy_module.ts
│ │ │ │ ├── client_modern_global.ts
│ │ │ │ ├── client_modern_module.ts
│ │ │ │ ├── node_modules
│ │ │ │ │ └── @types
│ │ │ │ │ │ ├── esmodule
│ │ │ │ │ │ ├── index.d.ts
│ │ │ │ │ │ ├── otherfile.d.ts
│ │ │ │ │ │ └── util
│ │ │ │ │ │ │ ├── extra.d.ts
│ │ │ │ │ │ │ └── index.d.ts
│ │ │ │ │ │ ├── legacy
│ │ │ │ │ │ └── index.d.ts
│ │ │ │ │ │ └── modern
│ │ │ │ │ │ └── index.d.ts
│ │ │ │ ├── options
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ └── tsconfig.json
│ │ │ ├── HasQualifiedNameFallback
│ │ │ │ ├── Test.expected
│ │ │ │ ├── Test.ql
│ │ │ │ ├── relative.ts
│ │ │ │ └── tst.ts
│ │ │ ├── HasUnderlyingType
│ │ │ │ ├── HasUnderlyingType.expected
│ │ │ │ ├── HasUnderlyingType.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ ├── HeritageClauses
│ │ │ │ ├── GetSuperClass.expected
│ │ │ │ ├── GetSuperClass.ql
│ │ │ │ ├── GetSuperInterface.expected
│ │ │ │ ├── GetSuperInterface.ql
│ │ │ │ ├── Unreachable.expected
│ │ │ │ ├── Unreachable.ql
│ │ │ │ └── tst.ts
│ │ │ ├── ImportEquals
│ │ │ │ ├── esDefaultExport.ts
│ │ │ │ ├── esNamedExports.ts
│ │ │ │ ├── nodeFullExport.ts
│ │ │ │ ├── nodeNamedExport.ts
│ │ │ │ ├── taintSource.ts
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ └── tst.ts
│ │ │ ├── ImportMeta
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ ├── ImportOutDir
│ │ │ │ ├── nonUniqueInclude
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── src
│ │ │ │ │ │ └── foo.ts
│ │ │ │ │ ├── src2
│ │ │ │ │ │ └── foo.ts
│ │ │ │ │ └── tsconfig.json
│ │ │ │ ├── options
│ │ │ │ ├── rootDir
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── src
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── tsconfig.json
│ │ │ │ ├── rootDirIsDot
│ │ │ │ │ ├── foo.ts
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── tsconfig.json
│ │ │ │ ├── simpleOutDir
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── src
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── tsconfig.json
│ │ │ │ ├── slashAndExtension
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── tsconfig.json
│ │ │ │ ├── tests.expected
│ │ │ │ └── tests.ql
│ │ │ ├── ImportOwnPackage
│ │ │ │ ├── TypeNames.expected
│ │ │ │ ├── TypeNames.ql
│ │ │ │ ├── bar
│ │ │ │ │ └── client.ts
│ │ │ │ ├── foo
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── package.json
│ │ │ │ └── tsconfig.json
│ │ │ ├── InfiniteTypes
│ │ │ │ ├── recursiveMappedType.ts
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ └── tsconfig.json
│ │ │ ├── LexicalTypes
│ │ │ │ ├── TypeReferences.expected
│ │ │ │ ├── TypeReferences.ql
│ │ │ │ ├── bar.ts
│ │ │ │ ├── dummy.ts
│ │ │ │ ├── foo.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── LiteralTypes
│ │ │ │ ├── FloatLiteralTypes.expected
│ │ │ │ ├── FloatLiteralTypes.ql
│ │ │ │ ├── IntLiteralTypes.expected
│ │ │ │ ├── IntLiteralTypes.ql
│ │ │ │ ├── LiteralTypes.expected
│ │ │ │ ├── LiteralTypes.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ ├── LocalTypeResolution
│ │ │ │ ├── exports.ts
│ │ │ │ ├── lib.ts
│ │ │ │ ├── namespaceDecls.ts
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ ├── tst.ts
│ │ │ │ └── typedecls.ts
│ │ │ ├── Modifiers
│ │ │ │ ├── options
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ └── tst.ts
│ │ │ ├── Namespaces
│ │ │ │ ├── CheckBindings.expected
│ │ │ │ ├── CheckBindings.ql
│ │ │ │ ├── CheckGlobals.expected
│ │ │ │ ├── CheckGlobals.ql
│ │ │ │ ├── exports.expected
│ │ │ │ ├── exports.ql
│ │ │ │ └── tst.ts
│ │ │ ├── NestedLiteral
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ ├── NonNullAssertion
│ │ │ │ ├── NonNullAssertions.expected
│ │ │ │ ├── NonNullAssertions.ql
│ │ │ │ └── tst.ts
│ │ │ ├── Nullability
│ │ │ │ ├── Types.expected
│ │ │ │ ├── Types.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ ├── OptionalParameters
│ │ │ │ ├── OptionalParams.expected
│ │ │ │ ├── OptionalParams.ql
│ │ │ │ ├── tst.ts
│ │ │ │ └── withDefault.ts
│ │ │ ├── Overloading
│ │ │ │ ├── OverloadSignatures.expected
│ │ │ │ ├── OverloadSignatures.ql
│ │ │ │ └── tst.ts
│ │ │ ├── PathMapping
│ │ │ │ ├── Imports.expected
│ │ │ │ ├── Imports.ql
│ │ │ │ ├── src
│ │ │ │ │ └── lib
│ │ │ │ │ │ └── foo.ts
│ │ │ │ ├── test
│ │ │ │ │ └── test_foo.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── PrivateFields
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ └── tst.ts
│ │ │ ├── Project
│ │ │ │ ├── Files.expected
│ │ │ │ ├── Files.ql
│ │ │ │ ├── bar.ts
│ │ │ │ ├── foo.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── PromiseType
│ │ │ │ ├── DefinitelyTyped-LICENSE
│ │ │ │ ├── PromiseType.expected
│ │ │ │ ├── PromiseType.ql
│ │ │ │ ├── QDeferred.expected
│ │ │ │ ├── QDeferred.ql
│ │ │ │ ├── es6-promise-LICENSE
│ │ │ │ ├── es6-promise.d.ts
│ │ │ │ ├── jquery.d.ts
│ │ │ │ ├── node_modules
│ │ │ │ │ └── @types
│ │ │ │ │ │ └── q
│ │ │ │ │ │ └── index.d.ts
│ │ │ │ ├── promise-LICENSE
│ │ │ │ ├── promise.d.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ ├── QualifiedNameResolution
│ │ │ │ ├── NamespaceQualifiedNames.expected
│ │ │ │ ├── Namespaces.expected
│ │ │ │ ├── Namespaces.ql
│ │ │ │ ├── ResolveNamespace.expected
│ │ │ │ ├── ResolveNamespace.ql
│ │ │ │ ├── ResolveTypeName.expected
│ │ │ │ ├── ResolveTypeName.ql
│ │ │ │ ├── ambient.ts
│ │ │ │ ├── dummy.ts
│ │ │ │ ├── enums.ts
│ │ │ │ ├── export-class-client-renamed.ts
│ │ │ │ ├── export-class-client.ts
│ │ │ │ ├── export-class.ts
│ │ │ │ ├── export-default-type-client.ts
│ │ │ │ ├── export-default-type.ts
│ │ │ │ ├── export-qualified-client.ts
│ │ │ │ ├── export-qualified.ts
│ │ │ │ ├── export-specifiers-client.ts
│ │ │ │ ├── export-specifiers.ts
│ │ │ │ ├── global.ts
│ │ │ │ ├── import-in-namespace.ts
│ │ │ │ ├── namespaces-client.ts
│ │ │ │ ├── namespaces.ts
│ │ │ │ ├── otherlib.ts
│ │ │ │ ├── reexport-all-client.ts
│ │ │ │ ├── reexport-all.ts
│ │ │ │ ├── reexport-named-client.ts
│ │ │ │ ├── reexport-named.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── RegressionTests
│ │ │ │ ├── AllowJs
│ │ │ │ │ ├── main.ts
│ │ │ │ │ ├── test.expected
│ │ │ │ │ ├── test.ql
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── tst.js
│ │ │ │ ├── ArrowReturn
│ │ │ │ │ ├── options
│ │ │ │ │ ├── test.expected
│ │ │ │ │ ├── test.ql
│ │ │ │ │ └── tst.ts
│ │ │ │ ├── DefaultExports
│ │ │ │ │ ├── exportClass.ts
│ │ │ │ │ ├── exportFunction.ts
│ │ │ │ │ ├── test.expected
│ │ │ │ │ └── test.ql
│ │ │ │ ├── EmptyName
│ │ │ │ │ ├── test.expected
│ │ │ │ │ ├── test.ql
│ │ │ │ │ ├── test.ts
│ │ │ │ │ └── tsconfig.json
│ │ │ │ ├── ExportEqualsExpr
│ │ │ │ │ ├── extern.d.ts
│ │ │ │ │ ├── test.expected
│ │ │ │ │ ├── test.ql
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── tst.ts
│ │ │ │ ├── ExportedClassExpr
│ │ │ │ │ └── exportFunction.ts
│ │ │ │ ├── GlobalThis
│ │ │ │ │ ├── test.expected
│ │ │ │ │ ├── test.ql
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── tst.ts
│ │ │ │ ├── ImportSelf
│ │ │ │ │ ├── bar.ts
│ │ │ │ │ ├── node_modules
│ │ │ │ │ │ └── @blah
│ │ │ │ │ │ │ └── foo
│ │ │ │ │ │ │ └── index.d.ts
│ │ │ │ │ ├── test.expected
│ │ │ │ │ ├── test.ql
│ │ │ │ │ └── tsconfig.json
│ │ │ │ ├── MissingTypeRoot
│ │ │ │ │ ├── test.expected
│ │ │ │ │ ├── test.ql
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── tst.ts
│ │ │ │ ├── NegativeNumberType
│ │ │ │ │ ├── test.expected
│ │ │ │ │ ├── test.ql
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── tst.ts
│ │ │ │ ├── PartialFunctionArgs
│ │ │ │ │ ├── Test.expected
│ │ │ │ │ ├── Test.ql
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── tst.ts
│ │ │ │ ├── RecursiveTypeAlias
│ │ │ │ │ ├── Test.expected
│ │ │ │ │ ├── Test.ql
│ │ │ │ │ ├── test.ts
│ │ │ │ │ └── tsconfig.json
│ │ │ │ ├── SemicolonInName
│ │ │ │ │ ├── test.expected
│ │ │ │ │ ├── test.ql
│ │ │ │ │ ├── test.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── tst.ts
│ │ │ │ ├── TraceResolution
│ │ │ │ │ ├── node_modules
│ │ │ │ │ │ └── @types
│ │ │ │ │ │ │ └── foo
│ │ │ │ │ │ │ └── index.d.ts
│ │ │ │ │ ├── test.expected
│ │ │ │ │ ├── test.ql
│ │ │ │ │ ├── test.ts
│ │ │ │ │ └── tsconfig.json
│ │ │ │ └── TypeRootFile
│ │ │ │ │ ├── test.expected
│ │ │ │ │ ├── test.ql
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ ├── tst.ts
│ │ │ │ │ └── typeroot.d.ts
│ │ │ ├── SyntaxErrors
│ │ │ │ ├── SyntaxErrors.expected
│ │ │ │ ├── SyntaxErrors.ql
│ │ │ │ ├── jsdocTypes.ts
│ │ │ │ └── options
│ │ │ ├── TemplateLiteralTypes
│ │ │ │ ├── templateLiteralTypes.ts
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── Tokens
│ │ │ │ ├── PrettyPrintTokens.expected
│ │ │ │ ├── PrettyPrintTokens.ql
│ │ │ │ ├── greaterThanTS.ts
│ │ │ │ ├── mixed.ts
│ │ │ │ ├── regexpTS.ts
│ │ │ │ ├── templateLiteralsJS.js
│ │ │ │ └── templateLiteralsTS.ts
│ │ │ ├── TypeAliases
│ │ │ │ ├── TypeAliases.expected
│ │ │ │ ├── TypeAliases.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ ├── TypeAnnotations
│ │ │ │ ├── ArrayTypeExpr.qll
│ │ │ │ ├── ChildIndex.qll
│ │ │ │ ├── Containers.qll
│ │ │ │ ├── FieldTypes.qll
│ │ │ │ ├── FunctionTypeParameters.qll
│ │ │ │ ├── FunctionTypeReturns.qll
│ │ │ │ ├── GenericTypeExpr.qll
│ │ │ │ ├── ImportTypeExpr.qll
│ │ │ │ ├── IndexedAccessTypeExpr.qll
│ │ │ │ ├── InterfaceTypeExpr.qll
│ │ │ │ ├── IntersectionTypeExpr.qll
│ │ │ │ ├── KeyofTypeExpr.qll
│ │ │ │ ├── MappedTypeExpr.qll
│ │ │ │ ├── OptionalTypeExpr.qll
│ │ │ │ ├── Parameters.qll
│ │ │ │ ├── ParenthesizedTypeExpr.qll
│ │ │ │ ├── PredicateTypeExpr.qll
│ │ │ │ ├── QualifiedTypeAccess.qll
│ │ │ │ ├── RestTypeExpr.qll
│ │ │ │ ├── ReturnTypes.qll
│ │ │ │ ├── TemplateLiterals.qll
│ │ │ │ ├── ThisParameterTypes.qll
│ │ │ │ ├── TupleTypeExpr.qll
│ │ │ │ ├── TypeAccessHelpers.qll
│ │ │ │ ├── TypeArguments.qll
│ │ │ │ ├── TypeAssertions.qll
│ │ │ │ ├── TypeofTypeExpr.qll
│ │ │ │ ├── UnionTypeExpr.qll
│ │ │ │ ├── UnknownTypeExpr.qll
│ │ │ │ ├── VariableTypes.qll
│ │ │ │ ├── printAst.expected
│ │ │ │ ├── printAst.ql
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ └── tst.ts
│ │ │ ├── TypeOnlyImportExport
│ │ │ │ ├── exportClass.ts
│ │ │ │ ├── exportFunction.ts
│ │ │ │ ├── importFunction.ts
│ │ │ │ ├── importRexportedClass.ts
│ │ │ │ ├── importType.ts
│ │ │ │ ├── namedReexport.ts
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ └── tst.ts
│ │ │ ├── TypeParameters
│ │ │ │ ├── inferTypes.ts
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ └── tst.ts
│ │ │ ├── TypeVariableTypes
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ └── Types
│ │ │ │ ├── boolean-type.ts
│ │ │ │ ├── dummy.ts
│ │ │ │ ├── middle-rest.ts
│ │ │ │ ├── printAst.expected
│ │ │ │ ├── printAst.ql
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ ├── tst.ts
│ │ │ │ ├── type_alias.ts
│ │ │ │ ├── type_definition_objects.ts
│ │ │ │ └── type_definitions.ts
│ │ ├── TypeTracking
│ │ │ ├── ClassStyle.expected
│ │ │ ├── ClassStyle.ql
│ │ │ ├── CustomStep.qll
│ │ │ ├── PredicateStyle.expected
│ │ │ ├── PredicateStyle.ql
│ │ │ ├── TypeTracking.expected
│ │ │ ├── TypeTracking.ql
│ │ │ ├── class.js
│ │ │ ├── client.js
│ │ │ ├── client2.js
│ │ │ ├── deprecated.js
│ │ │ ├── destructuring-export-client.js
│ │ │ ├── destructuring-export.js
│ │ │ ├── reexport
│ │ │ │ ├── a.js
│ │ │ │ ├── b.js
│ │ │ │ └── test.js
│ │ │ ├── tst.js
│ │ │ └── tst_conflict.js
│ │ ├── Util
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ └── tst.js
│ │ ├── XML
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ ├── tst.js
│ │ │ └── tst.xml
│ │ ├── YAML
│ │ │ ├── err.yaml
│ │ │ ├── external.yml
│ │ │ ├── merge.yaml
│ │ │ ├── options
│ │ │ ├── printAst.expected
│ │ │ ├── printAst.ql
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ └── tst.yml
│ │ ├── dependencies
│ │ │ ├── Dependencies.expected
│ │ │ ├── Dependencies.ql
│ │ │ ├── DependencyCustomizations.qll
│ │ │ ├── DependencyUses.expected
│ │ │ ├── DependencyUses.ql
│ │ │ ├── README
│ │ │ └── src
│ │ │ │ ├── closure-test.js
│ │ │ │ ├── fake-jquery.js
│ │ │ │ ├── fake-lodash.js
│ │ │ │ ├── fake-lodash2.js
│ │ │ │ ├── jquery-lodash.bundle.js
│ │ │ │ ├── node_modules
│ │ │ │ ├── bundled-package
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── package.json
│ │ │ │ └── private-package
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── package.json
│ │ │ │ ├── package.json
│ │ │ │ ├── tst.html
│ │ │ │ └── tst.js
│ │ ├── frameworks
│ │ │ ├── Angular2
│ │ │ │ ├── TestPipe.ts
│ │ │ │ ├── inline.component.ts
│ │ │ │ ├── mid.component.html
│ │ │ │ ├── mid.component.ts
│ │ │ │ ├── sink.component.ts
│ │ │ │ ├── source.component.html
│ │ │ │ ├── source.component.ts
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── AngularJS
│ │ │ │ ├── LICENSE
│ │ │ │ ├── controllers
│ │ │ │ │ ├── Controller.expected
│ │ │ │ │ ├── Controller.ql
│ │ │ │ │ ├── template1.html
│ │ │ │ │ ├── template3.html
│ │ │ │ │ ├── template4.html
│ │ │ │ │ ├── tst.html
│ │ │ │ │ └── tst.js
│ │ │ │ ├── dependencies
│ │ │ │ │ ├── DependencyKinds.expected
│ │ │ │ │ ├── DependencyKinds.ql
│ │ │ │ │ └── dependency-kinds.js
│ │ │ │ ├── dependency-dataflow
│ │ │ │ │ ├── ScopeMethodCalls.expected
│ │ │ │ │ ├── ScopeMethodCalls.ql
│ │ │ │ │ ├── ScopePropertyAccess.expected
│ │ │ │ │ ├── ScopePropertyAccess.ql
│ │ │ │ │ └── test.js
│ │ │ │ ├── dependency-resolution
│ │ │ │ │ ├── DependencyResolution.expected
│ │ │ │ │ ├── DependencyResolution.ql
│ │ │ │ │ ├── DependencyResolution_full.expected
│ │ │ │ │ ├── DependencyResolution_full.ql
│ │ │ │ │ └── dependency-resolution.js
│ │ │ │ ├── directives
│ │ │ │ │ ├── Directive.expected
│ │ │ │ │ ├── Directive.ql
│ │ │ │ │ ├── DirectiveMatching.expected
│ │ │ │ │ ├── DirectiveMatching.ql
│ │ │ │ │ ├── DirectiveTargets.expected
│ │ │ │ │ ├── DirectiveTargets.ql
│ │ │ │ │ ├── tst.html
│ │ │ │ │ └── tst.js
│ │ │ │ ├── expressions
│ │ │ │ │ ├── lexing
│ │ │ │ │ │ ├── Predecessors.expected
│ │ │ │ │ │ ├── Predecessors.ql
│ │ │ │ │ │ ├── Successors.expected
│ │ │ │ │ │ ├── Successors.ql
│ │ │ │ │ │ ├── Tokens.expected
│ │ │ │ │ │ ├── Tokens.ql
│ │ │ │ │ │ └── tokens.html
│ │ │ │ │ ├── parsing
│ │ │ │ │ │ ├── AstNodes.expected
│ │ │ │ │ │ ├── AstNodes.ql
│ │ │ │ │ │ ├── NgCallExpr_getArgument.expected
│ │ │ │ │ │ ├── NgCallExpr_getArgument.ql
│ │ │ │ │ │ ├── NgSingleFilter_getArgument.expected
│ │ │ │ │ │ ├── NgSingleFilter_getArgument.ql
│ │ │ │ │ │ └── ast-nodes.html
│ │ │ │ │ ├── scopes
│ │ │ │ │ │ ├── getScope.expected
│ │ │ │ │ │ ├── getScope.ql
│ │ │ │ │ │ ├── options
│ │ │ │ │ │ ├── tst.html
│ │ │ │ │ │ ├── tst.js
│ │ │ │ │ │ └── tst2.html
│ │ │ │ │ └── sources
│ │ │ │ │ │ ├── HtmlNgAttributes.html
│ │ │ │ │ │ ├── HtmlText.html
│ │ │ │ │ │ ├── Sources.expected
│ │ │ │ │ │ ├── Sources.ql
│ │ │ │ │ │ ├── html-attributes.html
│ │ │ │ │ │ ├── options
│ │ │ │ │ │ └── template-fields.js
│ │ │ │ ├── filters
│ │ │ │ │ ├── Filters.expected
│ │ │ │ │ ├── Filters.ql
│ │ │ │ │ └── filters.js
│ │ │ │ ├── jqlite
│ │ │ │ │ ├── JQLiteObject.expected
│ │ │ │ │ ├── JQLiteObject.ql
│ │ │ │ │ └── tst.js
│ │ │ │ ├── linkFunctions
│ │ │ │ │ ├── LinkFunctions.expected
│ │ │ │ │ ├── LinkFunctions.ql
│ │ │ │ │ ├── tst.html
│ │ │ │ │ └── tst.js
│ │ │ │ ├── modules
│ │ │ │ │ ├── AngularModule.expected
│ │ │ │ │ ├── AngularModule.ql
│ │ │ │ │ ├── ModuleRef.expected
│ │ │ │ │ ├── ModuleRef.ql
│ │ │ │ │ ├── module-refs.js
│ │ │ │ │ ├── tst.html
│ │ │ │ │ └── tst.js
│ │ │ │ ├── routes
│ │ │ │ │ ├── RouteSetup.expected
│ │ │ │ │ ├── RouteSetup.ql
│ │ │ │ │ └── tst.js
│ │ │ │ ├── scopes
│ │ │ │ │ ├── DirectiveScope.expected
│ │ │ │ │ ├── DirectiveScope.ql
│ │ │ │ │ ├── ElementScope.expected
│ │ │ │ │ ├── ElementScope.ql
│ │ │ │ │ ├── HtmlFileScope.expected
│ │ │ │ │ ├── HtmlFileScope.ql
│ │ │ │ │ ├── IsolateScope.expected
│ │ │ │ │ ├── IsolateScope.ql
│ │ │ │ │ ├── ScopeAccess.expected
│ │ │ │ │ ├── ScopeAccess.ql
│ │ │ │ │ ├── dev-guide-1.html
│ │ │ │ │ ├── dev-guide-1.js
│ │ │ │ │ ├── dev-guide-2.html
│ │ │ │ │ ├── dev-guide-2.js
│ │ │ │ │ ├── dev-guide-3.html
│ │ │ │ │ ├── dev-guide-3.js
│ │ │ │ │ ├── dev-guide-4-template.html
│ │ │ │ │ ├── dev-guide-4.html
│ │ │ │ │ ├── dev-guide-4.js
│ │ │ │ │ ├── dev-guide-5-template.html
│ │ │ │ │ ├── dev-guide-5.html
│ │ │ │ │ ├── dev-guide-5.js
│ │ │ │ │ ├── dev-guide-6-template.html
│ │ │ │ │ ├── dev-guide-6.html
│ │ │ │ │ ├── dev-guide-6.js
│ │ │ │ │ ├── scope-access.html
│ │ │ │ │ ├── scope-access.js
│ │ │ │ │ └── tst.js
│ │ │ │ └── security
│ │ │ │ │ └── owasp-injection-examples
│ │ │ │ │ ├── binding.html
│ │ │ │ │ ├── binding.js
│ │ │ │ │ ├── interpolate.html
│ │ │ │ │ ├── interpolate.js
│ │ │ │ │ ├── translate.html
│ │ │ │ │ └── translate.js
│ │ │ ├── AsyncPackage
│ │ │ │ ├── AsyncTaintTracking.expected
│ │ │ │ ├── AsyncTaintTracking.ql
│ │ │ │ ├── each.js
│ │ │ │ ├── map.js
│ │ │ │ ├── sortBy.js
│ │ │ │ └── waterfall.js
│ │ │ ├── Base64
│ │ │ │ ├── Base64.js
│ │ │ │ ├── Buffer.js
│ │ │ │ ├── Decode.qll
│ │ │ │ ├── Encode.qll
│ │ │ │ ├── base-64.js
│ │ │ │ ├── base64-js.js
│ │ │ │ ├── dom.js
│ │ │ │ ├── js-base64.js
│ │ │ │ ├── js-base64b.js
│ │ │ │ ├── tests.expected
│ │ │ │ └── tests.ql
│ │ │ ├── Cheerio
│ │ │ │ ├── Cheerio.expected
│ │ │ │ ├── Cheerio.ql
│ │ │ │ └── tst.js
│ │ │ ├── ClientRequests
│ │ │ │ ├── ClientRequests.expected
│ │ │ │ ├── ClientRequests.ql
│ │ │ │ ├── apollo.js
│ │ │ │ ├── puppeteer.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.js
│ │ │ ├── Collections
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ └── tst.js
│ │ │ ├── ComposedFunctions
│ │ │ │ ├── compose.expected
│ │ │ │ ├── compose.ql
│ │ │ │ └── tst.js
│ │ │ ├── Concepts
│ │ │ │ ├── file-access.js
│ │ │ │ ├── persistence.js
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ └── tst-file-names.js
│ │ │ ├── CookieLibraries
│ │ │ │ ├── CookieReadAccess.expected
│ │ │ │ ├── CookieReadAccess.ql
│ │ │ │ ├── CookieReadAccess_getAWrite.expected
│ │ │ │ ├── CookieReadAccess_getAWrite.ql
│ │ │ │ ├── CookieWriteAccess.expected
│ │ │ │ ├── CookieWriteAccess.ql
│ │ │ │ └── tst.js
│ │ │ ├── Electron
│ │ │ │ ├── electron.js
│ │ │ │ ├── electronTs.d.ts
│ │ │ │ ├── electronTs.ts
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ └── tsconfig.json
│ │ │ ├── Emscripten
│ │ │ │ ├── EmscriptenGeneratedToplevel.expected
│ │ │ │ ├── EmscriptenGeneratedToplevel.ql
│ │ │ │ ├── EmscriptenMarkerComment.expected
│ │ │ │ ├── EmscriptenMarkerComment.ql
│ │ │ │ ├── tst.js
│ │ │ │ └── tts.js
│ │ │ ├── EventEmitter
│ │ │ │ ├── customEmitter.js
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ ├── tst.js
│ │ │ │ └── tst2.js
│ │ │ ├── Express
│ │ │ │ ├── CookieMiddlewareInstance.qll
│ │ │ │ ├── Credentials.qll
│ │ │ │ ├── ExpressSession.qll
│ │ │ │ ├── HeaderAccess.qll
│ │ │ │ ├── HeaderDefinition.qll
│ │ │ │ ├── HeaderDefinition_defines.qll
│ │ │ │ ├── HeaderDefinition_getAHeaderName.qll
│ │ │ │ ├── HeaderDefinition_getNameExpr.qll
│ │ │ │ ├── RedirectInvocation.qll
│ │ │ │ ├── RequestBodyAccess.qll
│ │ │ │ ├── RequestExpr.qll
│ │ │ │ ├── RequestInputAccess.qll
│ │ │ │ ├── ResponseBody.qll
│ │ │ │ ├── ResponseExpr.qll
│ │ │ │ ├── ResponseSendArgument.qll
│ │ │ │ ├── RouteExpr.qll
│ │ │ │ ├── RouteHandler.qll
│ │ │ │ ├── RouteHandlerContainer.expected
│ │ │ │ ├── RouteHandlerContainer.qll
│ │ │ │ ├── RouteHandlerExpr.qll
│ │ │ │ ├── RouteHandlerExpr_getAMatchingAncestor.qll
│ │ │ │ ├── RouteHandlerExpr_getAsSubRouter.qll
│ │ │ │ ├── RouteHandlerExpr_getBody.qll
│ │ │ │ ├── RouteHandlerExpr_getNextMiddleware.qll
│ │ │ │ ├── RouteHandlerExpr_getPreviousMiddleware.qll
│ │ │ │ ├── RouteHandler_getARequestBodyAccess.qll
│ │ │ │ ├── RouteHandler_getARequestExpr.qll
│ │ │ │ ├── RouteHandler_getAResponseExpr.qll
│ │ │ │ ├── RouteHandler_getAResponseHeader.qll
│ │ │ │ ├── RouteSetup.qll
│ │ │ │ ├── RouteSetup_getARouteHandler.qll
│ │ │ │ ├── RouteSetup_getARouteHandlerExpr.qll
│ │ │ │ ├── RouteSetup_getLastRouteHandlerExpr.qll
│ │ │ │ ├── RouteSetup_getRequestMethod.qll
│ │ │ │ ├── RouteSetup_getRouteHandlerExpr.qll
│ │ │ │ ├── RouteSetup_getRouter.qll
│ │ │ │ ├── RouteSetup_getServer.qll
│ │ │ │ ├── RouteSetup_handlesAllRequestMethods.qll
│ │ │ │ ├── RouteSetup_handlesSameRequestMethodAs.qll
│ │ │ │ ├── RouterDefinition_RouterDefinition.qll
│ │ │ │ ├── RouterDefinition_getARouteHandler.qll
│ │ │ │ ├── RouterDefinition_getASubRouter.qll
│ │ │ │ ├── RouterDefinition_getMiddlewareStack.qll
│ │ │ │ ├── RouterDefinition_getMiddlewareStackAt.qll
│ │ │ │ ├── SetCookie.qll
│ │ │ │ ├── StandardRouteHandler.qll
│ │ │ │ ├── appCreation.qll
│ │ │ │ ├── es6-imported-router.js
│ │ │ │ ├── isRequest.qll
│ │ │ │ ├── isResponse.qll
│ │ │ │ ├── isRouterCreation.qll
│ │ │ │ ├── options
│ │ │ │ ├── src
│ │ │ │ │ ├── advanced-routehandler-registration.js
│ │ │ │ │ ├── auth.js
│ │ │ │ │ ├── controllers
│ │ │ │ │ │ ├── handler-in-bulk-require.js
│ │ │ │ │ │ ├── handler-in-dynamic-require.js
│ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── cookie-parser.js
│ │ │ │ │ ├── cookie-session.js
│ │ │ │ │ ├── csurf-example.js
│ │ │ │ │ ├── exportedHandler.js
│ │ │ │ │ ├── express-session.js
│ │ │ │ │ ├── express.js
│ │ │ │ │ ├── express2.js
│ │ │ │ │ ├── express3.js
│ │ │ │ │ ├── express4.js
│ │ │ │ │ ├── inheritedFromNode.js
│ │ │ │ │ ├── params.js
│ │ │ │ │ ├── passport.js
│ │ │ │ │ ├── responseExprs.js
│ │ │ │ │ ├── route-collection.js
│ │ │ │ │ ├── route.js
│ │ │ │ │ ├── routesetups.js
│ │ │ │ │ └── subrouter.js
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── typed_src
│ │ │ │ │ ├── shim.d.ts
│ │ │ │ │ └── tst.ts
│ │ │ ├── Firebase
│ │ │ │ ├── node_modules
│ │ │ │ │ └── firebase
│ │ │ │ │ │ └── index.d.ts
│ │ │ │ ├── src
│ │ │ │ │ ├── import_assign.ts
│ │ │ │ │ ├── import_named.ts
│ │ │ │ │ └── import_star.ts
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.js
│ │ │ ├── GWT
│ │ │ │ ├── GWTGeneratedTopLevel.expected
│ │ │ │ ├── GWTGeneratedTopLevel.ql
│ │ │ │ ├── GWTHeader.expected
│ │ │ │ ├── GWTHeader.ql
│ │ │ │ └── tst.html
│ │ │ ├── HTTP-heuristics
│ │ │ │ ├── AdditionalRouteHandlers.expected
│ │ │ │ ├── AdditionalRouteHandlers.ql
│ │ │ │ ├── UnpromotedRouteHandlerCandidate.expected
│ │ │ │ ├── UnpromotedRouteHandlerCandidate.qlref
│ │ │ │ ├── UnpromotedRouteSetupCandidate.expected
│ │ │ │ ├── UnpromotedRouteSetupCandidate.qlref
│ │ │ │ ├── src
│ │ │ │ │ ├── RouterExample.js
│ │ │ │ │ ├── app-in-property.js
│ │ │ │ │ ├── bound-handler.js
│ │ │ │ │ ├── connect.js
│ │ │ │ │ ├── constructed-handler.js
│ │ │ │ │ ├── es6-imported-middleware-attacher.js
│ │ │ │ │ ├── exported-getter.js
│ │ │ │ │ ├── exported-handler.js
│ │ │ │ │ ├── exported-middleware-attacher-2.js
│ │ │ │ │ ├── exported-middleware-attacher.js
│ │ │ │ │ ├── handler-in-property.js
│ │ │ │ │ ├── hapi.js
│ │ │ │ │ ├── imported-getter.js
│ │ │ │ │ ├── imported-handler.js
│ │ │ │ │ ├── imported-middleware-attacher.js
│ │ │ │ │ ├── iterated-handlers.js
│ │ │ │ │ ├── middleware-attacher-getter.js
│ │ │ │ │ ├── middleware-attacher.js
│ │ │ │ │ ├── nodejs.js
│ │ │ │ │ ├── real-world.js
│ │ │ │ │ ├── returned-handler.js
│ │ │ │ │ ├── route-objects.js
│ │ │ │ │ └── tst.js
│ │ │ │ ├── tests.expected
│ │ │ │ └── tests.ql
│ │ │ ├── HTTP
│ │ │ │ ├── RemoteRequestInput.expected
│ │ │ │ ├── RemoteRequestInput.ql
│ │ │ │ ├── ResponseBody.expected
│ │ │ │ ├── ResponseBody.ql
│ │ │ │ ├── connect.js
│ │ │ │ ├── express.js
│ │ │ │ ├── hapi.js
│ │ │ │ ├── koa.js
│ │ │ │ ├── node.js
│ │ │ │ └── restify.js
│ │ │ ├── Immutable
│ │ │ │ ├── immutable.js
│ │ │ │ ├── tests.expected
│ │ │ │ └── tests.ql
│ │ │ ├── LazyCache
│ │ │ │ ├── LazyCache.expected
│ │ │ │ ├── LazyCache.ql
│ │ │ │ └── tst.js
│ │ │ ├── LodashUnderscore
│ │ │ │ ├── LodashUnderscoreCalls.expected
│ │ │ │ ├── LodashUnderscoreCalls.ql
│ │ │ │ ├── global.js
│ │ │ │ └── tst.js
│ │ │ ├── Logging
│ │ │ │ ├── LoggerCall.expected
│ │ │ │ ├── LoggerCall.ql
│ │ │ │ └── tst.js
│ │ │ ├── Micro
│ │ │ │ ├── TestMicro.expected
│ │ │ │ ├── TestMicro.ql
│ │ │ │ └── tst.js
│ │ │ ├── Next
│ │ │ │ ├── package.json
│ │ │ │ ├── pages
│ │ │ │ │ ├── [my-fallback-id].jsx
│ │ │ │ │ └── secondpage.jsx
│ │ │ │ ├── tests.expected
│ │ │ │ └── tests.ql
│ │ │ ├── NodeJSLib
│ │ │ │ ├── ClientRequest_getADataNode.qll
│ │ │ │ ├── Credentials.qll
│ │ │ │ ├── HeaderAccess.qll
│ │ │ │ ├── HeaderDefinition.qll
│ │ │ │ ├── HeaderDefinition_defines.qll
│ │ │ │ ├── HeaderDefinition_getAHeaderName.qll
│ │ │ │ ├── HeaderDefinition_getNameExpr.qll
│ │ │ │ ├── RemoteFlowSources.qll
│ │ │ │ ├── RequestExpr.qll
│ │ │ │ ├── RequestInputAccess.qll
│ │ │ │ ├── ResponseExpr.qll
│ │ │ │ ├── ResponseSendArgument.qll
│ │ │ │ ├── RouteHandler.qll
│ │ │ │ ├── RouteHandler_getARequestExpr.qll
│ │ │ │ ├── RouteHandler_getAResponseExpr.qll
│ │ │ │ ├── RouteHandler_getAResponseHeader.qll
│ │ │ │ ├── RouteSetup_getARouteHandler.qll
│ │ │ │ ├── RouteSetup_getServer.qll
│ │ │ │ ├── ServerDefinition.qll
│ │ │ │ ├── ServerDefinition_getARouteHandler.qll
│ │ │ │ ├── SystemCommandExecution.qll
│ │ │ │ ├── SystemCommandExecution_getAnArgumentForCommand.qll
│ │ │ │ ├── TestClientRequest.qll
│ │ │ │ ├── createServer.js
│ │ │ │ ├── es6-imported-exec.js
│ │ │ │ ├── exec.js
│ │ │ │ ├── http.js
│ │ │ │ ├── isCreateServer.qll
│ │ │ │ ├── src
│ │ │ │ │ ├── http.js
│ │ │ │ │ ├── https.js
│ │ │ │ │ ├── indirect.js
│ │ │ │ │ └── indirect2.js
│ │ │ │ ├── tests.expected
│ │ │ │ └── tests.ql
│ │ │ ├── PropertyProjection
│ │ │ │ ├── PropertyInjectionTaint.expected
│ │ │ │ ├── PropertyInjectionTaint.ql
│ │ │ │ ├── PropertyProjection.expected
│ │ │ │ ├── PropertyProjection.ql
│ │ │ │ └── tst.js
│ │ │ ├── ReactJS
│ │ │ │ ├── ReactComponent.qll
│ │ │ │ ├── ReactComponent_getACandidatePropsValue.qll
│ │ │ │ ├── ReactComponent_getACandidateStateSource.qll
│ │ │ │ ├── ReactComponent_getADirectPropsSource.qll
│ │ │ │ ├── ReactComponent_getAPreviousStateSource.qll
│ │ │ │ ├── ReactComponent_getAPropRead.qll
│ │ │ │ ├── ReactComponent_getInstanceMethod.qll
│ │ │ │ ├── ReactComponent_ref.qll
│ │ │ │ ├── ReactName.qll
│ │ │ │ ├── es5.js
│ │ │ │ ├── es6.js
│ │ │ │ ├── exportedComponent.jsx
│ │ │ │ ├── getADirectStateAccess.qll
│ │ │ │ ├── globalReactRefs.js
│ │ │ │ ├── higherOrderComponent.jsx
│ │ │ │ ├── importedComponent.jsx
│ │ │ │ ├── importedReactRefs.js
│ │ │ │ ├── namedImport.js
│ │ │ │ ├── options
│ │ │ │ ├── plainfn.js
│ │ │ │ ├── preact.js
│ │ │ │ ├── probably-a-component.js
│ │ │ │ ├── props.js
│ │ │ │ ├── rare-lifecycle-methods.js
│ │ │ │ ├── react.qll
│ │ │ │ ├── requiredReactRefs.js
│ │ │ │ ├── statePropertyReads.js
│ │ │ │ ├── statePropertyWrites.js
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ ├── thisAccesses.js
│ │ │ │ ├── thisAccesses_importedMappers.js
│ │ │ │ └── useHigherOrderComponent.jsx
│ │ │ ├── ReactNative
│ │ │ │ ├── WebView.expected
│ │ │ │ ├── WebView.ql
│ │ │ │ └── webview.js
│ │ │ ├── SQL
│ │ │ │ ├── Credentials.expected
│ │ │ │ ├── Credentials.ql
│ │ │ │ ├── SqlSanitizer.expected
│ │ │ │ ├── SqlSanitizer.ql
│ │ │ │ ├── SqlString.expected
│ │ │ │ ├── SqlString.ql
│ │ │ │ ├── juice-shop-LICENSE
│ │ │ │ ├── mssql1.js
│ │ │ │ ├── mssql2.js
│ │ │ │ ├── mssql3.js
│ │ │ │ ├── mysql1.js
│ │ │ │ ├── mysql1a.js
│ │ │ │ ├── mysql2.js
│ │ │ │ ├── mysql2tst.js
│ │ │ │ ├── mysql3.js
│ │ │ │ ├── mysql4.js
│ │ │ │ ├── mysqlImport.js
│ │ │ │ ├── mysqljs-License
│ │ │ │ ├── node-mysql2-License
│ │ │ │ ├── node-postgres-LICENSE
│ │ │ │ ├── node-sqlite3-LICENSE
│ │ │ │ ├── postgres1.js
│ │ │ │ ├── postgres2.js
│ │ │ │ ├── postgres3.js
│ │ │ │ ├── postgres4.js
│ │ │ │ ├── postgres5.js
│ │ │ │ ├── postgresImport.js
│ │ │ │ ├── sequelize.js
│ │ │ │ ├── sequelize2.js
│ │ │ │ ├── sequelizeImport.js
│ │ │ │ ├── spanner.js
│ │ │ │ ├── spanner2.js
│ │ │ │ ├── spannerImport.js
│ │ │ │ ├── sqlite.js
│ │ │ │ ├── sqliteArray.js
│ │ │ │ └── sqliteImport.js
│ │ │ ├── ServerLess
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ ├── tst1
│ │ │ │ │ ├── backend
│ │ │ │ │ │ └── src
│ │ │ │ │ │ │ └── mylibrary.js
│ │ │ │ │ └── template.yml
│ │ │ │ ├── tst2
│ │ │ │ │ ├── nodejs
│ │ │ │ │ │ └── index.js
│ │ │ │ │ └── template.yml
│ │ │ │ ├── tst3
│ │ │ │ │ ├── function
│ │ │ │ │ │ └── index.js
│ │ │ │ │ └── template.yml
│ │ │ │ ├── tst4
│ │ │ │ │ ├── app.js
│ │ │ │ │ └── template.yml
│ │ │ │ └── tst5
│ │ │ │ │ ├── app.js
│ │ │ │ │ └── template.yml
│ │ │ ├── Shelljs
│ │ │ │ ├── ShellJS.expected
│ │ │ │ ├── ShellJS.ql
│ │ │ │ └── tst.js
│ │ │ ├── SocketIO
│ │ │ │ ├── AdditionalFlowStep.qll
│ │ │ │ ├── ClientReceiveNode.qll
│ │ │ │ ├── ClientReceiveNode_getASender.qll
│ │ │ │ ├── ClientReceiveNode_getAck.qll
│ │ │ │ ├── ClientReceiveNode_getEventName.qll
│ │ │ │ ├── ClientReceiveNode_getReceivedItem.qll
│ │ │ │ ├── ClientSendNode.qll
│ │ │ │ ├── ClientSendNode_getAReceiver.qll
│ │ │ │ ├── ClientSendNode_getAck.qll
│ │ │ │ ├── ClientSendNode_getEventName.qll
│ │ │ │ ├── ClientSendNode_getSentItem.qll
│ │ │ │ ├── ClientSocketNode.qll
│ │ │ │ ├── NamespaceNode.qll
│ │ │ │ ├── NamespaceObject.qll
│ │ │ │ ├── ReceiveNode.qll
│ │ │ │ ├── ReceiveNode_getASender.qll
│ │ │ │ ├── ReceiveNode_getEventName.qll
│ │ │ │ ├── ReceiveNode_getReceivedItem.qll
│ │ │ │ ├── SendNode.qll
│ │ │ │ ├── SendNode_getAReceiver.qll
│ │ │ │ ├── SendNode_getAck.qll
│ │ │ │ ├── SendNode_getSentItem.qll
│ │ │ │ ├── SendNode_getSocket.qll
│ │ │ │ ├── ServerNode.qll
│ │ │ │ ├── ServerObject.qll
│ │ │ │ ├── SocketNode.qll
│ │ │ │ ├── client1.js
│ │ │ │ ├── client2.js
│ │ │ │ ├── client3.js
│ │ │ │ ├── client4.js
│ │ │ │ ├── handler.js
│ │ │ │ ├── package.json
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ └── tst.js
│ │ │ ├── Testing
│ │ │ │ ├── customised
│ │ │ │ │ ├── Tests.expected
│ │ │ │ │ ├── Tests.ql
│ │ │ │ │ └── test.js
│ │ │ │ └── uncustomised
│ │ │ │ │ ├── Tests.expected
│ │ │ │ │ ├── Tests.ql
│ │ │ │ │ ├── test.js
│ │ │ │ │ ├── test2.js
│ │ │ │ │ └── xUnit.js
│ │ │ ├── UriLibraries
│ │ │ │ ├── UriLibraryStep.expected
│ │ │ │ ├── UriLibraryStep.ql
│ │ │ │ ├── closureUri.js
│ │ │ │ ├── path-parse.js
│ │ │ │ ├── punycode.js
│ │ │ │ ├── query-string.js
│ │ │ │ ├── query-string_import.js
│ │ │ │ ├── querystring.js
│ │ │ │ ├── querystringify.js
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ ├── uri-js.js
│ │ │ │ ├── urijs.js
│ │ │ │ ├── url-parse.js
│ │ │ │ └── url.js
│ │ │ ├── Vue
│ │ │ │ ├── compont-with-route.vue
│ │ │ │ ├── router.js
│ │ │ │ ├── single-component-file-1.vue
│ │ │ │ ├── single-file-component-2.vue
│ │ │ │ ├── single-file-component-3-script.js
│ │ │ │ ├── single-file-component-3.vue
│ │ │ │ ├── single-file-component-4.vue
│ │ │ │ ├── single-file-component-5.vue
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ └── tst.js
│ │ │ ├── WebSocket
│ │ │ │ ├── browser.js
│ │ │ │ ├── client.js
│ │ │ │ ├── server.js
│ │ │ │ ├── sockjs.js
│ │ │ │ ├── test.expected
│ │ │ │ └── test.ql
│ │ │ ├── babel
│ │ │ │ └── root-import
│ │ │ │ │ ├── Imports.expected
│ │ │ │ │ ├── Imports.ql
│ │ │ │ │ ├── tst1
│ │ │ │ │ ├── .babelrc.json
│ │ │ │ │ ├── a.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── nested
│ │ │ │ │ │ └── tst.js
│ │ │ │ │ ├── tst2
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── package.json
│ │ │ │ │ └── src
│ │ │ │ │ │ └── js
│ │ │ │ │ │ └── b.js
│ │ │ │ │ ├── tst3
│ │ │ │ │ ├── .babelrc.json
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── src
│ │ │ │ │ │ └── b.js
│ │ │ │ │ └── tst4
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── package.json
│ │ │ │ │ └── src
│ │ │ │ │ └── js
│ │ │ │ │ └── b.js
│ │ │ ├── connect
│ │ │ │ ├── Credentials.qll
│ │ │ │ ├── HeaderDefinition.qll
│ │ │ │ ├── HeaderDefinition_defines.qll
│ │ │ │ ├── HeaderDefinition_getAHeaderName.qll
│ │ │ │ ├── RequestExpr.qll
│ │ │ │ ├── RequestInputAccess.qll
│ │ │ │ ├── ResponseExpr.qll
│ │ │ │ ├── RouteHandler.qll
│ │ │ │ ├── RouteHandler_getARequestExpr.qll
│ │ │ │ ├── RouteHandler_getAResponseExpr.qll
│ │ │ │ ├── RouteHandler_getAResponseHeader.qll
│ │ │ │ ├── RouteSetup.qll
│ │ │ │ ├── RouteSetup_getARouteHandler.qll
│ │ │ │ ├── RouteSetup_getServer.qll
│ │ │ │ ├── ServerDefinition.qll
│ │ │ │ ├── src
│ │ │ │ │ └── test.js
│ │ │ │ ├── tests.expected
│ │ │ │ └── tests.ql
│ │ │ ├── fastify
│ │ │ │ ├── HeaderAccess.qll
│ │ │ │ ├── HeaderDefinition.qll
│ │ │ │ ├── HeaderDefinition_defines.qll
│ │ │ │ ├── HeaderDefinition_getAHeaderName.qll
│ │ │ │ ├── RedirectInvocation.qll
│ │ │ │ ├── RequestInputAccess.qll
│ │ │ │ ├── ResponseSendArgument.qll
│ │ │ │ ├── RouteHandler.qll
│ │ │ │ ├── RouteHandler_getARequestExpr.qll
│ │ │ │ ├── RouteHandler_getAResponseHeader.qll
│ │ │ │ ├── RouteSetup.qll
│ │ │ │ ├── RouteSetup_getARouteHandler.qll
│ │ │ │ ├── RouteSetup_getServer.qll
│ │ │ │ ├── ServerDefinition.qll
│ │ │ │ ├── src
│ │ │ │ │ └── fastify.js
│ │ │ │ ├── tests.expected
│ │ │ │ └── tests.ql
│ │ │ ├── hapi
│ │ │ │ ├── HeaderAccess.qll
│ │ │ │ ├── HeaderDefinition.qll
│ │ │ │ ├── HeaderDefinition_defines.qll
│ │ │ │ ├── HeaderDefinition_getAHeaderName.qll
│ │ │ │ ├── RequestExpr.qll
│ │ │ │ ├── RequestInputAccess.qll
│ │ │ │ ├── ResponseExpr.qll
│ │ │ │ ├── RouteHandler.qll
│ │ │ │ ├── RouteHandler_getARequestExpr.qll
│ │ │ │ ├── RouteHandler_getAResponseHeader.qll
│ │ │ │ ├── RouteSetup.qll
│ │ │ │ ├── RouteSetup_getARouteHandler.qll
│ │ │ │ ├── RouteSetup_getServer.qll
│ │ │ │ ├── ServerDefinition.qll
│ │ │ │ ├── src
│ │ │ │ │ └── hapi.js
│ │ │ │ ├── tests.expected
│ │ │ │ └── tests.ql
│ │ │ ├── jQuery
│ │ │ │ ├── AttributeDefinitions.expected
│ │ │ │ ├── AttributeDefinitions.ql
│ │ │ │ ├── JQueryMethodCall.expected
│ │ │ │ ├── JQueryMethodCall.ql
│ │ │ │ ├── interpretsArgumentAsHtml.expected
│ │ │ │ ├── interpretsArgumentAsHtml.ql
│ │ │ │ ├── jquery-3.2.js
│ │ │ │ ├── jquery.d.ts
│ │ │ │ ├── tracking.js
│ │ │ │ ├── ts_global_types.ts
│ │ │ │ ├── ts_import.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ ├── tst.js
│ │ │ │ └── tst2.js
│ │ │ ├── koa
│ │ │ │ ├── AppDefinition.qll
│ │ │ │ ├── ContextExpr.qll
│ │ │ │ ├── HeaderAccess.qll
│ │ │ │ ├── HeaderDefinition.qll
│ │ │ │ ├── HeaderDefinition_defines.qll
│ │ │ │ ├── HeaderDefinition_getAHeaderName.qll
│ │ │ │ ├── RedirectInvocation.qll
│ │ │ │ ├── RequestExpr.qll
│ │ │ │ ├── RequestInputAccess.qll
│ │ │ │ ├── ResponseExpr.qll
│ │ │ │ ├── ResponseSendArgument.qll
│ │ │ │ ├── RouteHandler.qll
│ │ │ │ ├── RouteHandler_getAContextExpr.qll
│ │ │ │ ├── RouteHandler_getARequestExpr.qll
│ │ │ │ ├── RouteHandler_getAResponseExpr.qll
│ │ │ │ ├── RouteHandler_getAResponseHeader.qll
│ │ │ │ ├── RouteSetup.qll
│ │ │ │ ├── RouteSetup_getARouteHandler.qll
│ │ │ │ ├── RouteSetup_getServer.qll
│ │ │ │ ├── src
│ │ │ │ │ └── koa.js
│ │ │ │ ├── tests.expected
│ │ │ │ └── tests.ql
│ │ │ ├── restify
│ │ │ │ ├── HeaderDefinition.qll
│ │ │ │ ├── HeaderDefinition_defines.qll
│ │ │ │ ├── HeaderDefinition_getAHeaderName.qll
│ │ │ │ ├── RequestExpr.qll
│ │ │ │ ├── RequestInputAccess.qll
│ │ │ │ ├── ResponseExpr.qll
│ │ │ │ ├── RouteHandler.qll
│ │ │ │ ├── RouteHandler_getARequestExpr.qll
│ │ │ │ ├── RouteHandler_getAResponseExpr.qll
│ │ │ │ ├── RouteHandler_getAResponseHeader.qll
│ │ │ │ ├── RouteSetup.qll
│ │ │ │ ├── RouteSetup_getARouteHandler.qll
│ │ │ │ ├── RouteSetup_getServer.qll
│ │ │ │ ├── ServerDefinition.qll
│ │ │ │ ├── src
│ │ │ │ │ └── test.js
│ │ │ │ ├── tests.expected
│ │ │ │ └── tests.ql
│ │ │ ├── typeahead
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ └── tst.js
│ │ │ └── xUnit
│ │ │ │ ├── tests.expected
│ │ │ │ ├── tests.ql
│ │ │ │ ├── tst.js
│ │ │ │ └── xUnit.js
│ │ ├── meta
│ │ │ └── Extraction
│ │ │ │ ├── FileWithExtractionMetrics.expected
│ │ │ │ ├── FileWithExtractionMetrics.ql
│ │ │ │ ├── FileWithExtractionMetrics_length.expected
│ │ │ │ ├── FileWithExtractionMetrics_length.ql
│ │ │ │ ├── FileWithExtractionMetrics_phases.expected
│ │ │ │ ├── FileWithExtractionMetrics_phases.ql
│ │ │ │ ├── tst.html
│ │ │ │ ├── tst.js
│ │ │ │ ├── tst2.js
│ │ │ │ └── tst3.ts
│ │ ├── ppNames
│ │ │ ├── ppClassName.expected
│ │ │ ├── ppClassName.ql
│ │ │ ├── ppFnName.expected
│ │ │ ├── ppFnName.ql
│ │ │ └── tst.js
│ │ ├── stmts
│ │ │ ├── Containers.qll
│ │ │ ├── DoubleColonMethods.qll
│ │ │ ├── EnclosingStmt.qll
│ │ │ ├── EnhancedForDefault.qll
│ │ │ ├── JumpTargets.qll
│ │ │ ├── LetStmt.qll
│ │ │ ├── LineTerminators.qll
│ │ │ ├── NumCatchClauses.qll
│ │ │ ├── SemicolonInsertion.qll
│ │ │ ├── conditionals.js
│ │ │ ├── es2015.js
│ │ │ ├── foreach.js
│ │ │ ├── functions.js
│ │ │ ├── getGuard.qll
│ │ │ ├── guardedCatch.js
│ │ │ ├── jscript.js
│ │ │ ├── legacyletstmt.js
│ │ │ ├── loops.js
│ │ │ ├── options
│ │ │ ├── others.js
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ └── try.js
│ │ └── variables
│ │ │ ├── arrayPatternDefault.js
│ │ │ ├── assignments.js
│ │ │ ├── defaultargs.js
│ │ │ ├── for.js
│ │ │ ├── legacyletstmt.js
│ │ │ ├── let.js
│ │ │ ├── options
│ │ │ ├── tests.expected
│ │ │ ├── tests.ql
│ │ │ ├── typeoftype.ts
│ │ │ └── variables.js
│ │ ├── qlpack.yml
│ │ ├── queries.xml
│ │ ├── query-tests
│ │ ├── AlertSuppression
│ │ │ ├── .gitattributes
│ │ │ ├── AlertSuppression.expected
│ │ │ ├── AlertSuppression.qlref
│ │ │ ├── tst.html
│ │ │ ├── tst.js
│ │ │ ├── tstWindows.html
│ │ │ └── tstWindows.js
│ │ ├── AngularJS
│ │ │ ├── DeadAngularJSEventListener
│ │ │ │ ├── DeadAngularJSEventListener.expected
│ │ │ │ ├── DeadAngularJSEventListener.qlref
│ │ │ │ ├── tst.html
│ │ │ │ └── tst.js
│ │ │ ├── DependencyMismatch
│ │ │ │ ├── DependencyMismatch.expected
│ │ │ │ ├── DependencyMismatch.qlref
│ │ │ │ └── tst.js
│ │ │ ├── DisablingSce
│ │ │ │ ├── DisablingSce.expected
│ │ │ │ ├── DisablingSce.js
│ │ │ │ └── DisablingSce.qlref
│ │ │ ├── DoubleCompilation
│ │ │ │ ├── DoubleCompilation.expected
│ │ │ │ ├── DoubleCompilation.qlref
│ │ │ │ ├── LICENSE
│ │ │ │ ├── bad.js
│ │ │ │ └── good.js
│ │ │ ├── DuplicateDependency
│ │ │ │ ├── DuplicateDependency.expected
│ │ │ │ ├── DuplicateDependency.qlref
│ │ │ │ ├── duplicates.js
│ │ │ │ └── options
│ │ │ ├── IncompatibleService
│ │ │ │ ├── IncompatibleService.expected
│ │ │ │ ├── IncompatibleService.qlref
│ │ │ │ └── angular-incompatible-service.js
│ │ │ ├── InsecureUrlWhitelist
│ │ │ │ ├── InsecureUrlWhitelist.expected
│ │ │ │ ├── InsecureUrlWhitelist.qlref
│ │ │ │ └── tst.js
│ │ │ ├── MissingExplicitInjection
│ │ │ │ ├── MissingExplicitInjection.expected
│ │ │ │ ├── MissingExplicitInjection.qlref
│ │ │ │ └── missing-explicit-injection.js
│ │ │ ├── RepeatedInjection
│ │ │ │ ├── RepeatedInjection.expected
│ │ │ │ ├── RepeatedInjection.qlref
│ │ │ │ └── repeated-injection.js
│ │ │ ├── UnusedAngularDependency
│ │ │ │ ├── UnusedAngularDependency.expected
│ │ │ │ ├── UnusedAngularDependency.qlref
│ │ │ │ └── unused-angular-dependency.js
│ │ │ └── UseNgSrc
│ │ │ │ ├── UseNgSrc.expected
│ │ │ │ ├── UseNgSrc.qlref
│ │ │ │ ├── non-angular-template.html
│ │ │ │ ├── tst.html
│ │ │ │ ├── tst2.html
│ │ │ │ └── tst_fragment.html
│ │ ├── Comments
│ │ │ ├── CommentedOutCode
│ │ │ │ ├── CommentedOutCode.expected
│ │ │ │ ├── CommentedOutCode.qlref
│ │ │ │ └── commentedCode.js
│ │ │ └── TodoComments
│ │ │ │ ├── TodoComments.expected
│ │ │ │ ├── TodoComments.qlref
│ │ │ │ ├── fixmeTagPresence.js
│ │ │ │ ├── todoTagPresence.js
│ │ │ │ └── tst.js
│ │ ├── DOM
│ │ │ ├── Alert
│ │ │ │ ├── Alert.expected
│ │ │ │ ├── Alert.qlref
│ │ │ │ └── alert.js
│ │ │ ├── HTML
│ │ │ │ ├── AmbiguousIdAttribute.expected
│ │ │ │ ├── AmbiguousIdAttribute.html
│ │ │ │ ├── AmbiguousIdAttribute.qlref
│ │ │ │ ├── AmbiguousIdAttributeGood.html
│ │ │ │ ├── AmbiguousIdAttribute_fragment.html
│ │ │ │ ├── ConflictingAttributes.expected
│ │ │ │ ├── ConflictingAttributes.html
│ │ │ │ ├── ConflictingAttributes.qlref
│ │ │ │ ├── ConflictingAttributesGood.html
│ │ │ │ ├── DuplicateAttributes.expected
│ │ │ │ ├── DuplicateAttributes.html
│ │ │ │ ├── DuplicateAttributes.qlref
│ │ │ │ ├── DuplicateAttributesGood.html
│ │ │ │ ├── MalformedIdAttribute.expected
│ │ │ │ ├── MalformedIdAttribute.html
│ │ │ │ ├── MalformedIdAttribute.qlref
│ │ │ │ ├── MalformedIdAttributeGood.html
│ │ │ │ ├── jinja2.html
│ │ │ │ ├── options
│ │ │ │ ├── templates.html
│ │ │ │ └── tst.js
│ │ │ ├── PseudoEval
│ │ │ │ ├── PseudoEval.expected
│ │ │ │ ├── PseudoEval.qlref
│ │ │ │ └── tst.js
│ │ │ └── TargetBlank
│ │ │ │ ├── TargetBlank.expected
│ │ │ │ ├── TargetBlank.qlref
│ │ │ │ ├── tst.html
│ │ │ │ └── tst.js
│ │ ├── Declarations
│ │ │ ├── ArgumentsRedefined
│ │ │ │ ├── ArgumentsRedefined.expected
│ │ │ │ ├── ArgumentsRedefined.qlref
│ │ │ │ ├── externs.js
│ │ │ │ ├── tst.js
│ │ │ │ └── types.d.ts
│ │ │ ├── AssignmentToConst
│ │ │ │ ├── AssignmentToConst.expected
│ │ │ │ ├── AssignmentToConst.qlref
│ │ │ │ ├── classes.js
│ │ │ │ ├── const6.js
│ │ │ │ ├── functions.js
│ │ │ │ ├── other.js
│ │ │ │ └── tst.js
│ │ │ ├── ClobberingVarInit
│ │ │ │ ├── ClobberingVarInit.expected
│ │ │ │ ├── ClobberingVarInit.qlref
│ │ │ │ └── tst.js
│ │ │ ├── ConflictingFunctions
│ │ │ │ ├── ConflictingFunctions.expected
│ │ │ │ ├── ConflictingFunctions.qlref
│ │ │ │ ├── tst.js
│ │ │ │ └── tst2.ts
│ │ │ ├── DeadStoreOfGlobal
│ │ │ │ ├── DeadStoreOfGlobal.expected
│ │ │ │ ├── DeadStoreOfGlobal.qlref
│ │ │ │ ├── externs.js
│ │ │ │ ├── node.js
│ │ │ │ ├── tst.js
│ │ │ │ ├── with.js
│ │ │ │ └── worker.js
│ │ │ ├── DeadStoreOfLocal
│ │ │ │ ├── DeadStoreOfLocal.expected
│ │ │ │ ├── DeadStoreOfLocal.qlref
│ │ │ │ ├── computedFieldNames.ts
│ │ │ │ ├── computedInterfaceProperty.ts
│ │ │ │ ├── exportDefaultClass.ts
│ │ │ │ ├── exportDefaultFunction.ts
│ │ │ │ ├── exportSymbol.ts
│ │ │ │ ├── extends.js
│ │ │ │ ├── externs.js
│ │ │ │ ├── fields.js
│ │ │ │ ├── for-of-continue.js
│ │ │ │ ├── fundecls.js
│ │ │ │ ├── fundecls2.js
│ │ │ │ ├── m.js
│ │ │ │ ├── namespace.ts
│ │ │ │ ├── options
│ │ │ │ ├── overload.ts
│ │ │ │ ├── tst.js
│ │ │ │ ├── tst2.js
│ │ │ │ ├── tst3.js
│ │ │ │ └── tst3b.js
│ │ │ ├── DeadStoreOfProperty
│ │ │ │ ├── DeadStoreOfProperty.expected
│ │ │ │ ├── DeadStoreOfProperty.qlref
│ │ │ │ ├── accessors.js
│ │ │ │ ├── closure-compiler-tricks.js
│ │ │ │ ├── exports.js
│ │ │ │ ├── externs.js
│ │ │ │ ├── fieldInit.ts
│ │ │ │ ├── list-manipulation.js
│ │ │ │ ├── odasa-7636.js
│ │ │ │ ├── real-world-examples.js
│ │ │ │ └── tst.js
│ │ │ ├── DeclBeforeUse
│ │ │ │ ├── DeclBeforeUse.expected
│ │ │ │ ├── DeclBeforeUse.qlref
│ │ │ │ ├── es2015.js
│ │ │ │ ├── jslint.js
│ │ │ │ ├── tst.js
│ │ │ │ ├── tst2.js
│ │ │ │ └── typescript.ts
│ │ │ ├── DefaultArgumentReferencesNestedFunction
│ │ │ │ ├── DefaultArgumentReferencesNestedFunction.expected
│ │ │ │ ├── DefaultArgumentReferencesNestedFunction.qlref
│ │ │ │ └── tst.js
│ │ │ ├── DuplicateVarDecl
│ │ │ │ ├── DuplicateVarDecl.expected
│ │ │ │ ├── DuplicateVarDecl.qlref
│ │ │ │ └── tst.js
│ │ │ ├── IneffectiveParameterType
│ │ │ │ ├── IneffectiveParameterType.expected
│ │ │ │ ├── IneffectiveParameterType.qlref
│ │ │ │ ├── tst.js
│ │ │ │ └── tst.ts
│ │ │ ├── MissingThisQualifier
│ │ │ │ ├── MissingThisQualifier.expected
│ │ │ │ ├── MissingThisQualifier.qlref
│ │ │ │ ├── abstract-missing.ts
│ │ │ │ ├── externs.js
│ │ │ │ ├── ignored-by-externs.js
│ │ │ │ ├── ignored-by-jslint.js
│ │ │ │ ├── indirection.js
│ │ │ │ ├── missing1.js
│ │ │ │ ├── missing2.js
│ │ │ │ ├── namespaces-defs.ts
│ │ │ │ ├── namespaces-uses.ts
│ │ │ │ ├── non-global.js
│ │ │ │ ├── not-ignored-by-jslint.js
│ │ │ │ ├── present1.js
│ │ │ │ ├── present2.js
│ │ │ │ └── present3.js
│ │ │ ├── MissingVarDecl
│ │ │ │ ├── MissingVarDecl.expected
│ │ │ │ ├── MissingVarDecl.qlref
│ │ │ │ ├── test.js
│ │ │ │ ├── test2.js
│ │ │ │ └── tst3.js
│ │ │ ├── MixedStaticInstanceThisAccess
│ │ │ │ ├── MixedStaticInstanceThisAccess.expected
│ │ │ │ ├── MixedStaticInstanceThisAccess.qlref
│ │ │ │ ├── instanceInstance.js
│ │ │ │ ├── instanceInstanceWithStaticExtra.js
│ │ │ │ ├── instanceStatic.js
│ │ │ │ ├── lvalue.js
│ │ │ │ ├── staticInstance.js
│ │ │ │ ├── staticStatic.js
│ │ │ │ ├── staticStaticWithInstanceExtra.js
│ │ │ │ ├── throughClass.js
│ │ │ │ └── tst.js
│ │ │ ├── RedeclaredVariable
│ │ │ │ ├── RedeclaredVariable.expected
│ │ │ │ ├── RedeclaredVariable.qlref
│ │ │ │ ├── externs.js
│ │ │ │ ├── redeclaredVariable2.js
│ │ │ │ ├── restprops.js
│ │ │ │ ├── sameNameForFunctionAndVariable.js
│ │ │ │ ├── tst.js
│ │ │ │ ├── tst.ts
│ │ │ │ ├── tst2.js
│ │ │ │ ├── tst3.js
│ │ │ │ └── tst4.js
│ │ │ ├── SuspiciousMethodNameDeclaration
│ │ │ │ ├── SuspiciousMethodNameDeclaration.expected
│ │ │ │ ├── SuspiciousMethodNameDeclaration.qlref
│ │ │ │ ├── tst.js
│ │ │ │ └── tst.ts
│ │ │ ├── TemporalDeadZone
│ │ │ │ ├── TemporalDeadZone.expected
│ │ │ │ ├── TemporalDeadZone.qlref
│ │ │ │ └── tst.js
│ │ │ ├── TooManyParameters
│ │ │ │ ├── TooManyParameters.expected
│ │ │ │ ├── TooManyParameters.qlref
│ │ │ │ ├── excessiveParameterList.js
│ │ │ │ ├── externs.js
│ │ │ │ └── module.js
│ │ │ ├── UniqueParameterNames
│ │ │ │ ├── UniqueParameterNames.expected
│ │ │ │ ├── UniqueParameterNames.qlref
│ │ │ │ ├── options
│ │ │ │ └── tst.js
│ │ │ ├── UniquePropertyNames
│ │ │ │ ├── UniquePropertyNames.expected
│ │ │ │ ├── UniquePropertyNames.qlref
│ │ │ │ ├── accessors.ts
│ │ │ │ ├── tst.js
│ │ │ │ └── tst2.js
│ │ │ ├── UnreachableOverloads
│ │ │ │ ├── UnreachableMethodOverloads.expected
│ │ │ │ ├── UnreachableMethodOverloads.qlref
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.ts
│ │ │ ├── UnstableCyclicImport
│ │ │ │ ├── A.ts
│ │ │ │ ├── B.ts
│ │ │ │ ├── ExampleBad
│ │ │ │ │ ├── audio.js
│ │ │ │ │ ├── client.js
│ │ │ │ │ ├── services.js
│ │ │ │ │ └── store.js
│ │ │ │ ├── ExampleGood
│ │ │ │ │ ├── audio.js
│ │ │ │ │ ├── client.js
│ │ │ │ │ ├── service_base.js
│ │ │ │ │ ├── services.js
│ │ │ │ │ └── store.js
│ │ │ │ ├── UnstableCyclicImport.expected
│ │ │ │ ├── UnstableCyclicImport.qlref
│ │ │ │ ├── acyclicImport.ts
│ │ │ │ ├── entryA.ts
│ │ │ │ ├── entryB.ts
│ │ │ │ ├── exportCycleA.ts
│ │ │ │ ├── exportCycleB.ts
│ │ │ │ ├── exportCycleEntryA.ts
│ │ │ │ ├── exportCycleEntryB.ts
│ │ │ │ ├── safeA.ts
│ │ │ │ ├── safeB.ts
│ │ │ │ ├── typeA.ts
│ │ │ │ └── typeB.ts
│ │ │ ├── UnusedParameter
│ │ │ │ ├── UnusedParameter.expected
│ │ │ │ ├── UnusedParameter.qlref
│ │ │ │ ├── externs.js
│ │ │ │ ├── istype.ts
│ │ │ │ ├── parameter_field.ts
│ │ │ │ ├── restprops.js
│ │ │ │ ├── setter.js
│ │ │ │ ├── thisparameter.ts
│ │ │ │ ├── tst.js
│ │ │ │ ├── tst2.js
│ │ │ │ └── typeoftype.ts
│ │ │ ├── UnusedProperty
│ │ │ │ ├── UnusedProperty.expected
│ │ │ │ ├── UnusedProperty.qlref
│ │ │ │ ├── tst-yield.js
│ │ │ │ ├── tst.js
│ │ │ │ └── tst2.ts
│ │ │ └── UnusedVariable
│ │ │ │ ├── Babelrc
│ │ │ │ ├── .babelrc.json
│ │ │ │ └── importPragma.jsx
│ │ │ │ ├── UnusedIndexVariable.js
│ │ │ │ ├── UnusedVariable.expected
│ │ │ │ ├── UnusedVariable.qlref
│ │ │ │ ├── dead.js
│ │ │ │ ├── decorated.ts
│ │ │ │ ├── es2015.js
│ │ │ │ ├── eval.js
│ │ │ │ ├── exportenum.ts
│ │ │ │ ├── externs.js
│ │ │ │ ├── funbind.js
│ │ │ │ ├── importWithoutPragma.jsx
│ │ │ │ ├── importtype.ts
│ │ │ │ ├── jsx.js
│ │ │ │ ├── jsxpragma.js
│ │ │ │ ├── multi-imports.js
│ │ │ │ ├── namespaceImportAsType.ts
│ │ │ │ ├── node.js
│ │ │ │ ├── options
│ │ │ │ ├── react-jsx.js
│ │ │ │ ├── require-react-1.js
│ │ │ │ ├── require-react-2.js
│ │ │ │ ├── require-react-3.js
│ │ │ │ ├── require-react-in-other-scope.js
│ │ │ │ ├── restprops.js
│ │ │ │ ├── thisparam.ts
│ │ │ │ ├── ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── usesreact.tsx
│ │ │ │ ├── typeInTemplateLiteralTag.ts
│ │ │ │ ├── typeoftype.ts
│ │ │ │ ├── types.d.ts
│ │ │ │ ├── underscore.js
│ │ │ │ └── unusedShadowed.ts
│ │ ├── Electron
│ │ │ ├── DangerousWebPreferencesSettings
│ │ │ │ ├── AllowRunningInsecureContent.expected
│ │ │ │ ├── AllowRunningInsecureContent.qlref
│ │ │ │ ├── DangerousWebPreferences.js
│ │ │ │ ├── DisablingWebSecurity.expected
│ │ │ │ └── DisablingWebSecurity.qlref
│ │ │ └── NodeIntegration
│ │ │ │ ├── EnablingNodeIntegration.expected
│ │ │ │ ├── EnablingNodeIntegration.js
│ │ │ │ └── EnablingNodeIntegration.qlref
│ │ ├── Expressions
│ │ │ ├── BitwiseSignCheck
│ │ │ │ ├── BitwiseSignCheck.expected
│ │ │ │ ├── BitwiseSignCheck.qlref
│ │ │ │ └── tst.js
│ │ │ ├── CompareIdenticalValues
│ │ │ │ ├── CompareIdenticalValues.expected
│ │ │ │ ├── CompareIdenticalValues.qlref
│ │ │ │ ├── templates.js
│ │ │ │ └── tst.js
│ │ │ ├── ComparisonWithNaN
│ │ │ │ ├── ComparisonWithNaN.expected
│ │ │ │ ├── ComparisonWithNaN.qlref
│ │ │ │ └── tst.js
│ │ │ ├── DuplicateCondition
│ │ │ │ ├── DuplicateCondition.expected
│ │ │ │ ├── DuplicateCondition.qlref
│ │ │ │ └── tst.js
│ │ │ ├── DuplicateProperty
│ │ │ │ ├── DuplicateProperty.expected
│ │ │ │ ├── DuplicateProperty.qlref
│ │ │ │ ├── tst.js
│ │ │ │ └── tst2.js
│ │ │ ├── DuplicateSwitchCase
│ │ │ │ ├── DuplicateSwitchCase.expected
│ │ │ │ ├── DuplicateSwitchCase.qlref
│ │ │ │ └── tst.js
│ │ │ ├── ExprHasNoEffect
│ │ │ │ ├── ExprHasNoEffect.expected
│ │ │ │ ├── ExprHasNoEffect.qlref
│ │ │ │ ├── babel.js
│ │ │ │ ├── config.js
│ │ │ │ ├── es2015.js
│ │ │ │ ├── externs.js
│ │ │ │ ├── externs2.js
│ │ │ │ ├── jsonlike.js
│ │ │ │ ├── ngInject.js
│ │ │ │ ├── options
│ │ │ │ ├── should.js
│ │ │ │ ├── systemjs.js
│ │ │ │ ├── try.js
│ │ │ │ ├── tst.html
│ │ │ │ ├── tst.js
│ │ │ │ ├── tst2.js
│ │ │ │ ├── uselessfn.js
│ │ │ │ └── xUnit.js
│ │ │ ├── HeterogeneousComparison
│ │ │ │ ├── HeterogeneousComparison.expected
│ │ │ │ ├── HeterogeneousComparison.qlref
│ │ │ │ ├── baseGetTag.js
│ │ │ │ ├── interprocedural.js
│ │ │ │ ├── options
│ │ │ │ └── tst.js
│ │ │ ├── ImplicitOperandConversion
│ │ │ │ ├── ImplicitOperandConversion.expected
│ │ │ │ ├── ImplicitOperandConversion.qlref
│ │ │ │ ├── options
│ │ │ │ └── tst.js
│ │ │ ├── MissingAwait
│ │ │ │ ├── MissingAwait.expected
│ │ │ │ ├── MissingAwait.qlref
│ │ │ │ ├── tsTest.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── tst.js
│ │ │ ├── MissingDotLengthInComparison
│ │ │ │ ├── MissingDotLengthInComparison.expected
│ │ │ │ ├── MissingDotLengthInComparison.js
│ │ │ │ └── MissingDotLengthInComparison.qlref
│ │ │ ├── MissingSpaceInAppend
│ │ │ │ ├── MissingSpaceInAppend.expected
│ │ │ │ ├── MissingSpaceInAppend.qlref
│ │ │ │ ├── missing.js
│ │ │ │ └── ok.js
│ │ │ ├── MisspelledIdentifier
│ │ │ │ ├── MisspelledIdentifier.expected
│ │ │ │ ├── MisspelledIdentifier.qlref
│ │ │ │ └── tst.js
│ │ │ ├── MisspelledVariableName
│ │ │ │ ├── MisspelledVariableName.expected
│ │ │ │ ├── MisspelledVariableName.js
│ │ │ │ ├── MisspelledVariableName.qlref
│ │ │ │ └── tst.js
│ │ │ ├── RedundantExpression
│ │ │ │ ├── RedundantExpression.expected
│ │ │ │ ├── RedundantExpression.qlref
│ │ │ │ └── tst.js
│ │ │ ├── SelfAssignment
│ │ │ │ ├── SelfAssignment.expected
│ │ │ │ ├── SelfAssignment.qlref
│ │ │ │ ├── externs.js
│ │ │ │ ├── jsdoc.js
│ │ │ │ └── tst.js
│ │ │ ├── ShiftOutOfRange
│ │ │ │ ├── ShiftOutOfRange.expected
│ │ │ │ ├── ShiftOutOfRange.qlref
│ │ │ │ ├── options
│ │ │ │ └── tst.js
│ │ │ ├── StringInsteadOfRegex
│ │ │ │ ├── StringInsteadOfRegex.expected
│ │ │ │ ├── StringInsteadOfRegex.qlref
│ │ │ │ └── tst.js
│ │ │ ├── SuspiciousInvocation
│ │ │ │ ├── SuspiciousInvocation.expected
│ │ │ │ ├── SuspiciousInvocation.js
│ │ │ │ ├── SuspiciousInvocation.qlref
│ │ │ │ ├── SuspiciousInvocationGood.js
│ │ │ │ ├── SuspiciousInvocationGood2.js
│ │ │ │ ├── ambient_extends.d.ts
│ │ │ │ ├── classexpr.js
│ │ │ │ ├── eval.js
│ │ │ │ ├── fields.js
│ │ │ │ ├── fundecls.js
│ │ │ │ ├── l20n-service.js
│ │ │ │ ├── namespace.ts
│ │ │ │ ├── optional-chaining.js
│ │ │ │ ├── options
│ │ │ │ ├── super.js
│ │ │ │ └── unreachable-code.js
│ │ │ ├── SuspiciousPropAccess
│ │ │ │ ├── SuspiciousPropAccess.expected
│ │ │ │ ├── SuspiciousPropAccess.js
│ │ │ │ ├── SuspiciousPropAccess.qlref
│ │ │ │ ├── SuspiciousPropAccessGood.js
│ │ │ │ ├── class_in_module.ts
│ │ │ │ ├── classes.js
│ │ │ │ ├── destructureInForOf.ts
│ │ │ │ ├── export_equals.ts
│ │ │ │ ├── export_equals_client.ts
│ │ │ │ ├── export_import.ts
│ │ │ │ ├── export_import_client.ts
│ │ │ │ ├── optional-chaining.js
│ │ │ │ ├── options
│ │ │ │ ├── tst.js
│ │ │ │ ├── tst2.ts
│ │ │ │ ├── typeassertion.ts
│ │ │ │ ├── typeoftype.ts
│ │ │ │ └── yield_in_non_generator.js
│ │ │ ├── UnboundEventHandlerReceiver
│ │ │ │ ├── UnboundEventHandlerReceiver.expected
│ │ │ │ ├── UnboundEventHandlerReceiver.qlref
│ │ │ │ ├── options
│ │ │ │ └── tst.js
│ │ │ ├── UnclearOperatorPrecedence
│ │ │ │ ├── UnclearOperatorPrecedence.expected
│ │ │ │ ├── UnclearOperatorPrecedence.qlref
│ │ │ │ ├── tst.js
│ │ │ │ └── tst.min.js
│ │ │ ├── UnknownDirective
│ │ │ │ ├── UnknownDirective.expected
│ │ │ │ ├── UnknownDirective.html
│ │ │ │ ├── UnknownDirective.js
│ │ │ │ ├── UnknownDirective.qlref
│ │ │ │ └── dual-use.js
│ │ │ ├── UnneededDefensiveProgramming
│ │ │ │ ├── HeterogeneousComparison.expected
│ │ │ │ ├── HeterogeneousComparison.qlref
│ │ │ │ ├── UnneededDefensiveProgramming.expected
│ │ │ │ ├── UnneededDefensiveProgramming.qlref
│ │ │ │ ├── UselessConditional.expected
│ │ │ │ ├── UselessConditional.qlref
│ │ │ │ ├── global-module-definition.js
│ │ │ │ ├── module-environment-detection.js
│ │ │ │ ├── regression.js
│ │ │ │ ├── tst.js
│ │ │ │ └── tst2.js
│ │ │ └── WhitespaceContradictsPrecedence
│ │ │ │ ├── WhitespaceContradictsPrecedence.expected
│ │ │ │ ├── WhitespaceContradictsPrecedence.qlref
│ │ │ │ └── tst.js
│ │ ├── JSDoc
│ │ │ ├── BadParamTag
│ │ │ │ ├── BadParamTag.expected
│ │ │ │ ├── BadParamTag.qlref
│ │ │ │ ├── externs.js
│ │ │ │ └── tst.js
│ │ │ ├── JSDocForNonExistentParameter
│ │ │ │ ├── JSDocForNonExistentParameter.expected
│ │ │ │ ├── JSDocForNonExistentParameter.qlref
│ │ │ │ └── tst.js
│ │ │ └── UndocumentedParameter
│ │ │ │ ├── UndocumentedParameter.expected
│ │ │ │ ├── UndocumentedParameter.qlref
│ │ │ │ └── tst.js
│ │ ├── LanguageFeatures
│ │ │ ├── ArgumentsCallerCallee
│ │ │ │ ├── ArgumentsCallerCallee.expected
│ │ │ │ ├── ArgumentsCallerCallee.qlref
│ │ │ │ └── tst.js
│ │ │ ├── BadTypeof
│ │ │ │ ├── BadTypeof.expected
│ │ │ │ ├── BadTypeof.qlref
│ │ │ │ └── tst.js
│ │ │ ├── ConditionalComments
│ │ │ │ ├── ConditionalComments.expected
│ │ │ │ ├── ConditionalComments.qlref
│ │ │ │ └── conditionalComment.js
│ │ │ ├── DebuggerStatement
│ │ │ │ ├── DebuggerStatement.expected
│ │ │ │ ├── DebuggerStatement.qlref
│ │ │ │ └── debuggerStatement.js
│ │ │ ├── DeleteVar
│ │ │ │ ├── DeleteVar.expected
│ │ │ │ ├── DeleteVar.qlref
│ │ │ │ └── tst.js
│ │ │ ├── EmptyArrayInit
│ │ │ │ ├── EmptyArrayInit.expected
│ │ │ │ ├── EmptyArrayInit.qlref
│ │ │ │ └── tst.js
│ │ │ ├── Eval
│ │ │ │ ├── Eval.expected
│ │ │ │ ├── Eval.qlref
│ │ │ │ └── eval.js
│ │ │ ├── ExpressionClosures
│ │ │ │ ├── ExpressionClosures.expected
│ │ │ │ ├── ExpressionClosures.qlref
│ │ │ │ ├── foreach.js
│ │ │ │ ├── jscript.js
│ │ │ │ ├── letExpr.js
│ │ │ │ ├── letStmt.js
│ │ │ │ ├── options
│ │ │ │ ├── postfixComprehension.js
│ │ │ │ └── tst.js
│ │ │ ├── ForInComprehensionBlocks
│ │ │ │ ├── ForInComprehensionBlocks.expected
│ │ │ │ ├── ForInComprehensionBlocks.qlref
│ │ │ │ ├── options
│ │ │ │ └── tst.js
│ │ │ ├── IllegalInvocation
│ │ │ │ ├── IllegalInvocation.expected
│ │ │ │ ├── IllegalInvocation.qlref
│ │ │ │ └── tst.js
│ │ │ ├── InconsistentNew
│ │ │ │ ├── InconsistentNew.expected
│ │ │ │ ├── InconsistentNew.qlref
│ │ │ │ ├── a1.js
│ │ │ │ ├── a2.js
│ │ │ │ ├── arraycalls.js
│ │ │ │ ├── arraydef.js
│ │ │ │ ├── c1.js
│ │ │ │ ├── c2.js
│ │ │ │ ├── externs.js
│ │ │ │ ├── m.js
│ │ │ │ └── tst.js
│ │ │ ├── InvalidPrototype
│ │ │ │ ├── InvalidPrototype.expected
│ │ │ │ ├── InvalidPrototype.qlref
│ │ │ │ └── tst.js
│ │ │ ├── JumpFromFinally
│ │ │ │ ├── JumpFromFinally.expected
│ │ │ │ ├── JumpFromFinally.qlref
│ │ │ │ └── tst.js
│ │ │ ├── LengthComparisonOffByOne
│ │ │ │ ├── LengthComparisonOffByOne.expected
│ │ │ │ ├── LengthComparisonOffByOne.qlref
│ │ │ │ └── tst.js
│ │ │ ├── NonLinearPattern
│ │ │ │ ├── NonLinearPattern.expected
│ │ │ │ ├── NonLinearPattern.qlref
│ │ │ │ ├── NonLinearPatternTS.ts
│ │ │ │ ├── NonLinearPatternTSGood.ts
│ │ │ │ ├── ts-test.ts
│ │ │ │ └── tst.js
│ │ │ ├── PropertyWriteOnPrimitive
│ │ │ │ ├── PropertyWriteOnPrimitive.expected
│ │ │ │ ├── PropertyWriteOnPrimitive.qlref
│ │ │ │ └── tst.js
│ │ │ ├── SemicolonInsertion
│ │ │ │ ├── SemicolonInsertion.expected
│ │ │ │ ├── SemicolonInsertion.qlref
│ │ │ │ ├── export.js
│ │ │ │ ├── jscript.js
│ │ │ │ ├── options
│ │ │ │ └── tst.js
│ │ │ ├── SetterIgnoresParameter
│ │ │ │ ├── SetterIgnoresParameter.expected
│ │ │ │ ├── SetterIgnoresParameter.qlref
│ │ │ │ └── tst.js
│ │ │ ├── SetterReturn
│ │ │ │ ├── SetterReturn.expected
│ │ │ │ ├── SetterReturn.qlref
│ │ │ │ └── tst.js
│ │ │ ├── SpuriousArguments
│ │ │ │ ├── SpuriousArguments.expected
│ │ │ │ ├── SpuriousArguments.qlref
│ │ │ │ ├── arrowfn.js
│ │ │ │ ├── es2015.js
│ │ │ │ ├── externs.js
│ │ │ │ ├── globals.js
│ │ │ │ ├── reflection.js
│ │ │ │ ├── restargs.js
│ │ │ │ ├── thisparameter.ts
│ │ │ │ └── tst.js
│ │ │ ├── StrictModeCallStackIntrospection
│ │ │ │ ├── StrictModeCallStackIntrospection.expected
│ │ │ │ ├── StrictModeCallStackIntrospection.qlref
│ │ │ │ └── tst.js
│ │ │ ├── SyntaxError
│ │ │ │ ├── SyntaxError.expected
│ │ │ │ ├── SyntaxError.qlref
│ │ │ │ ├── arrows.js
│ │ │ │ ├── destructingPrivate.js
│ │ │ │ ├── options
│ │ │ │ ├── privateMethod.js
│ │ │ │ ├── tst.html
│ │ │ │ └── tst.js
│ │ │ ├── TemplateSyntaxInStringLiteral
│ │ │ │ ├── TemplateSyntaxInStringLiteral.expected
│ │ │ │ ├── TemplateSyntaxInStringLiteral.js
│ │ │ │ └── TemplateSyntaxInStringLiteral.qlref
│ │ │ ├── ThisBeforeSuper
│ │ │ │ ├── LICENSE
│ │ │ │ ├── ThisBeforeSuper.expected
│ │ │ │ ├── ThisBeforeSuper.qlref
│ │ │ │ ├── invalid.js
│ │ │ │ └── valid.js
│ │ │ ├── UnusedIndexVariable
│ │ │ │ ├── UnusedIndexVariable.expected
│ │ │ │ ├── UnusedIndexVariable.js
│ │ │ │ ├── UnusedIndexVariable.qlref
│ │ │ │ ├── UnusedIndexVariable2.js
│ │ │ │ ├── UnusedIndexVariableGood.js
│ │ │ │ ├── UnusedIndexVariableGood2.js
│ │ │ │ └── tst.js
│ │ │ ├── WithStatement
│ │ │ │ ├── WithStatement.expected
│ │ │ │ ├── WithStatement.qlref
│ │ │ │ └── withStatement.js
│ │ │ └── YieldInNonGenerator
│ │ │ │ ├── YieldInNonGenerator.expected
│ │ │ │ ├── YieldInNonGenerator.qlref
│ │ │ │ ├── options
│ │ │ │ └── tst.js
│ │ ├── Metrics
│ │ │ ├── ExternalDependencies
│ │ │ │ ├── ExternalDependencies.expected
│ │ │ │ ├── ExternalDependencies.qlref
│ │ │ │ ├── README
│ │ │ │ └── src
│ │ │ │ │ ├── a.js
│ │ │ │ │ ├── b.js
│ │ │ │ │ ├── jquery.js
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── sub
│ │ │ │ │ ├── c.js
│ │ │ │ │ └── subsub
│ │ │ │ │ │ ├── d.js
│ │ │ │ │ │ └── package.json
│ │ │ │ │ └── tst.html
│ │ │ └── FLinesOfCode
│ │ │ │ ├── FLinesOfCode.expected
│ │ │ │ ├── FLinesOfCode.qlref
│ │ │ │ ├── tst.html
│ │ │ │ └── tst.js
│ │ ├── NodeJS
│ │ │ ├── CyclicImport
│ │ │ │ ├── CyclicImport.expected
│ │ │ │ ├── CyclicImport.qlref
│ │ │ │ ├── Require_getImportedFile.expected
│ │ │ │ ├── Require_getImportedFile.ql
│ │ │ │ ├── a.js
│ │ │ │ ├── b.js
│ │ │ │ ├── main.js
│ │ │ │ ├── selfimport.js
│ │ │ │ ├── test1
│ │ │ │ │ ├── a.js
│ │ │ │ │ └── b.js
│ │ │ │ └── test2
│ │ │ │ │ └── inner
│ │ │ │ │ └── a.js
│ │ │ ├── DubiousImport
│ │ │ │ ├── DubiousImport.expected
│ │ │ │ ├── DubiousImport.qlref
│ │ │ │ ├── a.js
│ │ │ │ ├── b.js
│ │ │ │ ├── c.js
│ │ │ │ ├── d.js
│ │ │ │ ├── e.js
│ │ │ │ ├── export_getter.js
│ │ │ │ ├── externs.js
│ │ │ │ ├── f.js
│ │ │ │ ├── fs-monkeypatch.js
│ │ │ │ ├── fs.js
│ │ │ │ ├── g.js
│ │ │ │ ├── h.js
│ │ │ │ ├── k.js
│ │ │ │ ├── l.js
│ │ │ │ ├── m.js
│ │ │ │ ├── main.js
│ │ │ │ ├── multi_import.js
│ │ │ │ └── n.js
│ │ │ ├── InvalidExport
│ │ │ │ ├── InvalidExport.expected
│ │ │ │ ├── InvalidExport.qlref
│ │ │ │ ├── tst.js
│ │ │ │ ├── tst2a.js
│ │ │ │ ├── tst2b.js
│ │ │ │ ├── tst2c.js
│ │ │ │ ├── tst3.js
│ │ │ │ ├── tst3b.js
│ │ │ │ ├── tst4.js
│ │ │ │ ├── tst5.js
│ │ │ │ └── tst6.js
│ │ │ ├── MissingExports
│ │ │ │ ├── .eslintrc.json
│ │ │ │ ├── MissingExports.expected
│ │ │ │ ├── MissingExports.js
│ │ │ │ ├── MissingExports.qlref
│ │ │ │ ├── MissingExportsGood.js
│ │ │ │ ├── MissingExportsGood2.js
│ │ │ │ ├── MissingExportsGood3.js
│ │ │ │ ├── a.js
│ │ │ │ ├── b.js
│ │ │ │ ├── externs.js
│ │ │ │ └── tst.js
│ │ │ ├── UnresolvableImport
│ │ │ │ ├── UnresolvableImport.expected
│ │ │ │ ├── UnresolvableImport.qlref
│ │ │ │ ├── externs
│ │ │ │ │ ├── fs.js
│ │ │ │ │ └── other.js
│ │ │ │ ├── src
│ │ │ │ │ ├── m.js
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── sub
│ │ │ │ │ │ ├── node_modules
│ │ │ │ │ │ │ ├── mod
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ └── othermod
│ │ │ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ │ │ └── package.json
│ │ │ │ │ │ ├── subsub
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── tst.js
│ │ │ │ │ │ └── tst.js
│ │ │ │ │ └── tst.js
│ │ │ │ └── tst.js
│ │ │ └── UnusedDependency
│ │ │ │ ├── UnusedDependency.expected
│ │ │ │ ├── UnusedDependency.qlref
│ │ │ │ └── src
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── js-import-require.js
│ │ │ │ ├── mjs-import-require.mjs
│ │ │ │ ├── other.js
│ │ │ │ ├── package-lock.json
│ │ │ │ └── package.json
│ │ ├── Performance
│ │ │ ├── NonLocalForIn
│ │ │ │ ├── NonLocalForIn.expected
│ │ │ │ ├── NonLocalForIn.qlref
│ │ │ │ └── tst.js
│ │ │ ├── ReDoS
│ │ │ │ ├── ANodeBlog-LICENSE
│ │ │ │ ├── CodeMirror-LICENSE
│ │ │ │ ├── PolynomialBackTracking.expected
│ │ │ │ ├── PolynomialBackTracking.ql
│ │ │ │ ├── PolynomialReDoS.expected
│ │ │ │ ├── PolynomialReDoS.qlref
│ │ │ │ ├── Prism-LICENSE
│ │ │ │ ├── Prototype.js-LICENSE
│ │ │ │ ├── ReDoS.expected
│ │ │ │ ├── ReDoS.qlref
│ │ │ │ ├── brace-expansion-LICENSE
│ │ │ │ ├── emptiness.js
│ │ │ │ ├── highlight.js
│ │ │ │ ├── jest-LICENSE
│ │ │ │ ├── jsonschema.js
│ │ │ │ ├── knockout-LICENSE
│ │ │ │ ├── lib
│ │ │ │ │ ├── closure.js
│ │ │ │ │ └── lib.js
│ │ │ │ ├── marked-LICENSE
│ │ │ │ ├── package.json
│ │ │ │ ├── polynomial-redos.js
│ │ │ │ ├── regexplib
│ │ │ │ │ ├── address.js
│ │ │ │ │ ├── dates.js
│ │ │ │ │ ├── email.js
│ │ │ │ │ ├── markup.js
│ │ │ │ │ ├── misc.js
│ │ │ │ │ ├── numbers.js
│ │ │ │ │ ├── strings.js
│ │ │ │ │ └── uri.js
│ │ │ │ └── tst.js
│ │ │ └── ReassignParameterAndUseArguments
│ │ │ │ ├── ReassignParameterAndUseArguments.expected
│ │ │ │ ├── ReassignParameterAndUseArguments.qlref
│ │ │ │ └── tst.js
│ │ ├── React
│ │ │ ├── DirectStateMutation
│ │ │ │ ├── DirectStateMutation.expected
│ │ │ │ ├── DirectStateMutation.qlref
│ │ │ │ ├── README
│ │ │ │ ├── invalid1.js
│ │ │ │ ├── invalid2.js
│ │ │ │ ├── invalid3.js
│ │ │ │ ├── invalid4.js
│ │ │ │ ├── invalid5.js
│ │ │ │ ├── invalid6.js
│ │ │ │ ├── invalid7.js
│ │ │ │ ├── options
│ │ │ │ ├── valid1.js
│ │ │ │ ├── valid2.js
│ │ │ │ ├── valid3.js
│ │ │ │ ├── valid4.js
│ │ │ │ ├── valid6.js
│ │ │ │ ├── valid7.js
│ │ │ │ ├── valid8.js
│ │ │ │ └── valid9.js
│ │ │ ├── InconsistentStateUpdate
│ │ │ │ ├── InconsistentStateUpdate.expected
│ │ │ │ ├── InconsistentStateUpdate.qlref
│ │ │ │ └── tst.js
│ │ │ ├── UnsupportedStateUpdateInLifecycleMethod
│ │ │ │ ├── UnsupportedStateUpdateInLifecycleMethod.expected
│ │ │ │ ├── UnsupportedStateUpdateInLifecycleMethod.qlref
│ │ │ │ └── tst.js
│ │ │ └── UnusedOrUndefinedStateProperty
│ │ │ │ ├── UnusedOrUndefinedStateProperty.expected
│ │ │ │ ├── UnusedOrUndefinedStateProperty.qlref
│ │ │ │ ├── issue-2389.reduced.js
│ │ │ │ ├── issue7506.js
│ │ │ │ ├── options
│ │ │ │ ├── undefined.js
│ │ │ │ └── unused.js
│ │ ├── RegExp
│ │ │ ├── BackrefBeforeGroup
│ │ │ │ ├── BackrefBeforeGroup.expected
│ │ │ │ ├── BackrefBeforeGroup.qlref
│ │ │ │ └── tst.js
│ │ │ ├── BackrefIntoNegativeLookahead
│ │ │ │ ├── BackrefIntoNegativeLookahead.expected
│ │ │ │ ├── BackrefIntoNegativeLookahead.qlref
│ │ │ │ └── tst.js
│ │ │ ├── BackspaceEscape
│ │ │ │ ├── BackspaceEscape.expected
│ │ │ │ ├── BackspaceEscape.qlref
│ │ │ │ └── tst.js
│ │ │ ├── DuplicateCharacterInCharacterClass
│ │ │ │ ├── DuplicateCharacterInCharacterClass.expected
│ │ │ │ ├── DuplicateCharacterInCharacterClass.qlref
│ │ │ │ └── tst.js
│ │ │ ├── EmptyCharacterClass
│ │ │ │ ├── EmptyCharacterClass.expected
│ │ │ │ ├── EmptyCharacterClass.qlref
│ │ │ │ └── tst.js
│ │ │ ├── IdentityReplacement
│ │ │ │ ├── IdentityReplacement.expected
│ │ │ │ ├── IdentityReplacement.js
│ │ │ │ ├── IdentityReplacement.qlref
│ │ │ │ ├── IdentityReplacementGood.js
│ │ │ │ └── tst.js
│ │ │ ├── MalformedRegExp
│ │ │ │ ├── MalformedRegExp.expected
│ │ │ │ ├── MalformedRegExp.qlref
│ │ │ │ └── tst.js
│ │ │ ├── RegExpAlwaysMatches
│ │ │ │ ├── RegExpAlwaysMatches.expected
│ │ │ │ ├── RegExpAlwaysMatches.qlref
│ │ │ │ └── tst.js
│ │ │ ├── UnboundBackref
│ │ │ │ ├── UnboundBackref.expected
│ │ │ │ ├── UnboundBackref.qlref
│ │ │ │ └── tst.js
│ │ │ ├── UnmatchableCaret
│ │ │ │ ├── UnmatchableCaret.expected
│ │ │ │ ├── UnmatchableCaret.qlref
│ │ │ │ └── tst.js
│ │ │ └── UnmatchableDollar
│ │ │ │ ├── UnmatchableDollar.expected
│ │ │ │ ├── UnmatchableDollar.qlref
│ │ │ │ └── tst.js
│ │ ├── Security
│ │ │ ├── CWE-020
│ │ │ │ ├── IncompleteHostnameRegExp.expected
│ │ │ │ ├── IncompleteHostnameRegExp.qlref
│ │ │ │ ├── IncompleteUrlSchemeCheck.expected
│ │ │ │ ├── IncompleteUrlSchemeCheck.js
│ │ │ │ ├── IncompleteUrlSchemeCheck.qlref
│ │ │ │ ├── IncompleteUrlSchemeCheckGood.js
│ │ │ │ ├── IncompleteUrlSubstringSanitization.expected
│ │ │ │ ├── IncompleteUrlSubstringSanitization.qlref
│ │ │ │ ├── IncorrectSuffixCheck.expected
│ │ │ │ ├── IncorrectSuffixCheck.qlref
│ │ │ │ ├── MissingRegExpAnchor.expected
│ │ │ │ ├── MissingRegExpAnchor.qlref
│ │ │ │ ├── UntrustedDataToExternalAPI.expected
│ │ │ │ ├── UntrustedDataToExternalAPI.qlref
│ │ │ │ ├── UselessCharacterEscape.expected
│ │ │ │ ├── UselessCharacterEscape.ql
│ │ │ │ ├── UselessRegExpCharacterEscape.expected
│ │ │ │ ├── UselessRegExpCharacterEscape.qlref
│ │ │ │ ├── examples
│ │ │ │ │ ├── IncorrectSuffixCheck.js
│ │ │ │ │ └── IncorrectSuffixCheckGood.js
│ │ │ │ ├── tst-IncompleteHostnameRegExp.js
│ │ │ │ ├── tst-IncompleteUrlSubstringSanitization.js
│ │ │ │ ├── tst-SemiAnchoredRegExp.js
│ │ │ │ ├── tst-UnanchoredUrlRegExp.js
│ │ │ │ ├── tst-UntrustedDataToExternalAPI.js
│ │ │ │ ├── tst-escapes.js
│ │ │ │ └── tst.js
│ │ │ ├── CWE-022
│ │ │ │ ├── DefinitelyTyped-LICENSE
│ │ │ │ ├── TaintedPath
│ │ │ │ │ ├── Consistency.expected
│ │ │ │ │ ├── Consistency.ql
│ │ │ │ │ ├── TaintedPath-es6.js
│ │ │ │ │ ├── TaintedPath.expected
│ │ │ │ │ ├── TaintedPath.js
│ │ │ │ │ ├── TaintedPath.qlref
│ │ │ │ │ ├── fs.js
│ │ │ │ │ ├── my-fs-module.js
│ │ │ │ │ ├── normalizedPaths.js
│ │ │ │ │ ├── other-fs-libraries.js
│ │ │ │ │ ├── pupeteer.js
│ │ │ │ │ ├── tainted-access-paths.js
│ │ │ │ │ ├── tainted-array-steps.js
│ │ │ │ │ ├── tainted-require.js
│ │ │ │ │ ├── tainted-sendFile.js
│ │ │ │ │ ├── tainted-string-steps.js
│ │ │ │ │ ├── torrents.js
│ │ │ │ │ ├── typescript.ts
│ │ │ │ │ └── views.js
│ │ │ │ └── ZipSlip
│ │ │ │ │ ├── AdmZipBad.js
│ │ │ │ │ ├── TarSlipBad.js
│ │ │ │ │ ├── ZipSlip.expected
│ │ │ │ │ ├── ZipSlip.qlref
│ │ │ │ │ ├── ZipSlipBad.js
│ │ │ │ │ ├── ZipSlipBad2.js
│ │ │ │ │ ├── ZipSlipBadUnzipper.js
│ │ │ │ │ ├── ZipSlipGood.js
│ │ │ │ │ ├── ZipSlipGoodBasename.js
│ │ │ │ │ └── externs.js
│ │ │ ├── CWE-073
│ │ │ │ ├── TemplateObjectInjection.expected
│ │ │ │ ├── TemplateObjectInjection.qlref
│ │ │ │ ├── tst.js
│ │ │ │ └── tst2.js
│ │ │ ├── CWE-078
│ │ │ │ ├── CommandInjection.expected
│ │ │ │ ├── CommandInjection.qlref
│ │ │ │ ├── Consistency.expected
│ │ │ │ ├── Consistency.ql
│ │ │ │ ├── IndirectCommandInjection.expected
│ │ │ │ ├── IndirectCommandInjection.qlref
│ │ │ │ ├── ShellCommandInjectionFromEnvironment.expected
│ │ │ │ ├── ShellCommandInjectionFromEnvironment.qlref
│ │ │ │ ├── UnsafeShellCommandConstruction.expected
│ │ │ │ ├── UnsafeShellCommandConstruction.qlref
│ │ │ │ ├── UselessUseOfCat.expected
│ │ │ │ ├── UselessUseOfCat.ql
│ │ │ │ ├── child_process-test.js
│ │ │ │ ├── command-line-parameter-command-injection.js
│ │ │ │ ├── exec-sh.js
│ │ │ │ ├── exec-sh2.js
│ │ │ │ ├── execSeries.js
│ │ │ │ ├── form-parsers.js
│ │ │ │ ├── lib
│ │ │ │ │ ├── lib.js
│ │ │ │ │ ├── lib2.js
│ │ │ │ │ ├── other.js
│ │ │ │ │ └── subLib
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ └── package.json
│ │ │ │ ├── other.js
│ │ │ │ ├── package.json
│ │ │ │ ├── third-party-command-injection.js
│ │ │ │ ├── tst_shell-command-injection-from-environment.js
│ │ │ │ └── uselesscat.js
│ │ │ ├── CWE-079
│ │ │ │ ├── DomBasedXss
│ │ │ │ │ ├── ConsistencyDomBasedXss.expected
│ │ │ │ │ ├── ConsistencyDomBasedXss.ql
│ │ │ │ │ ├── Xss.expected
│ │ │ │ │ ├── Xss.qlref
│ │ │ │ │ ├── XssWithAdditionalSources.expected
│ │ │ │ │ ├── XssWithAdditionalSources.ql
│ │ │ │ │ ├── addEventListener.js
│ │ │ │ │ ├── angular2-client.ts
│ │ │ │ │ ├── classnames.js
│ │ │ │ │ ├── d3.js
│ │ │ │ │ ├── dates.js
│ │ │ │ │ ├── encodeuri.js
│ │ │ │ │ ├── event-handler-receiver.js
│ │ │ │ │ ├── express.js
│ │ │ │ │ ├── externs.js
│ │ │ │ │ ├── jquery.js
│ │ │ │ │ ├── jwt-server.js
│ │ │ │ │ ├── jwt.js
│ │ │ │ │ ├── nodemailer.js
│ │ │ │ │ ├── optionalSanitizer.js
│ │ │ │ │ ├── react-create-context.js
│ │ │ │ │ ├── react-native.js
│ │ │ │ │ ├── react-provide-context.js
│ │ │ │ │ ├── react-use-context.js
│ │ │ │ │ ├── react-use-state.js
│ │ │ │ │ ├── sanitiser.js
│ │ │ │ │ ├── stored-xss.js
│ │ │ │ │ ├── string-manipulations.js
│ │ │ │ │ ├── translate.js
│ │ │ │ │ ├── tst.js
│ │ │ │ │ ├── tst3.js
│ │ │ │ │ ├── typeahead.js
│ │ │ │ │ ├── v-html.vue
│ │ │ │ │ ├── various-concat-obfuscations.js
│ │ │ │ │ ├── winjs.js
│ │ │ │ │ └── xmlRequest.js
│ │ │ │ ├── ExceptionXss
│ │ │ │ │ ├── ConsistencyExceptionXss.expected
│ │ │ │ │ ├── ConsistencyExceptionXss.ql
│ │ │ │ │ ├── ExceptionXss.expected
│ │ │ │ │ ├── ExceptionXss.qlref
│ │ │ │ │ ├── ajv.js
│ │ │ │ │ ├── exception-xss.js
│ │ │ │ │ └── externs.js
│ │ │ │ ├── ReflectedXss
│ │ │ │ │ ├── ConsistencyReflectedXss.expected
│ │ │ │ │ ├── ConsistencyReflectedXss.ql
│ │ │ │ │ ├── ReflectedXss.expected
│ │ │ │ │ ├── ReflectedXss.js
│ │ │ │ │ ├── ReflectedXss.qlref
│ │ │ │ │ ├── ReflectedXssContentTypes.js
│ │ │ │ │ ├── ReflectedXssGood.js
│ │ │ │ │ ├── ReflectedXssGood2.js
│ │ │ │ │ ├── ReflectedXssGood3.js
│ │ │ │ │ ├── ReflectedXssWithCustomSanitizer.expected
│ │ │ │ │ ├── ReflectedXssWithCustomSanitizer.ql
│ │ │ │ │ ├── cookies.js
│ │ │ │ │ ├── etherpad.js
│ │ │ │ │ ├── externs.js
│ │ │ │ │ ├── formatting.js
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── pages
│ │ │ │ │ │ ├── Next.jsx
│ │ │ │ │ │ └── api
│ │ │ │ │ │ │ └── myapi.js
│ │ │ │ │ ├── partial.js
│ │ │ │ │ ├── promises.js
│ │ │ │ │ └── tst2.js
│ │ │ │ ├── StoredXss
│ │ │ │ │ ├── ConsistencyStoredXss.expected
│ │ │ │ │ ├── ConsistencyStoredXss.ql
│ │ │ │ │ ├── StoredXss.expected
│ │ │ │ │ ├── StoredXss.qlref
│ │ │ │ │ ├── externs.js
│ │ │ │ │ ├── xss-through-filenames.js
│ │ │ │ │ └── xss-through-torrent.js
│ │ │ │ ├── UnsafeJQueryPlugin
│ │ │ │ │ ├── ConsistencyUnsafeJQueryPlugin.expected
│ │ │ │ │ ├── ConsistencyUnsafeJQueryPlugin.ql
│ │ │ │ │ ├── UnsafeJQueryPlugin.expected
│ │ │ │ │ ├── UnsafeJQueryPlugin.qlref
│ │ │ │ │ ├── externs.js
│ │ │ │ │ └── unsafe-jquery-plugin.js
│ │ │ │ └── XssThroughDom
│ │ │ │ │ ├── ConsistencyXssThroughDom.expected
│ │ │ │ │ ├── ConsistencyXssThroughDom.ql
│ │ │ │ │ ├── XssThroughDom.expected
│ │ │ │ │ ├── XssThroughDom.qlref
│ │ │ │ │ ├── externs.js
│ │ │ │ │ ├── forms.js
│ │ │ │ │ └── xss-through-dom.js
│ │ │ ├── CWE-089
│ │ │ │ ├── typed
│ │ │ │ │ ├── SqlInjection.expected
│ │ │ │ │ ├── SqlInjection.qlref
│ │ │ │ │ ├── shim.d.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── typedClient.ts
│ │ │ │ └── untyped
│ │ │ │ │ ├── Consistency.expected
│ │ │ │ │ ├── Consistency.ql
│ │ │ │ │ ├── DatabaseAccesses.expected
│ │ │ │ │ ├── DatabaseAccesses.ql
│ │ │ │ │ ├── SqlInjection.expected
│ │ │ │ │ ├── SqlInjection.qlref
│ │ │ │ │ ├── dbo.js
│ │ │ │ │ ├── json-schema-validator.js
│ │ │ │ │ ├── marsdb-flow-from.js
│ │ │ │ │ ├── marsdb-flow-to.js
│ │ │ │ │ ├── marsdb.js
│ │ │ │ │ ├── minimongo.js
│ │ │ │ │ ├── mongodb.js
│ │ │ │ │ ├── mongodb_bodySafe.js
│ │ │ │ │ ├── mongoose.js
│ │ │ │ │ ├── mongooseJsonParse.js
│ │ │ │ │ ├── mongooseModel.js
│ │ │ │ │ ├── mongooseModelClient.js
│ │ │ │ │ ├── node-postgres-LICENSE
│ │ │ │ │ ├── node-sqlite3-LICENSE
│ │ │ │ │ ├── redis.js
│ │ │ │ │ ├── socketio.js
│ │ │ │ │ ├── tst.js
│ │ │ │ │ ├── tst2.js
│ │ │ │ │ ├── tst3.js
│ │ │ │ │ └── tst4.js
│ │ │ ├── CWE-094
│ │ │ │ ├── CodeInjection
│ │ │ │ │ ├── CodeInjection.expected
│ │ │ │ │ ├── CodeInjection.qlref
│ │ │ │ │ ├── HeuristicSourceCodeInjection.expected
│ │ │ │ │ ├── HeuristicSourceCodeInjection.ql
│ │ │ │ │ ├── ImproperCodeSanitization.expected
│ │ │ │ │ ├── ImproperCodeSanitization.qlref
│ │ │ │ │ ├── NoSQLCodeInjection.js
│ │ │ │ │ ├── angularjs.js
│ │ │ │ │ ├── bad-code-sanitization.js
│ │ │ │ │ ├── eslint-escope-build.js
│ │ │ │ │ ├── express.js
│ │ │ │ │ ├── externs.js
│ │ │ │ │ ├── module.js
│ │ │ │ │ ├── react-native.js
│ │ │ │ │ ├── react.js
│ │ │ │ │ ├── template-sinks.js
│ │ │ │ │ └── tst.js
│ │ │ │ ├── UnsafeDynamicMethodAccess
│ │ │ │ │ ├── UnsafeDynamicMethodAccess.expected
│ │ │ │ │ ├── UnsafeDynamicMethodAccess.qlref
│ │ │ │ │ ├── example.js
│ │ │ │ │ └── tst.js
│ │ │ │ └── tmp.html
│ │ │ ├── CWE-116
│ │ │ │ ├── DoubleEscaping
│ │ │ │ │ ├── DoubleEscaping.expected
│ │ │ │ │ ├── DoubleEscaping.qlref
│ │ │ │ │ └── tst.js
│ │ │ │ └── IncompleteSanitization
│ │ │ │ │ ├── IncompleteBlacklistSanitizer.expected
│ │ │ │ │ ├── IncompleteBlacklistSanitizer.ql
│ │ │ │ │ ├── IncompleteHtmlAttributeSanitization.expected
│ │ │ │ │ ├── IncompleteHtmlAttributeSanitization.qlref
│ │ │ │ │ ├── IncompleteMultiCharacterSanitization.expected
│ │ │ │ │ ├── IncompleteMultiCharacterSanitization.qlref
│ │ │ │ │ ├── IncompleteSanitization.expected
│ │ │ │ │ ├── IncompleteSanitization.qlref
│ │ │ │ │ ├── UnsafeHtmlExpansion.expected
│ │ │ │ │ ├── UnsafeHtmlExpansion.js
│ │ │ │ │ ├── UnsafeHtmlExpansion.qlref
│ │ │ │ │ ├── tst-multi-character-sanitization.js
│ │ │ │ │ └── tst.js
│ │ │ ├── CWE-117
│ │ │ │ ├── LogInjection.expected
│ │ │ │ ├── LogInjection.qlref
│ │ │ │ ├── logInjectionBad.js
│ │ │ │ └── logInjectionGood.js
│ │ │ ├── CWE-134
│ │ │ │ ├── TaintedFormatString.expected
│ │ │ │ ├── TaintedFormatString.qlref
│ │ │ │ └── tst.js
│ │ │ ├── CWE-200
│ │ │ │ ├── FileAccessToHttp.expected
│ │ │ │ ├── FileAccessToHttp.js
│ │ │ │ ├── FileAccessToHttp.qlref
│ │ │ │ ├── PrivateFileExposure.expected
│ │ │ │ ├── PrivateFileExposure.qlref
│ │ │ │ ├── bufferRead.js
│ │ │ │ ├── express-send-file.js
│ │ │ │ ├── fs-read-externs.js
│ │ │ │ ├── googlecompiler.js
│ │ │ │ ├── lib
│ │ │ │ │ ├── package.json
│ │ │ │ │ └── tst.js
│ │ │ │ ├── private-file-exposure.js
│ │ │ │ ├── readFileSync.js
│ │ │ │ ├── readStreamRead.js
│ │ │ │ ├── request.js
│ │ │ │ ├── sentAsHeaders.js
│ │ │ │ └── subfolder
│ │ │ │ │ ├── package.json
│ │ │ │ │ └── private-file-exposure-2.js
│ │ │ ├── CWE-201
│ │ │ │ ├── PostMessageStar.expected
│ │ │ │ ├── PostMessageStar.js
│ │ │ │ ├── PostMessageStar.qlref
│ │ │ │ ├── PostMessageStar2.js
│ │ │ │ └── PostMessageStarGood.js
│ │ │ ├── CWE-209
│ │ │ │ ├── StackTraceExposure.expected
│ │ │ │ ├── StackTraceExposure.qlref
│ │ │ │ ├── node.js
│ │ │ │ └── tst.js
│ │ │ ├── CWE-295
│ │ │ │ ├── DisablingCertificateValidation.expected
│ │ │ │ ├── DisablingCertificateValidation.qlref
│ │ │ │ └── tst.js
│ │ │ ├── CWE-312
│ │ │ │ ├── BuildArtifactLeak.expected
│ │ │ │ ├── BuildArtifactLeak.qlref
│ │ │ │ ├── CleartextLogging.expected
│ │ │ │ ├── CleartextLogging.qlref
│ │ │ │ ├── CleartextStorage.expected
│ │ │ │ ├── CleartextStorage.js
│ │ │ │ ├── CleartextStorage.qlref
│ │ │ │ ├── CleartextStorage2.js
│ │ │ │ ├── CleartextStorageGood.js
│ │ │ │ ├── browser.js
│ │ │ │ ├── build-leaks.js
│ │ │ │ ├── passwords.js
│ │ │ │ ├── passwords_in_browser1.js
│ │ │ │ ├── passwords_in_browser2.js
│ │ │ │ ├── passwords_in_server_1.js
│ │ │ │ ├── passwords_in_server_2.js
│ │ │ │ ├── passwords_in_server_3.js
│ │ │ │ ├── passwords_in_server_4.js
│ │ │ │ ├── passwords_in_server_5.js
│ │ │ │ ├── server.js
│ │ │ │ ├── server2.js
│ │ │ │ ├── tst-angularjs.js
│ │ │ │ └── tst-webstorage.js
│ │ │ ├── CWE-313
│ │ │ │ ├── PasswordInConfigurationFile.expected
│ │ │ │ ├── PasswordInConfigurationFile.qlref
│ │ │ │ ├── example
│ │ │ │ │ └── tst.js
│ │ │ │ ├── i18n
│ │ │ │ │ └── de.json
│ │ │ │ ├── locales
│ │ │ │ │ ├── de.js
│ │ │ │ │ └── de.json
│ │ │ │ ├── mysql-config.json
│ │ │ │ ├── package.json
│ │ │ │ ├── tst.js
│ │ │ │ ├── tst.raml
│ │ │ │ ├── tst.yml
│ │ │ │ ├── tst1.json
│ │ │ │ ├── tst2.json
│ │ │ │ ├── tst3.json
│ │ │ │ ├── tst4.json
│ │ │ │ ├── tst5.json
│ │ │ │ ├── tst6.json
│ │ │ │ ├── tst7.yml
│ │ │ │ └── tst8.yml
│ │ │ ├── CWE-327
│ │ │ │ ├── BadRandomness.expected
│ │ │ │ ├── BadRandomness.qlref
│ │ │ │ ├── BrokenCryptoAlgorithm.expected
│ │ │ │ ├── BrokenCryptoAlgorithm.qlref
│ │ │ │ ├── bad-random.js
│ │ │ │ └── tst.js
│ │ │ ├── CWE-338
│ │ │ │ ├── InsecureRandomness.expected
│ │ │ │ ├── InsecureRandomness.qlref
│ │ │ │ └── tst.js
│ │ │ ├── CWE-346
│ │ │ │ ├── CorsMisconfigurationForCredentials.expected
│ │ │ │ ├── CorsMisconfigurationForCredentials.qlref
│ │ │ │ └── tst.js
│ │ │ ├── CWE-352
│ │ │ │ ├── LICENSE
│ │ │ │ ├── MissingCsrfMiddleware.expected
│ │ │ │ ├── MissingCsrfMiddleware.qlref
│ │ │ │ ├── MissingCsrfMiddlewareBad.js
│ │ │ │ ├── MissingCsrfMiddlewareGood.js
│ │ │ │ ├── MissingCsrfMiddlewareGood2.js
│ │ │ │ ├── csurf_api_example.js
│ │ │ │ ├── csurf_example.js
│ │ │ │ ├── lusca_example.js
│ │ │ │ └── unused_cookies.js
│ │ │ ├── CWE-400
│ │ │ │ ├── DeepObjectResourceExhaustion
│ │ │ │ │ ├── DeepObjectResourceExhaustion.expected
│ │ │ │ │ ├── DeepObjectResourceExhaustion.qlref
│ │ │ │ │ └── tst.js
│ │ │ │ └── RemovePropertyInjection
│ │ │ │ │ ├── RemotePropertyInjection.expected
│ │ │ │ │ ├── RemotePropertyInjection.qlref
│ │ │ │ │ ├── tst.js
│ │ │ │ │ └── tstNonExpr.js
│ │ │ ├── CWE-451
│ │ │ │ ├── MissingXFrameOptions.expected
│ │ │ │ ├── MissingXFrameOptions.qlref
│ │ │ │ ├── connect-bad.js
│ │ │ │ ├── connect-good.js
│ │ │ │ ├── express-bad.js
│ │ │ │ ├── express-good-array-routers.js
│ │ │ │ ├── express-good-library.js
│ │ │ │ ├── express-good-router-router.js
│ │ │ │ ├── express-good-router.js
│ │ │ │ ├── express-good-use.js
│ │ │ │ ├── express-good.js
│ │ │ │ ├── express-good_hard.js
│ │ │ │ ├── hapi-bad.js
│ │ │ │ ├── hapi-good.js
│ │ │ │ ├── koa-bad.js
│ │ │ │ ├── koa-good.js
│ │ │ │ ├── node-bad.js
│ │ │ │ ├── node-good-fundecl.js
│ │ │ │ ├── node-good-late-registration.js
│ │ │ │ ├── node-good.js
│ │ │ │ ├── node-good_hard.js
│ │ │ │ ├── restify-bad.js
│ │ │ │ └── restify-good.js
│ │ │ ├── CWE-502
│ │ │ │ ├── UnsafeDeserialization.expected
│ │ │ │ ├── UnsafeDeserialization.qlref
│ │ │ │ └── tst.js
│ │ │ ├── CWE-506
│ │ │ │ ├── HardcodedDataInterpretedAsCode.expected
│ │ │ │ ├── HardcodedDataInterpretedAsCode.qlref
│ │ │ │ ├── event-stream-orig.js
│ │ │ │ ├── event-stream.js
│ │ │ │ └── tst.js
│ │ │ ├── CWE-601
│ │ │ │ ├── ClientSideUrlRedirect
│ │ │ │ │ ├── ClientSideUrlRedirect.expected
│ │ │ │ │ ├── ClientSideUrlRedirect.qlref
│ │ │ │ │ ├── electron.js
│ │ │ │ │ ├── externs.js
│ │ │ │ │ ├── react.js
│ │ │ │ │ ├── sanitizer.js
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ ├── tst.js
│ │ │ │ │ ├── tst10.js
│ │ │ │ │ ├── tst11.js
│ │ │ │ │ ├── tst12.js
│ │ │ │ │ ├── tst13.js
│ │ │ │ │ ├── tst14.js
│ │ │ │ │ ├── tst2.js
│ │ │ │ │ ├── tst3.js
│ │ │ │ │ ├── tst4.js
│ │ │ │ │ ├── tst5.js
│ │ │ │ │ ├── tst6.js
│ │ │ │ │ ├── tst7.js
│ │ │ │ │ ├── tst8.js
│ │ │ │ │ ├── tst9.js
│ │ │ │ │ └── typed.ts
│ │ │ │ └── ServerSideUrlRedirect
│ │ │ │ │ ├── ServerSideUrlRedirect.expected
│ │ │ │ │ ├── ServerSideUrlRedirect.qlref
│ │ │ │ │ ├── express.js
│ │ │ │ │ ├── koa.js
│ │ │ │ │ ├── node.js
│ │ │ │ │ └── react-native.js
│ │ │ ├── CWE-611
│ │ │ │ ├── Xxe.expected
│ │ │ │ ├── Xxe.qlref
│ │ │ │ ├── closure.js
│ │ │ │ ├── domparser.js
│ │ │ │ ├── expat.js
│ │ │ │ ├── externs.js
│ │ │ │ ├── jquery.js
│ │ │ │ ├── libxml.js
│ │ │ │ ├── libxml.noent.js
│ │ │ │ ├── libxml.sax.js
│ │ │ │ └── libxml.saxpush.js
│ │ │ ├── CWE-614
│ │ │ │ ├── InsecureCookies.expected
│ │ │ │ ├── InsecureCookies.qlref
│ │ │ │ ├── test_cookie-session.js
│ │ │ │ ├── test_express-session.js
│ │ │ │ ├── test_httpserver.js
│ │ │ │ ├── test_jscookie.js
│ │ │ │ └── test_responseCookie.js
│ │ │ ├── CWE-640
│ │ │ │ ├── HostHeaderPoisoningInEmailGeneration.expected
│ │ │ │ ├── HostHeaderPoisoningInEmailGeneration.qlref
│ │ │ │ └── tst.js
│ │ │ ├── CWE-643
│ │ │ │ ├── XpathInjection.expected
│ │ │ │ ├── XpathInjection.qlref
│ │ │ │ ├── XpathInjectionBad.js
│ │ │ │ ├── XpathInjectionGood.js
│ │ │ │ ├── tst.js
│ │ │ │ └── tst2.js
│ │ │ ├── CWE-730
│ │ │ │ ├── RegExpInjection.expected
│ │ │ │ ├── RegExpInjection.js
│ │ │ │ ├── RegExpInjection.qlref
│ │ │ │ ├── RegExpInjectionGood.js
│ │ │ │ ├── ServerCrash.expected
│ │ │ │ ├── ServerCrash.qlref
│ │ │ │ ├── client-side.js
│ │ │ │ ├── search.js
│ │ │ │ ├── server-crash.js
│ │ │ │ └── tst.js
│ │ │ ├── CWE-754
│ │ │ │ ├── UnsafeDynamicMethodAccess.js
│ │ │ │ ├── UnvalidatedDynamicMethodCall.expected
│ │ │ │ ├── UnvalidatedDynamicMethodCall.js
│ │ │ │ ├── UnvalidatedDynamicMethodCall.qlref
│ │ │ │ ├── UnvalidatedDynamicMethodCallGood.js
│ │ │ │ ├── UnvalidatedDynamicMethodCallGood2.js
│ │ │ │ └── tst.js
│ │ │ ├── CWE-770
│ │ │ │ ├── MissingRateLimiting.expected
│ │ │ │ ├── MissingRateLimiting.js
│ │ │ │ ├── MissingRateLimiting.qlref
│ │ │ │ ├── MissingRateLimitingGood.js
│ │ │ │ ├── rateLimit.ts
│ │ │ │ ├── tst.js
│ │ │ │ └── tst2.ts
│ │ │ ├── CWE-776
│ │ │ │ ├── XmlBomb.expected
│ │ │ │ ├── XmlBomb.qlref
│ │ │ │ ├── closure.js
│ │ │ │ ├── domparser.js
│ │ │ │ ├── expat.js
│ │ │ │ ├── externs.js
│ │ │ │ ├── jquery.js
│ │ │ │ ├── libxml.js
│ │ │ │ ├── libxml.noent.js
│ │ │ │ ├── libxml.sax.js
│ │ │ │ └── libxml.saxpush.js
│ │ │ ├── CWE-798
│ │ │ │ ├── HardcodedCredentials.expected
│ │ │ │ ├── HardcodedCredentials.js
│ │ │ │ └── HardcodedCredentials.qlref
│ │ │ ├── CWE-807
│ │ │ │ ├── ConditionalBypass.expected
│ │ │ │ ├── ConditionalBypass.qlref
│ │ │ │ ├── DifferentKindsComparisonBypass.expected
│ │ │ │ ├── DifferentKindsComparisonBypass.qlref
│ │ │ │ ├── example_bypass.js
│ │ │ │ ├── tst-different-kinds-comparison-bypass.js
│ │ │ │ └── tst.js
│ │ │ ├── CWE-829
│ │ │ │ ├── InsecureDownload.expected
│ │ │ │ ├── InsecureDownload.qlref
│ │ │ │ └── insecure-download.js
│ │ │ ├── CWE-834
│ │ │ │ ├── LoopBoundInjection.expected
│ │ │ │ ├── LoopBoundInjection.qlref
│ │ │ │ ├── LoopBoundInjectionBad.js
│ │ │ │ ├── LoopBoundInjectionExitBad.js
│ │ │ │ ├── LoopBoundInjectionExitGood.js
│ │ │ │ ├── LoopBoundInjectionGood.js
│ │ │ │ ├── LoopBoundInjectionLodash.js
│ │ │ │ ├── LoopBoundInjectionNested.js
│ │ │ │ ├── LoopBoundInjectionObviousLengthCheck.js
│ │ │ │ ├── LoopBoundInjectionObviousNullPointer.js
│ │ │ │ └── LoopBoundInjectionObviousNullPointerInPreviousLoop.js
│ │ │ ├── CWE-843
│ │ │ │ ├── TypeConfusionThroughParameterTampering.expected
│ │ │ │ ├── TypeConfusionThroughParameterTampering.qlref
│ │ │ │ └── tst.js
│ │ │ ├── CWE-912
│ │ │ │ ├── HttpToFileAccess.expected
│ │ │ │ ├── HttpToFileAccess.js
│ │ │ │ ├── HttpToFileAccess.qlref
│ │ │ │ ├── fs-writeFile-externs.js
│ │ │ │ └── tst.js
│ │ │ ├── CWE-915
│ │ │ │ ├── PrototypePollutingAssignment
│ │ │ │ │ ├── Consistency.expected
│ │ │ │ │ ├── Consistency.ql
│ │ │ │ │ ├── PrototypePollutingAssignment.expected
│ │ │ │ │ ├── PrototypePollutingAssignment.qlref
│ │ │ │ │ └── tst.js
│ │ │ │ ├── PrototypePollutingFunction
│ │ │ │ │ ├── PrototypePollutingFunction.expected
│ │ │ │ │ ├── PrototypePollutingFunction.qlref
│ │ │ │ │ ├── examples
│ │ │ │ │ │ ├── PrototypePollutingFunction.js
│ │ │ │ │ │ ├── PrototypePollutingFunction_fixed.js
│ │ │ │ │ │ └── PrototypePollutingFunction_fixed2.js
│ │ │ │ │ ├── path-assignment.js
│ │ │ │ │ └── tests.js
│ │ │ │ └── PrototypePollutingMergeCall
│ │ │ │ │ ├── PrototypePollutingMergeCall.expected
│ │ │ │ │ ├── PrototypePollutingMergeCall.qlref
│ │ │ │ │ ├── angularmerge.js
│ │ │ │ │ ├── src-non-vulnerable-lodash
│ │ │ │ │ ├── package.json
│ │ │ │ │ └── tst.js
│ │ │ │ │ └── src-vulnerable-lodash
│ │ │ │ │ ├── package.json
│ │ │ │ │ └── tst.js
│ │ │ ├── CWE-916
│ │ │ │ ├── InsufficientPasswordHash.expected
│ │ │ │ ├── InsufficientPasswordHash.qlref
│ │ │ │ └── tst.js
│ │ │ ├── CWE-918
│ │ │ │ ├── RequestForgery.expected
│ │ │ │ ├── RequestForgery.qlref
│ │ │ │ ├── clientSideParam.js
│ │ │ │ └── tst.js
│ │ │ └── Summaries
│ │ │ │ ├── ExtractFlowStepSummaries.expected
│ │ │ │ ├── ExtractFlowStepSummaries.qlref
│ │ │ │ ├── ExtractSinkSummaries.expected
│ │ │ │ ├── ExtractSinkSummaries.qlref
│ │ │ │ ├── ExtractSourceSummaries.expected
│ │ │ │ ├── ExtractSourceSummaries.qlref
│ │ │ │ ├── index.js
│ │ │ │ └── package.json
│ │ ├── Statements
│ │ │ ├── DanglingElse
│ │ │ │ ├── DanglingElse.expected
│ │ │ │ ├── DanglingElse.qlref
│ │ │ │ └── tst.js
│ │ │ ├── EphemeralLoop
│ │ │ │ ├── EphemeralLoop.expected
│ │ │ │ ├── EphemeralLoop.qlref
│ │ │ │ ├── emscripten.js
│ │ │ │ └── tst.js
│ │ │ ├── IgnoreArrayResult
│ │ │ │ ├── IgnoreArrayResult.expected
│ │ │ │ ├── IgnoreArrayResult.qlref
│ │ │ │ └── tst.js
│ │ │ ├── ImplicitReturn
│ │ │ │ ├── ImplicitReturn.expected
│ │ │ │ ├── ImplicitReturn.qlref
│ │ │ │ └── tst.js
│ │ │ ├── InconsistentLoopOrientation
│ │ │ │ ├── InconsistentLoopOrientation.expected
│ │ │ │ ├── InconsistentLoopOrientation.qlref
│ │ │ │ └── tst.js
│ │ │ ├── InconsistentReturn
│ │ │ │ ├── InconsistentReturn.expected
│ │ │ │ ├── InconsistentReturn.qlref
│ │ │ │ └── tst.js
│ │ │ ├── LabelInCase
│ │ │ │ ├── LabelInCase.expected
│ │ │ │ ├── LabelInCase.qlref
│ │ │ │ └── nonCaseLabelInSwitch.js
│ │ │ ├── LoopIterationSkippedDueToShifting
│ │ │ │ ├── LoopIterationSkippedDueToShifting.expected
│ │ │ │ ├── LoopIterationSkippedDueToShifting.qlref
│ │ │ │ └── tst.js
│ │ │ ├── MisleadingIndentationAfterControlStmt
│ │ │ │ ├── MisleadingIndentationAfterControlStmt.expected
│ │ │ │ ├── MisleadingIndentationAfterControlStmt.qlref
│ │ │ │ ├── awe.js
│ │ │ │ ├── tst.html
│ │ │ │ └── tst.js
│ │ │ ├── NestedLoopsSameVariable
│ │ │ │ ├── NestedLoopsSameVariable.expected
│ │ │ │ ├── NestedLoopsSameVariable.qlref
│ │ │ │ └── tst.js
│ │ │ ├── ReturnAssignsLocal
│ │ │ │ ├── ReturnAssignsLocal.expected
│ │ │ │ ├── ReturnAssignsLocal.qlref
│ │ │ │ └── tst.js
│ │ │ ├── ReturnOutsideFunction
│ │ │ │ ├── ReturnOutsideFunction.expected
│ │ │ │ ├── ReturnOutsideFunction.qlref
│ │ │ │ ├── node.js
│ │ │ │ ├── tst.html
│ │ │ │ └── tst.js
│ │ │ ├── SuspiciousUnusedLoopIterationVariable
│ │ │ │ ├── SuspiciousUnusedLoopIterationVariable.expected
│ │ │ │ ├── SuspiciousUnusedLoopIterationVariable.qlref
│ │ │ │ └── tst.js
│ │ │ ├── UnreachableStatement
│ │ │ │ ├── UnreachableStatement.expected
│ │ │ │ ├── UnreachableStatement.qlref
│ │ │ │ ├── emptyclass.js
│ │ │ │ ├── tst.js
│ │ │ │ └── typealias.ts
│ │ │ ├── UseOfReturnlessFunction
│ │ │ │ ├── UseOfReturnlessFunction.expected
│ │ │ │ ├── UseOfReturnlessFunction.qlref
│ │ │ │ ├── tsconfig.json
│ │ │ │ ├── tst.html
│ │ │ │ ├── tst.js
│ │ │ │ └── tst2.ts
│ │ │ ├── UselessComparisonTest
│ │ │ │ ├── UselessComparisonTest.expected
│ │ │ │ ├── UselessComparisonTest.qlref
│ │ │ │ ├── constant.js
│ │ │ │ ├── defaults.js
│ │ │ │ ├── example.js
│ │ │ │ ├── exampleGood.js
│ │ │ │ ├── implicitReturn.js
│ │ │ │ └── tst.js
│ │ │ └── UselessConditional
│ │ │ │ ├── UselessConditional.expected
│ │ │ │ ├── UselessConditional.js
│ │ │ │ ├── UselessConditional.qlref
│ │ │ │ ├── UselessConditionalGood.js
│ │ │ │ └── options
│ │ ├── Vue
│ │ │ ├── ArrowMethodOnVueInstance.expected
│ │ │ ├── ArrowMethodOnVueInstance.qlref
│ │ │ └── tst.js
│ │ ├── WrongExtensionJSON
│ │ │ ├── WrongExtensionJSON.expected
│ │ │ ├── WrongExtensionJSON.qlref
│ │ │ ├── tst1.js
│ │ │ ├── tst2.js
│ │ │ └── tst3.json
│ │ ├── definitions
│ │ │ ├── a.js
│ │ │ ├── b.js
│ │ │ ├── c.js
│ │ │ ├── client.ts
│ │ │ ├── d.js
│ │ │ ├── definitions.expected
│ │ │ ├── definitions.qlref
│ │ │ ├── m.js
│ │ │ ├── tsconfig.json
│ │ │ ├── tslib.ts
│ │ │ └── tst.js
│ │ ├── external
│ │ │ ├── DuplicateFunction
│ │ │ │ ├── DuplicateFunction.expected
│ │ │ │ ├── DuplicateFunction.qlref
│ │ │ │ └── d
│ │ │ │ │ └── tst.js
│ │ │ ├── DuplicateToplevel
│ │ │ │ ├── DuplicateToplevel.expected
│ │ │ │ ├── DuplicateToplevel.qlref
│ │ │ │ ├── a.js
│ │ │ │ ├── b.js
│ │ │ │ ├── c.js
│ │ │ │ ├── d.js
│ │ │ │ └── e.js
│ │ │ ├── SimilarFunction
│ │ │ │ ├── SimilarFunction.expected
│ │ │ │ ├── SimilarFunction.qlref
│ │ │ │ └── tst.js
│ │ │ └── SimilarToplevel
│ │ │ │ ├── SimilarToplevel.expected
│ │ │ │ ├── SimilarToplevel.qlref
│ │ │ │ ├── a.js
│ │ │ │ └── b.js
│ │ └── filters
│ │ │ └── ClassifyFiles
│ │ │ ├── 01.chapter-about-things.js
│ │ │ ├── 1.js
│ │ │ ├── AlmostManyElementsOnLine.html
│ │ │ ├── AutoRest.js
│ │ │ ├── ClassifyFiles.expected
│ │ │ ├── ClassifyFiles.qlref
│ │ │ ├── CodeGenerator.expected
│ │ │ ├── CodeGenerator.ql
│ │ │ ├── LICENSE-jquery-datatables.txt
│ │ │ ├── ManyElementsOnLine.html
│ │ │ ├── MyComponent.vue
│ │ │ ├── README
│ │ │ ├── __mocks__
│ │ │ └── test.js
│ │ │ ├── __tests__
│ │ │ └── test.js
│ │ │ ├── ai.1.2.3-build0123.js
│ │ │ ├── bundle-directive.js
│ │ │ ├── data.js
│ │ │ ├── doxygen-generated.html
│ │ │ ├── etherpad.html
│ │ │ ├── exported-data.js
│ │ │ ├── htmltidy.html
│ │ │ ├── implementation.js
│ │ │ ├── implementation.spec.js
│ │ │ ├── implementation.test.js
│ │ │ ├── jison-lex.js
│ │ │ ├── jison.js
│ │ │ ├── jquery-datatables.js
│ │ │ ├── jquery-jstree.js
│ │ │ ├── jquery-snippet.js
│ │ │ ├── json-like.js
│ │ │ ├── jsx-old.js
│ │ │ ├── jsx.js
│ │ │ ├── multi-part-bundle.html
│ │ │ ├── multi-part-bundle.js
│ │ │ ├── multiple-licenses-2.js
│ │ │ ├── multiple-licenses-3.js
│ │ │ ├── multiple-licenses-4.js
│ │ │ ├── multiple-licenses.js
│ │ │ ├── nonbmp.js
│ │ │ ├── not-multiple-licenses.js
│ │ │ ├── not-unannotated-externs-1.js
│ │ │ ├── not-unannotated-externs-2.js
│ │ │ ├── not-unannotated-externs-3.js
│ │ │ ├── opal-test.js
│ │ │ ├── options
│ │ │ ├── orgmode.html
│ │ │ ├── pandoc.html
│ │ │ ├── peg-js.js
│ │ │ ├── polymer.html
│ │ │ ├── purs-bundle.js
│ │ │ ├── purs.js
│ │ │ ├── short-variables.js
│ │ │ ├── single-license.js
│ │ │ ├── some-template.html
│ │ │ ├── templ.js
│ │ │ ├── textmate.html
│ │ │ ├── tmpl.html
│ │ │ ├── tmpl2.html
│ │ │ ├── tst-min.js
│ │ │ ├── tst.browserify.js
│ │ │ ├── tst.dart.js
│ │ │ ├── tst.min.js
│ │ │ ├── tst_min.js
│ │ │ ├── twitter-text.js
│ │ │ ├── twitter_text.js
│ │ │ ├── unannotated-externs-1.js
│ │ │ ├── unannotated-externs-2.js
│ │ │ ├── unannotated-externs-3.js
│ │ │ ├── unannotated-externs-4.js
│ │ │ ├── unannotated-externs-5.js
│ │ │ ├── unannotated-externs-6.js
│ │ │ └── unannotated-externs-7.js
│ │ ├── testUtilities
│ │ └── ConsistencyChecking.qll
│ │ └── tutorials
│ │ ├── Analyzing data flow in JavaScript
│ │ ├── Global data flow
│ │ │ ├── query1.expected
│ │ │ ├── query1.ql
│ │ │ ├── query2.expected
│ │ │ ├── query2.ql
│ │ │ ├── query3.expected
│ │ │ ├── query3.ql
│ │ │ ├── query4.expected
│ │ │ ├── query4.ql
│ │ │ ├── query5.expected
│ │ │ ├── query5.ql
│ │ │ ├── test1.js
│ │ │ ├── test2.js
│ │ │ ├── test3.js
│ │ │ └── test4.js
│ │ └── Local data flow
│ │ │ ├── query1.expected
│ │ │ ├── query1.ql
│ │ │ ├── query2.expected
│ │ │ ├── query2.ql
│ │ │ ├── query3.expected
│ │ │ ├── query3.ql
│ │ │ ├── query4.expected
│ │ │ ├── query4.ql
│ │ │ └── test.js
│ │ ├── Introducing the JavaScript libraries
│ │ ├── m.js
│ │ ├── options
│ │ ├── query1.qll
│ │ ├── query10.qll
│ │ ├── query11.qll
│ │ ├── query12.qll
│ │ ├── query13.qll
│ │ ├── query14.qll
│ │ ├── query15.qll
│ │ ├── query17.qll
│ │ ├── query18.qll
│ │ ├── query19.qll
│ │ ├── query2.qll
│ │ ├── query20.qll
│ │ ├── query21.qll
│ │ ├── query3.qll
│ │ ├── query4.qll
│ │ ├── query5.qll
│ │ ├── query6.qll
│ │ ├── query7.qll
│ │ ├── query8.qll
│ │ ├── query9.qll
│ │ ├── tests.expected
│ │ ├── tests.ql
│ │ └── tst.js
│ │ ├── README
│ │ ├── Validating RAML-based APIs
│ │ ├── HTTP.qll
│ │ ├── MissingResponseSpecification.expected
│ │ ├── MissingResponseSpecification.ql
│ │ ├── Osprey.qll
│ │ ├── RAML.qll
│ │ ├── query1.expected
│ │ ├── query1.ql
│ │ ├── query2.expected
│ │ ├── query2.ql
│ │ ├── query3.expected
│ │ ├── query3.ql
│ │ ├── query4.expected
│ │ ├── query4.ql
│ │ └── robonode
│ │ │ ├── Gruntfile.js
│ │ │ ├── LICENSE
│ │ │ └── src
│ │ │ ├── addCRC.js
│ │ │ ├── app.js
│ │ │ ├── assets
│ │ │ └── raml
│ │ │ │ └── api.raml
│ │ │ ├── command.js
│ │ │ ├── populateMotionData.js
│ │ │ └── robot.js
│ │ └── Writing QL queries - JavaScript
│ │ ├── basic.expected
│ │ ├── basic.ql
│ │ ├── refined.expected
│ │ ├── refined.ql
│ │ └── tst.js
└── upgrades
│ ├── 03c078a7e6eec294f1457b3d20f9fec4427cb4af
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── 2dc7a0389827d235763a3748aba73c2d4a677b15
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── 480c0c6f68fac1441d25defa4562f61a5f968d11
│ ├── hasLocation.ql
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ ├── upgrade.properties
│ └── yaml_locations.ql
│ ├── 4d64c2a745b5b200af1d3db2958c255032692be9
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── 4e26462d907d2cfb7ec8a08f8ccdf40732038ef8
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── 4f136cb93608918a866f46bfe75fd7138f20bd5e
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── 56b74a6808d3fe01835d454c25ea8dc3da1a8fdf
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── 5a5adbf98dce747760ad1b8d0b9d27b53934e17c
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── 6486c78671c40e4dc07932d806366f09051bb399
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── 64ea4d71964ad03f6604cf49f4869163dacbab66
│ ├── hasLocation.ql
│ ├── json_locations.ql
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── 7eead88269b20e9d61f61cd2291affb737dc831e
│ ├── isES2015Module.ql
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── 81e6619c681f7844e8ddc38db102e75b428c830c
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── 874ebfcd4d2fd346c10ebec145466d9071d78606
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── 930898a4fe07cb48de46800904922ca118b31e50
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ ├── tuple_type_rest_index.ql
│ └── upgrade.properties
│ ├── 96b0a386b6fb8da2b5f2514f26154a10c906f9c5
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── 9a70dfc47d84e32ee3758371acb55ab3f905abdc
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── ab0dab3b55b386f366e9904e10139edebca0495c
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── b9202b62ec8a0304316515941cb45646c6dd6fdd
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── c73fbfca57f3d593b9ff50c6aa3a886d6888efec
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── c8859f3725d4b070a877f8792214582d517c8a9b
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ ├── semmlecode.javascript.dbscheme.stats
│ ├── toplevel_parent_xml_node.ql
│ └── upgrade.properties
│ ├── dad09eeeff5cf8c9c2b674d5053c63ab44e091df
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── e2173e83ac503be4d7c18472a2d7ce636724510c
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── eee0408097f0b1572b871ee7cc0ecad1aaa795e7
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ ├── eee08932d5217772961acb1bd1841cc5bb9df91b
│ ├── old.dbscheme
│ ├── semmlecode.javascript.dbscheme
│ └── upgrade.properties
│ └── qlpack.yml
├── misc
├── emacs
│ ├── README.md
│ ├── dbscheme-mode.el
│ └── ql-mode-base.el
├── legacy-support
│ ├── cpp
│ │ └── qlpack.yml
│ ├── csharp
│ │ └── qlpack.yml
│ ├── java
│ │ └── qlpack.yml
│ ├── javascript
│ │ └── qlpack.yml
│ └── python
│ │ └── qlpack.yml
├── scripts
│ ├── generate-code-scanning-query-list.py
│ └── pre-commit
├── suite-helpers
│ ├── code-scanning-selectors.yml
│ ├── lgtm-displayed-only.yml
│ ├── lgtm-selectors.yml
│ ├── qlpack.yml
│ ├── security-and-quality-selectors.yml
│ └── security-extended-selectors.yml
└── vim
│ ├── README.md
│ ├── ftdetect
│ └── ql.vim
│ └── syntax
│ └── ql.vim
└── python
├── .vscode
└── ql.code-snippets
├── change-notes
├── 2020-11-25-better-open-models.md
├── 2020-12-03-model-realpath-abspath.md
├── 2020-12-04-django-class-based-view-handlers.md
├── 2020-12-08-stdlib-http-source-modeling.md
├── 2020-12-09-add-sqlite3-model.md
├── 2020-12-14-add-PyMySQL-model.md
├── 2020-12-21-django-with-unknown-route.md
├── 2020-12-22-tornado-source-modeling.md
├── 2021-01-12-flask-class-based-view-handlers.md
├── 2021-01-19-port-url-redirect-query.md
├── 2021-02-02-port-weak-crypto-key-query.md
├── 2021-02-03-flask-add-blueprint-modeling.md
├── 2021-02-04-api-graphs.md
├── 2021-02-10-django-improvements.md
├── 2021-02-10-yaml-more-loading-functions.md
├── 2021-02-12-django-get_redirect_url.md
├── 2021-02-18-type-backtrackers.md
├── 2021-02-23-port-bind-to-all-interfaces.md
├── 2021-02-23-port-insecure-default-protocol.md
├── 2021-02-24-port-flask-debug.md
├── 2021-02-25-port-stactrace-exposure-query.md
├── 2021-03-01-fluent-interface-data-flow.md
├── 2021-03-11-api-graph-builtins.md
├── 2021-03-18-yaml-handle-C-based-loaders.md
├── 2021-03-22-getacall-callcfgnode.md
├── 2021-03-23-django-forms-fields-classes.md
└── 2021-03-25-remove-legacy.md
├── config
└── suites
│ └── lgtm
│ ├── python-alerts-lgtm
│ ├── python-lgtm
│ ├── python-metrics-lgtm
│ ├── python-queries-lgtm
│ └── python2-lgtm
├── ql
├── examples
│ ├── qlpack.yml
│ ├── queries.xml
│ └── snippets
│ │ ├── backticks.ql
│ │ ├── builtin_object.ql
│ │ ├── call.ql
│ │ ├── catch_exception.ql
│ │ ├── conditional_expression.ql
│ │ ├── elif.ql
│ │ ├── emptyblock.ql
│ │ ├── emptythen.ql
│ │ ├── eq_true.ql
│ │ ├── equalitystmt.ql
│ │ ├── extend_class.ql
│ │ ├── filename.ql
│ │ ├── generator.ql
│ │ ├── integer_literal.ql
│ │ ├── method_call.ql
│ │ ├── mutualrecursion.ql
│ │ ├── new_instance.ql
│ │ ├── override_method.ql
│ │ ├── print.ql
│ │ ├── private_access.ql
│ │ ├── raise_exception.ql
│ │ ├── raw_string.ql
│ │ ├── recursion.ql
│ │ ├── singlequotestring.ql
│ │ ├── store_none.ql
│ │ ├── todocomment.ql
│ │ ├── too_many_params.ql
│ │ └── tryfinally.ql
├── src
│ ├── .project
│ ├── .qlpath
│ ├── .vs
│ │ └── VSWorkspaceSettings.json
│ ├── Classes
│ │ ├── ClassAttributes.qll
│ │ ├── ConflictingAttributesInBaseClasses.py
│ │ ├── ConflictingAttributesInBaseClasses.qhelp
│ │ ├── ConflictingAttributesInBaseClasses.ql
│ │ ├── ConflictingAttributesInBaseClasses_Fixed.py
│ │ ├── DefineEqualsWhenAddingAttributes.py
│ │ ├── DefineEqualsWhenAddingAttributes.qhelp
│ │ ├── DefineEqualsWhenAddingAttributes.ql
│ │ ├── Equality.qll
│ │ ├── EqualsOrHash.py
│ │ ├── EqualsOrHash.qhelp
│ │ ├── EqualsOrHash.ql
│ │ ├── EqualsOrNotEquals.py
│ │ ├── EqualsOrNotEquals.qhelp
│ │ ├── EqualsOrNotEquals.ql
│ │ ├── IncompleteOrdering.py
│ │ ├── IncompleteOrdering.qhelp
│ │ ├── IncompleteOrdering.ql
│ │ ├── InconsistentMRO.py
│ │ ├── InconsistentMRO.qhelp
│ │ ├── InconsistentMRO.ql
│ │ ├── InitCallsSubclassMethod.py
│ │ ├── InitCallsSubclassMethod.qhelp
│ │ ├── InitCallsSubclassMethod.ql
│ │ ├── MaybeUndefinedClassAttribute.py
│ │ ├── MaybeUndefinedClassAttribute.qhelp
│ │ ├── MaybeUndefinedClassAttribute.ql
│ │ ├── MethodCallOrder.qll
│ │ ├── MissingCallToDel.py
│ │ ├── MissingCallToDel.qhelp
│ │ ├── MissingCallToDel.ql
│ │ ├── MissingCallToInit.py
│ │ ├── MissingCallToInit.qhelp
│ │ ├── MissingCallToInit.ql
│ │ ├── MutatingDescriptor.py
│ │ ├── MutatingDescriptor.qhelp
│ │ ├── MutatingDescriptor.ql
│ │ ├── MutatingDescriptorFixed.py
│ │ ├── OverwritingAttributeInSuperClass.py
│ │ ├── OverwritingAttributeInSuperClass.qhelp
│ │ ├── OverwritingAttributeInSuperClass.ql
│ │ ├── PropertyInOldStyleClass.py
│ │ ├── PropertyInOldStyleClass.qhelp
│ │ ├── PropertyInOldStyleClass.ql
│ │ ├── ShouldBeContextManager.py
│ │ ├── ShouldBeContextManager.qhelp
│ │ ├── ShouldBeContextManager.ql
│ │ ├── SlotsInOldStyleClass.py
│ │ ├── SlotsInOldStyleClass.qhelp
│ │ ├── SlotsInOldStyleClass.ql
│ │ ├── SubclassShadowing.py
│ │ ├── SubclassShadowing.qhelp
│ │ ├── SubclassShadowing.ql
│ │ ├── SuperInOldStyleClass.py
│ │ ├── SuperInOldStyleClass.qhelp
│ │ ├── SuperInOldStyleClass.ql
│ │ ├── SuperclassDelCalledMultipleTimes.py
│ │ ├── SuperclassDelCalledMultipleTimes.qhelp
│ │ ├── SuperclassDelCalledMultipleTimes.ql
│ │ ├── SuperclassDelCalledMultipleTimes2.py
│ │ ├── SuperclassInitCalledMultipleTimes.py
│ │ ├── SuperclassInitCalledMultipleTimes.qhelp
│ │ ├── SuperclassInitCalledMultipleTimes.ql
│ │ ├── SuperclassInitCalledMultipleTimes2.py
│ │ ├── UndefinedClassAttribute.py
│ │ ├── UndefinedClassAttribute.qhelp
│ │ ├── UndefinedClassAttribute.ql
│ │ ├── UselessClass.py
│ │ ├── UselessClass.qhelp
│ │ ├── UselessClass.ql
│ │ ├── WrongNameForArgumentInClassInstantiation.py
│ │ ├── WrongNameForArgumentInClassInstantiation.qhelp
│ │ ├── WrongNameForArgumentInClassInstantiation.ql
│ │ ├── WrongNumberArgumentsInClassInstantiation.py
│ │ ├── WrongNumberArgumentsInClassInstantiation.qhelp
│ │ └── WrongNumberArgumentsInClassInstantiation.ql
│ ├── Customizations.qll
│ ├── Exceptions
│ │ ├── CatchingBaseException.py
│ │ ├── CatchingBaseException.qhelp
│ │ ├── CatchingBaseException.ql
│ │ ├── EmptyExcept.py
│ │ ├── EmptyExcept.qhelp
│ │ ├── EmptyExcept.ql
│ │ ├── IllegalExceptionHandlerType.py
│ │ ├── IllegalExceptionHandlerType.qhelp
│ │ ├── IllegalExceptionHandlerType.ql
│ │ ├── IllegalRaise.py
│ │ ├── IllegalRaise.qhelp
│ │ ├── IllegalRaise.ql
│ │ ├── IncorrectExceptOrder.py
│ │ ├── IncorrectExceptOrder.qhelp
│ │ ├── IncorrectExceptOrder.ql
│ │ ├── NotImplemented.py
│ │ ├── NotImplemented.qll
│ │ ├── NotImplementedIsNotAnException.qhelp
│ │ ├── NotImplementedIsNotAnException.ql
│ │ ├── Raising.qll
│ │ ├── RaisingTuple.py
│ │ ├── RaisingTuple.qhelp
│ │ ├── RaisingTuple.ql
│ │ ├── RaisingTuple2.py
│ │ ├── UnguardedNextInGenerator.qhelp
│ │ ├── UnguardedNextInGenerator.ql
│ │ ├── UnguardedNextInGeneratorBad.py
│ │ └── UnguardedNextInGeneratorGood.py
│ ├── Expressions
│ │ ├── CallArgs.qll
│ │ ├── CallToSuperWrongClass.py
│ │ ├── CallToSuperWrongClass.qhelp
│ │ ├── CallToSuperWrongClass.ql
│ │ ├── CompareConstants.py
│ │ ├── CompareConstants.qhelp
│ │ ├── CompareConstants.ql
│ │ ├── CompareIdenticalValues.py
│ │ ├── CompareIdenticalValues.qhelp
│ │ ├── CompareIdenticalValues.ql
│ │ ├── CompareIdenticalValuesMissingSelf.py
│ │ ├── CompareIdenticalValuesMissingSelf.qhelp
│ │ ├── CompareIdenticalValuesMissingSelf.ql
│ │ ├── Comparisons
│ │ │ ├── UselessComparisonTest.py
│ │ │ ├── UselessComparisonTest.qhelp
│ │ │ └── UselessComparisonTest.ql
│ │ ├── ContainsNonContainer.py
│ │ ├── ContainsNonContainer.qhelp
│ │ ├── ContainsNonContainer.ql
│ │ ├── DuplicateKeyInDictionaryLiteral.py
│ │ ├── DuplicateKeyInDictionaryLiteral.qhelp
│ │ ├── DuplicateKeyInDictionaryLiteral.ql
│ │ ├── EqualsNone.py
│ │ ├── EqualsNone.qhelp
│ │ ├── EqualsNone.ql
│ │ ├── ExpectedMappingForFormatString.py
│ │ ├── ExpectedMappingForFormatString.qhelp
│ │ ├── ExpectedMappingForFormatString.ql
│ │ ├── ExplicitCallToDel.py
│ │ ├── ExplicitCallToDel.qhelp
│ │ ├── ExplicitCallToDel.ql
│ │ ├── Formatting
│ │ │ ├── AdvancedFormatting.qll
│ │ │ ├── MixedExplicitImplicitIn3101Format.py
│ │ │ ├── MixedExplicitImplicitIn3101Format.qhelp
│ │ │ ├── MixedExplicitImplicitIn3101Format.ql
│ │ │ ├── UnusedArgumentIn3101Format.py
│ │ │ ├── UnusedArgumentIn3101Format.qhelp
│ │ │ ├── UnusedArgumentIn3101Format.ql
│ │ │ ├── UnusedNamedArgumentIn3101Format.py
│ │ │ ├── UnusedNamedArgumentIn3101Format.qhelp
│ │ │ ├── UnusedNamedArgumentIn3101Format.ql
│ │ │ ├── WrongNameInArgumentsFor3101Format.py
│ │ │ ├── WrongNameInArgumentsFor3101Format.qhelp
│ │ │ ├── WrongNameInArgumentsFor3101Format.ql
│ │ │ ├── WrongNumberArgumentsFor3101Format.py
│ │ │ ├── WrongNumberArgumentsFor3101Format.qhelp
│ │ │ └── WrongNumberArgumentsFor3101Format.ql
│ │ ├── HashedButNoHash.py
│ │ ├── HashedButNoHash.qhelp
│ │ ├── HashedButNoHash.ql
│ │ ├── IncorrectComparisonUsingIs.py
│ │ ├── IncorrectComparisonUsingIs.qhelp
│ │ ├── IncorrectComparisonUsingIs.ql
│ │ ├── IsComparisons.qll
│ │ ├── NonCallableCalled.py
│ │ ├── NonCallableCalled.qhelp
│ │ ├── NonCallableCalled.ql
│ │ ├── NonPortableComparisonUsingIs.py
│ │ ├── NonPortableComparisonUsingIs.qhelp
│ │ ├── NonPortableComparisonUsingIs.ql
│ │ ├── RedundantComparison.qll
│ │ ├── Regex
│ │ │ ├── BackspaceEscape.py
│ │ │ ├── BackspaceEscape.qhelp
│ │ │ ├── BackspaceEscape.ql
│ │ │ ├── DuplicateCharacterInSet.py
│ │ │ ├── DuplicateCharacterInSet.qhelp
│ │ │ ├── DuplicateCharacterInSet.ql
│ │ │ ├── MissingPartSpecialGroup.py
│ │ │ ├── MissingPartSpecialGroup.qhelp
│ │ │ ├── MissingPartSpecialGroup.ql
│ │ │ ├── UnmatchableCaret.py
│ │ │ ├── UnmatchableCaret.qhelp
│ │ │ ├── UnmatchableCaret.ql
│ │ │ ├── UnmatchableDollar.py
│ │ │ ├── UnmatchableDollar.qhelp
│ │ │ └── UnmatchableDollar.ql
│ │ ├── TruncatedDivision.py
│ │ ├── TruncatedDivision.qhelp
│ │ ├── TruncatedDivision.ql
│ │ ├── TruncatedDivisionCorrect.py
│ │ ├── UnintentionalImplicitStringConcatenation.py
│ │ ├── UnintentionalImplicitStringConcatenation.qhelp
│ │ ├── UnintentionalImplicitStringConcatenation.ql
│ │ ├── UnnecessaryLambda.py
│ │ ├── UnnecessaryLambda.qhelp
│ │ ├── UnnecessaryLambda.ql
│ │ ├── UnnecessaryLambdaFix.py
│ │ ├── UnsupportedFormatCharacter.py
│ │ ├── UnsupportedFormatCharacter.qhelp
│ │ ├── UnsupportedFormatCharacter.ql
│ │ ├── UseofApply.qhelp
│ │ ├── UseofApply.ql
│ │ ├── UseofInput.qhelp
│ │ ├── UseofInput.ql
│ │ ├── WrongNameForArgumentInCall.qhelp
│ │ ├── WrongNameForArgumentInCall.ql
│ │ ├── WrongNumberArgumentsForFormat.py
│ │ ├── WrongNumberArgumentsForFormat.qhelp
│ │ ├── WrongNumberArgumentsForFormat.ql
│ │ ├── WrongNumberArgumentsInCall.qhelp
│ │ └── WrongNumberArgumentsInCall.ql
│ ├── Filters
│ │ └── ClassifyFiles.ql
│ ├── Functions
│ │ ├── ConsistentReturns.py
│ │ ├── ConsistentReturns.qhelp
│ │ ├── ConsistentReturns.ql
│ │ ├── DeprecatedSliceMethod.qhelp
│ │ ├── DeprecatedSliceMethod.ql
│ │ ├── ExplicitReturnInInit.py
│ │ ├── ExplicitReturnInInit.qhelp
│ │ ├── ExplicitReturnInInit.ql
│ │ ├── IncorrectRaiseInSpecialMethod.py
│ │ ├── IncorrectRaiseInSpecialMethod.qhelp
│ │ ├── IncorrectRaiseInSpecialMethod.ql
│ │ ├── IncorrectRaiseInSpecialMethod2.py
│ │ ├── IncorrectRaiseInSpecialMethod3.py
│ │ ├── IncorrectlyOverriddenMethod.qhelp
│ │ ├── IncorrectlyOverriddenMethod.ql
│ │ ├── IncorrectlySpecifiedOverriddenMethod.qhelp
│ │ ├── IncorrectlySpecifiedOverriddenMethod.ql
│ │ ├── InitIsGenerator.py
│ │ ├── InitIsGenerator.qhelp
│ │ ├── InitIsGenerator.ql
│ │ ├── IterReturnsNonIterator.py
│ │ ├── IterReturnsNonIterator.qhelp
│ │ ├── IterReturnsNonIterator.ql
│ │ ├── IterReturnsNonSelf.py
│ │ ├── IterReturnsNonSelf.qhelp
│ │ ├── IterReturnsNonSelf.ql
│ │ ├── ModificationOfParameterWithDefault.py
│ │ ├── ModificationOfParameterWithDefault.qhelp
│ │ ├── ModificationOfParameterWithDefault.ql
│ │ ├── NonCls.py
│ │ ├── NonCls.qhelp
│ │ ├── NonCls.ql
│ │ ├── NonSelf.py
│ │ ├── NonSelf.qhelp
│ │ ├── NonSelf.ql
│ │ ├── OverlyComplexDelMethod.py
│ │ ├── OverlyComplexDelMethod.qhelp
│ │ ├── OverlyComplexDelMethod.ql
│ │ ├── ReturnConsistentTupleSizes.py
│ │ ├── ReturnConsistentTupleSizes.qhelp
│ │ ├── ReturnConsistentTupleSizes.ql
│ │ ├── ReturnValueIgnored.py
│ │ ├── ReturnValueIgnored.qhelp
│ │ ├── ReturnValueIgnored.ql
│ │ ├── SignatureIncorrectlyOverriddenMethod.py
│ │ ├── SignatureOverriddenMethod.py
│ │ ├── SignatureOverriddenMethod.qhelp
│ │ ├── SignatureOverriddenMethod.ql
│ │ ├── SignatureOverridingMethod.py
│ │ ├── SignatureSpecialMethods.py
│ │ ├── SignatureSpecialMethods.qhelp
│ │ ├── SignatureSpecialMethods.ql
│ │ ├── UseImplicitNoneReturnValue.py
│ │ ├── UseImplicitNoneReturnValue.qhelp
│ │ └── UseImplicitNoneReturnValue.ql
│ ├── Imports
│ │ ├── Cyclic.qll
│ │ ├── CyclicImport.qhelp
│ │ ├── CyclicImport.ql
│ │ ├── DeprecatedModule.qhelp
│ │ ├── DeprecatedModule.ql
│ │ ├── EncodingError.qhelp
│ │ ├── EncodingError.ql
│ │ ├── FromImportOfMutableAttribute.qhelp
│ │ ├── FromImportOfMutableAttribute.ql
│ │ ├── ImportOnTwoLines.py
│ │ ├── ImportShadowedByLoopVar.qhelp
│ │ ├── ImportShadowedByLoopVar.ql
│ │ ├── ImportStarUsed.qhelp
│ │ ├── ImportStarUsed.ql
│ │ ├── ImportTwiceOnALine.py
│ │ ├── ImportandImportFrom.py
│ │ ├── ImportandImportFrom.qhelp
│ │ ├── ImportandImportFrom.ql
│ │ ├── Imports.qhelp
│ │ ├── Imports.ql
│ │ ├── ModuleImportsItself.py
│ │ ├── ModuleImportsItself.qhelp
│ │ ├── ModuleImportsItself.ql
│ │ ├── ModuleImportsItselfFix.py
│ │ ├── ModuleLevelCyclicImport.qhelp
│ │ ├── ModuleLevelCyclicImport.ql
│ │ ├── MultipleImports.py
│ │ ├── MultipleImports.qhelp
│ │ ├── MultipleImports.ql
│ │ ├── SyntaxError.qhelp
│ │ ├── SyntaxError.ql
│ │ ├── UnintentionalImport.py
│ │ ├── UnintentionalImport.qhelp
│ │ ├── UnintentionalImport.ql
│ │ ├── UnusedImport.qhelp
│ │ ├── UnusedImport.ql
│ │ ├── from_import.py
│ │ ├── from_import_fixed.py
│ │ └── redirect.py
│ ├── Lexical
│ │ ├── CommentedOutCode.py
│ │ ├── CommentedOutCode.qhelp
│ │ ├── CommentedOutCode.ql
│ │ ├── CommentedOutCode.qll
│ │ ├── CommentedOutCodeExample.inc.qhelp
│ │ ├── CommentedOutCodeMetricOverview.inc.qhelp
│ │ ├── CommentedOutCodeQuery.inc.qhelp
│ │ ├── CommentedOutCodeReferences.inc.qhelp
│ │ ├── FCommentedOutCode.qhelp
│ │ ├── FCommentedOutCode.ql
│ │ ├── OldOctalLiteral.py
│ │ ├── OldOctalLiteral.qhelp
│ │ ├── OldOctalLiteral.ql
│ │ ├── ToDoComment.py
│ │ ├── ToDoComment.qhelp
│ │ └── ToDoComment.ql
│ ├── Metrics
│ │ ├── CLinesOfCode.qhelp
│ │ ├── CLinesOfCode.ql
│ │ ├── ClassAfferentCoupling.qhelp
│ │ ├── ClassAfferentCoupling.ql
│ │ ├── ClassEfferentCoupling.py
│ │ ├── ClassEfferentCoupling.qhelp
│ │ ├── ClassEfferentCoupling.ql
│ │ ├── ClassEfferentCouplingGood.py
│ │ ├── CommentRatio.qhelp
│ │ ├── CommentRatio.ql
│ │ ├── CyclomaticComplexity.qhelp
│ │ ├── CyclomaticComplexity.ql
│ │ ├── Dependencies
│ │ │ ├── ExternalDependencies.ql
│ │ │ └── ExternalDependenciesSourceLinks.ql
│ │ ├── DirectImports.qhelp
│ │ ├── DirectImports.ql
│ │ ├── DocStringRatio.qhelp
│ │ ├── DocStringRatio.ql
│ │ ├── DuplicationProblems.inc.qhelp
│ │ ├── External
│ │ │ ├── CommitDisplayStrings.ql
│ │ │ └── CommitSourceLinks.ql
│ │ ├── FClasses.qhelp
│ │ ├── FClasses.ql
│ │ ├── FFunctionsAndMethods.qhelp
│ │ ├── FFunctionsAndMethods.ql
│ │ ├── FLines.ql
│ │ ├── FLinesOfCode.qhelp
│ │ ├── FLinesOfCode.ql
│ │ ├── FLinesOfComments.qhelp
│ │ ├── FLinesOfComments.ql
│ │ ├── FLinesOfDuplicatedCode.qhelp
│ │ ├── FLinesOfDuplicatedCode.ql
│ │ ├── FLinesOfDuplicatedCodeCommon.inc.qhelp
│ │ ├── FLinesOfSimilarCode.qhelp
│ │ ├── FLinesOfSimilarCode.ql
│ │ ├── FNumberOfTests.qhelp
│ │ ├── FNumberOfTests.ql
│ │ ├── FunctionNumberOfCalls.qhelp
│ │ ├── FunctionNumberOfCalls.ql
│ │ ├── FunctionStatementNestingDepth.py
│ │ ├── FunctionStatementNestingDepth.qhelp
│ │ ├── FunctionStatementNestingDepth.ql
│ │ ├── FunctionStatementNestingDepthGood.py
│ │ ├── History
│ │ │ ├── HChurn.qhelp
│ │ │ ├── HChurn.ql
│ │ │ ├── HLinesAdded.qhelp
│ │ │ ├── HLinesAdded.ql
│ │ │ ├── HLinesDeleted.qhelp
│ │ │ ├── HLinesDeleted.ql
│ │ │ ├── HNumberOfAuthors.qhelp
│ │ │ ├── HNumberOfAuthors.ql
│ │ │ ├── HNumberOfCoCommits.qhelp
│ │ │ ├── HNumberOfCoCommits.ql
│ │ │ ├── HNumberOfCommits.qhelp
│ │ │ ├── HNumberOfCommits.ql
│ │ │ ├── HNumberOfReCommits.qhelp
│ │ │ ├── HNumberOfReCommits.ql
│ │ │ ├── HNumberOfRecentAuthors.ql
│ │ │ ├── HNumberOfRecentChangedFiles.ql
│ │ │ ├── HNumberOfRecentCommits.qhelp
│ │ │ └── HNumberOfRecentCommits.ql
│ │ ├── Internal
│ │ │ ├── CallableDisplayStrings.ql
│ │ │ ├── CallableExtents.ql
│ │ │ ├── CallableSourceLinks.ql
│ │ │ ├── ClassDisplayStrings.ql
│ │ │ ├── ClassExtents.ql
│ │ │ ├── ClassSourceLinks.ql
│ │ │ └── Extents.qll
│ │ ├── LackofCohesionInMethodsCK.qhelp
│ │ ├── LackofCohesionInMethodsCK.ql
│ │ ├── LackofCohesionInMethodsHM.qhelp
│ │ ├── LackofCohesionInMethodsHM.ql
│ │ ├── ModuleAfferentCoupling.qhelp
│ │ ├── ModuleAfferentCoupling.ql
│ │ ├── ModuleEfferentCoupling.qhelp
│ │ ├── ModuleEfferentCoupling.ql
│ │ ├── NumberOfParameters1.py
│ │ ├── NumberOfParameters1Good.py
│ │ ├── NumberOfParameters2.py
│ │ ├── NumberOfParameters2Good.py
│ │ ├── NumberOfParametersWithoutDefault.qhelp
│ │ ├── NumberOfParametersWithoutDefault.ql
│ │ ├── NumberOfStatements.qhelp
│ │ ├── NumberOfStatements.ql
│ │ ├── TransitiveImports.qhelp
│ │ └── TransitiveImports.ql
│ ├── Numerics
│ │ ├── Pythagorean.py
│ │ ├── Pythagorean.qhelp
│ │ └── Pythagorean.ql
│ ├── Resources
│ │ ├── FileNotAlwaysClosed.py
│ │ ├── FileNotAlwaysClosed.qhelp
│ │ ├── FileNotAlwaysClosed.ql
│ │ └── FileOpen.qll
│ ├── Security
│ │ ├── CVE-2018-1281
│ │ │ ├── BindToAllInterfaces.py
│ │ │ ├── BindToAllInterfaces.qhelp
│ │ │ └── BindToAllInterfaces.ql
│ │ ├── CWE-020-ExternalAPIs
│ │ │ ├── ExternalAPISinkExample.py
│ │ │ ├── ExternalAPITaintStepExample.py
│ │ │ ├── ExternalAPIs.qll
│ │ │ ├── ExternalAPIsUsedWithUntrustedData.qhelp
│ │ │ ├── ExternalAPIsUsedWithUntrustedData.ql
│ │ │ ├── UntrustedDataToExternalAPI.qhelp
│ │ │ └── UntrustedDataToExternalAPI.ql
│ │ ├── CWE-020
│ │ │ ├── IncompleteHostnameRegExp.qhelp
│ │ │ ├── IncompleteHostnameRegExp.ql
│ │ │ ├── IncompleteUrlSubstringSanitization.qhelp
│ │ │ ├── IncompleteUrlSubstringSanitization.ql
│ │ │ └── examples
│ │ │ │ ├── IncompleteHostnameRegExp.py
│ │ │ │ └── IncompleteUrlSubstringSanitization.py
│ │ ├── CWE-022
│ │ │ ├── PathInjection.qhelp
│ │ │ ├── PathInjection.ql
│ │ │ ├── TarSlip.qhelp
│ │ │ ├── TarSlip.ql
│ │ │ └── examples
│ │ │ │ ├── tainted_path.py
│ │ │ │ ├── tarslip_bad.py
│ │ │ │ └── tarslip_good.py
│ │ ├── CWE-078
│ │ │ ├── CommandInjection.qhelp
│ │ │ ├── CommandInjection.ql
│ │ │ └── examples
│ │ │ │ └── command_injection.py
│ │ ├── CWE-079
│ │ │ ├── Jinja2WithoutEscaping.qhelp
│ │ │ ├── Jinja2WithoutEscaping.ql
│ │ │ ├── ReflectedXss.qhelp
│ │ │ ├── ReflectedXss.ql
│ │ │ └── examples
│ │ │ │ ├── jinja2.py
│ │ │ │ └── xss.py
│ │ ├── CWE-089
│ │ │ ├── SqlInjection.qhelp
│ │ │ ├── SqlInjection.ql
│ │ │ └── examples
│ │ │ │ └── sql_injection.py
│ │ ├── CWE-094
│ │ │ ├── CodeInjection.qhelp
│ │ │ ├── CodeInjection.ql
│ │ │ └── examples
│ │ │ │ └── code_injection.py
│ │ ├── CWE-209
│ │ │ ├── StackTraceExposure.py
│ │ │ ├── StackTraceExposure.qhelp
│ │ │ └── StackTraceExposure.ql
│ │ ├── CWE-215
│ │ │ ├── FlaskDebug.py
│ │ │ ├── FlaskDebug.qhelp
│ │ │ └── FlaskDebug.ql
│ │ ├── CWE-295
│ │ │ ├── MissingHostKeyValidation.qhelp
│ │ │ ├── MissingHostKeyValidation.ql
│ │ │ ├── RequestWithoutValidation.qhelp
│ │ │ ├── RequestWithoutValidation.ql
│ │ │ └── examples
│ │ │ │ ├── make_request.py
│ │ │ │ └── paramiko_host_key.py
│ │ ├── CWE-312
│ │ │ ├── CleartextLogging.qhelp
│ │ │ ├── CleartextLogging.ql
│ │ │ ├── CleartextStorage.qhelp
│ │ │ ├── CleartextStorage.ql
│ │ │ └── examples
│ │ │ │ └── password_in_cookie.py
│ │ ├── CWE-326
│ │ │ ├── WeakCryptoKey.qhelp
│ │ │ └── WeakCryptoKey.ql
│ │ ├── CWE-327
│ │ │ ├── BrokenCryptoAlgorithm.qhelp
│ │ │ ├── BrokenCryptoAlgorithm.ql
│ │ │ ├── InsecureDefaultProtocol.qhelp
│ │ │ ├── InsecureDefaultProtocol.ql
│ │ │ ├── InsecureProtocol.qhelp
│ │ │ ├── InsecureProtocol.ql
│ │ │ └── examples
│ │ │ │ ├── broken_crypto.py
│ │ │ │ ├── insecure_default_protocol.py
│ │ │ │ ├── insecure_protocol.py
│ │ │ │ └── secure_default_protocol.py
│ │ ├── CWE-377
│ │ │ ├── InsecureTemporaryFile.py
│ │ │ ├── InsecureTemporaryFile.qhelp
│ │ │ ├── InsecureTemporaryFile.ql
│ │ │ └── SecureTemporaryFile.py
│ │ ├── CWE-502
│ │ │ ├── JsonGood.py
│ │ │ ├── UnpicklingBad.py
│ │ │ ├── UnsafeDeserialization.qhelp
│ │ │ └── UnsafeDeserialization.ql
│ │ ├── CWE-601
│ │ │ ├── UrlRedirect.qhelp
│ │ │ ├── UrlRedirect.ql
│ │ │ └── examples
│ │ │ │ ├── redirect_bad.py
│ │ │ │ └── redirect_good.py
│ │ ├── CWE-732
│ │ │ ├── WeakFilePermissions.qhelp
│ │ │ └── WeakFilePermissions.ql
│ │ └── CWE-798
│ │ │ ├── HardcodedCredentials.py
│ │ │ ├── HardcodedCredentials.qhelp
│ │ │ └── HardcodedCredentials.ql
│ ├── Statements
│ │ ├── AssertLiteralConstant.py
│ │ ├── AssertLiteralConstant.qhelp
│ │ ├── AssertLiteralConstant.ql
│ │ ├── AssertOnTuple.py
│ │ ├── AssertOnTuple.qhelp
│ │ ├── AssertOnTuple.ql
│ │ ├── BreakOrReturnInFinally.qhelp
│ │ ├── BreakOrReturnInFinally.ql
│ │ ├── C_StyleParentheses.py
│ │ ├── C_StyleParentheses.qhelp
│ │ ├── C_StyleParentheses.ql
│ │ ├── ConstantInConditional.py
│ │ ├── ConstantInConditional.qhelp
│ │ ├── ConstantInConditional.ql
│ │ ├── DocStrings.py
│ │ ├── DocStrings.qhelp
│ │ ├── DocStrings.ql
│ │ ├── ExecUsed.py
│ │ ├── ExecUsed.qhelp
│ │ ├── ExecUsed.ql
│ │ ├── ExitUsed.py
│ │ ├── IterableStringOrSequence.py
│ │ ├── IterableStringOrSequence.qhelp
│ │ ├── IterableStringOrSequence.ql
│ │ ├── MismatchInMultipleAssignment.py
│ │ ├── MismatchInMultipleAssignment.qhelp
│ │ ├── MismatchInMultipleAssignment.ql
│ │ ├── ModificationOfLocals.py
│ │ ├── ModificationOfLocals.qhelp
│ │ ├── ModificationOfLocals.ql
│ │ ├── NestedLoopsSameVariable.py
│ │ ├── NestedLoopsSameVariable.qhelp
│ │ ├── NestedLoopsSameVariable.ql
│ │ ├── NestedLoopsSameVariableWithReuse.py
│ │ ├── NestedLoopsSameVariableWithReuse.qhelp
│ │ ├── NestedLoopsSameVariableWithReuse.ql
│ │ ├── NonIteratorInForLoop.py
│ │ ├── NonIteratorInForLoop.qhelp
│ │ ├── NonIteratorInForLoop.ql
│ │ ├── RedundantAssignment.py
│ │ ├── RedundantAssignment.qhelp
│ │ ├── RedundantAssignment.ql
│ │ ├── ReturnOrYieldOutsideFunction.py
│ │ ├── ReturnOrYieldOutsideFunction.qhelp
│ │ ├── ReturnOrYieldOutsideFunction.ql
│ │ ├── ShouldUseWithStatement.py
│ │ ├── ShouldUseWithStatement.qhelp
│ │ ├── ShouldUseWithStatement.ql
│ │ ├── SideEffectInAssert.py
│ │ ├── SideEffectInAssert.qhelp
│ │ ├── SideEffectInAssert.ql
│ │ ├── StatementNoEffect.py
│ │ ├── StatementNoEffect.qhelp
│ │ ├── StatementNoEffect.ql
│ │ ├── StringConcatenationInLoop.qhelp
│ │ ├── StringConcatenationInLoop.ql
│ │ ├── SysExitUsed.py
│ │ ├── TopLevelPrint.py
│ │ ├── TopLevelPrint.qhelp
│ │ ├── TopLevelPrint.ql
│ │ ├── UnnecessaryDelete.py
│ │ ├── UnnecessaryDelete.qhelp
│ │ ├── UnnecessaryDelete.ql
│ │ ├── UnnecessaryElseClause.py
│ │ ├── UnnecessaryElseClause.qhelp
│ │ ├── UnnecessaryElseClause.ql
│ │ ├── UnnecessaryPass.qhelp
│ │ ├── UnnecessaryPass.ql
│ │ ├── UnreachableCode.py
│ │ ├── UnreachableCode.qhelp
│ │ ├── UnreachableCode.ql
│ │ ├── UnusedExceptionObject.py
│ │ ├── UnusedExceptionObject.qhelp
│ │ ├── UnusedExceptionObject.ql
│ │ ├── UseOfExit.qhelp
│ │ └── UseOfExit.ql
│ ├── Testing
│ │ ├── ImpreciseAssert.py
│ │ ├── ImpreciseAssert.qhelp
│ │ ├── ImpreciseAssert.ql
│ │ ├── ImpreciseAssert2.py
│ │ └── Mox.qll
│ ├── Variables
│ │ ├── Definition.qll
│ │ ├── Global.qhelp
│ │ ├── Global.ql
│ │ ├── GlobalAtModuleLevel.qhelp
│ │ ├── GlobalAtModuleLevel.ql
│ │ ├── LeakingListComprehension.py
│ │ ├── LeakingListComprehension.qhelp
│ │ ├── LeakingListComprehension.ql
│ │ ├── LeakingListComprehensionFixed.py
│ │ ├── Loop.qll
│ │ ├── LoopVariableCapture.py
│ │ ├── LoopVariableCapture.qhelp
│ │ ├── LoopVariableCapture.ql
│ │ ├── LoopVariableCapture2.py
│ │ ├── MonkeyPatched.qll
│ │ ├── MultiplyDefined.py
│ │ ├── MultiplyDefined.qhelp
│ │ ├── MultiplyDefined.ql
│ │ ├── ShadowBuiltin.py
│ │ ├── ShadowBuiltin.qhelp
│ │ ├── ShadowBuiltin.ql
│ │ ├── ShadowGlobal.py
│ │ ├── ShadowGlobal.qhelp
│ │ ├── ShadowGlobal.ql
│ │ ├── Shadowing.qll
│ │ ├── SuspiciousUnusedLoopIterationVariable.py
│ │ ├── SuspiciousUnusedLoopIterationVariable.qhelp
│ │ ├── SuspiciousUnusedLoopIterationVariable.ql
│ │ ├── SuspiciousUnusedLoopIterationVariableFixed.py
│ │ ├── Undefined.qll
│ │ ├── UndefinedExport.py
│ │ ├── UndefinedExport.qhelp
│ │ ├── UndefinedExport.ql
│ │ ├── UndefinedGlobal.py
│ │ ├── UndefinedGlobal.qhelp
│ │ ├── UndefinedGlobal.ql
│ │ ├── UndefinedPlaceHolder.qhelp
│ │ ├── UndefinedPlaceHolder.ql
│ │ ├── UninitializedLocal.py
│ │ ├── UninitializedLocal.qhelp
│ │ ├── UninitializedLocal.ql
│ │ ├── UnusedLocalVariable.py
│ │ ├── UnusedLocalVariable.qhelp
│ │ ├── UnusedLocalVariable.ql
│ │ ├── UnusedModuleVariable.py
│ │ ├── UnusedModuleVariable.qhelp
│ │ ├── UnusedModuleVariable.ql
│ │ ├── UnusedParameter.py
│ │ ├── UnusedParameter.qhelp
│ │ ├── UnusedParameter.ql
│ │ ├── UnusedTuple.inc.qhelp
│ │ └── UnusedVariableNaming.inc.qhelp
│ ├── analysis
│ │ ├── AlertSuppression.ql
│ │ ├── CallGraphEfficiency.ql
│ │ ├── CallGraphMarginalEfficiency.ql
│ │ ├── Consistency.ql
│ │ ├── ContextEfficiency.ql
│ │ ├── ContextMarginalEfficiency.ql
│ │ ├── CrossProjectDefinitions.qll
│ │ ├── DefinitionTracking.qll
│ │ ├── Definitions.ql
│ │ ├── Efficiency.ql
│ │ ├── FailedInference.ql
│ │ ├── IDEContextual.qll
│ │ ├── ImportFailure.qhelp
│ │ ├── ImportFailure.ql
│ │ ├── KeyPointsToFailure.ql
│ │ ├── LocalDefinitions.ql
│ │ ├── LocalReferences.ql
│ │ ├── PointsToFailure.ql
│ │ ├── Pruned.ql
│ │ ├── RatioOfDefinitions.ql
│ │ ├── Summary.ql
│ │ ├── TypeHierarchyFailure.qhelp
│ │ ├── TypeHierarchyFailure.ql
│ │ └── TypeInferenceFailure.ql
│ ├── codeql-suites
│ │ ├── python-code-scanning.qls
│ │ ├── python-lgtm-full.qls
│ │ ├── python-lgtm.qls
│ │ ├── python-security-and-quality.qls
│ │ └── python-security-extended.qls
│ ├── default.qll
│ ├── experimental
│ │ ├── README.md
│ │ ├── Security-new-dataflow
│ │ │ └── promote.sh
│ │ ├── Security-old-dataflow
│ │ │ ├── CVE-2018-1281
│ │ │ │ └── BindToAllInterfaces.ql
│ │ │ ├── CWE-022
│ │ │ │ └── PathInjection.ql
│ │ │ ├── CWE-078
│ │ │ │ └── CommandInjection.ql
│ │ │ ├── CWE-079
│ │ │ │ └── ReflectedXss.ql
│ │ │ ├── CWE-089
│ │ │ │ └── SqlInjection.ql
│ │ │ ├── CWE-094
│ │ │ │ └── CodeInjection.ql
│ │ │ ├── CWE-326
│ │ │ │ └── WeakCrypto.ql
│ │ │ ├── CWE-502
│ │ │ │ └── UnsafeDeserialization.ql
│ │ │ └── CWE-601
│ │ │ │ └── UrlRedirect.ql
│ │ ├── Security
│ │ │ ├── CWE-074
│ │ │ │ ├── JinjaBad.py
│ │ │ │ ├── JinjaGood.py
│ │ │ │ ├── TemplateInjection.qhelp
│ │ │ │ └── TemplateInjection.ql
│ │ │ ├── CWE-091
│ │ │ │ ├── Xslt.qhelp
│ │ │ │ ├── Xslt.ql
│ │ │ │ └── xslt.py
│ │ │ └── CWE-643
│ │ │ │ ├── xpath.qhelp
│ │ │ │ ├── xpath.ql
│ │ │ │ ├── xpathBad.py
│ │ │ │ └── xpathGood.py
│ │ └── semmle
│ │ │ └── python
│ │ │ ├── Concepts.qll
│ │ │ ├── Frameworks.qll
│ │ │ ├── frameworks
│ │ │ └── Stdlib.qll
│ │ │ ├── security
│ │ │ └── injection
│ │ │ │ ├── XSLT.qll
│ │ │ │ └── Xpath.qll
│ │ │ └── templates
│ │ │ ├── Airspeed.qll
│ │ │ ├── Bottle.qll
│ │ │ ├── Chameleon.qll
│ │ │ ├── Cheetah.qll
│ │ │ ├── Chevron.qll
│ │ │ ├── DjangoTemplate.qll
│ │ │ ├── FlaskTemplate.qll
│ │ │ ├── Genshi.qll
│ │ │ ├── Jinja.qll
│ │ │ ├── Mako.qll
│ │ │ ├── SSTISink.qll
│ │ │ ├── Ssti.qll
│ │ │ └── TRender.qll
│ ├── external
│ │ ├── DefectFilter.qll
│ │ ├── DuplicateBlock.qhelp
│ │ ├── DuplicateBlock.ql
│ │ ├── DuplicateFunction.qhelp
│ │ ├── DuplicateFunction.ql
│ │ ├── ExternalArtifact.qll
│ │ ├── MostlyDuplicateClass.qhelp
│ │ ├── MostlyDuplicateClass.ql
│ │ ├── MostlyDuplicateFile.qhelp
│ │ ├── MostlyDuplicateFile.ql
│ │ ├── MostlySimilarFile.qhelp
│ │ ├── MostlySimilarFile.ql
│ │ ├── SimilarFunction.qhelp
│ │ ├── SimilarFunction.ql
│ │ ├── Thrift.qll
│ │ └── VCS.qll
│ ├── meta
│ │ ├── MetaMetrics.qll
│ │ └── analysis-quality
│ │ │ ├── CallGraphQuality.qll
│ │ │ ├── PointsToResolvableCallRatio.ql
│ │ │ ├── PointsToResolvableCalls.ql
│ │ │ ├── PointsToResolvableCallsRelevantTarget.ql
│ │ │ └── ResolvableCallCandidates.ql
│ ├── printAst.ql
│ ├── python.qll
│ ├── qlpack.yml
│ ├── queries.xml
│ ├── semmle
│ │ ├── crypto
│ │ │ └── Crypto.qll
│ │ ├── dataflow
│ │ │ └── SSA.qll
│ │ ├── files
│ │ │ └── FileSystem.qll
│ │ └── python
│ │ │ ├── ApiGraphs.qll
│ │ │ ├── AstExtended.qll
│ │ │ ├── AstGenerated.qll
│ │ │ ├── Class.qll
│ │ │ ├── Comment.qll
│ │ │ ├── Comparisons.qll
│ │ │ ├── Comprehensions.qll
│ │ │ ├── Concepts.qll
│ │ │ ├── Constants.qll
│ │ │ ├── Exprs.qll
│ │ │ ├── Files.qll
│ │ │ ├── Flow.qll
│ │ │ ├── Frameworks.qll
│ │ │ ├── Function.qll
│ │ │ ├── GuardedControlFlow.qll
│ │ │ ├── Import.qll
│ │ │ ├── Keywords.qll
│ │ │ ├── Metrics.qll
│ │ │ ├── Module.qll
│ │ │ ├── Operations.qll
│ │ │ ├── PrintAst.qll
│ │ │ ├── SSA.qll
│ │ │ ├── Scope.qll
│ │ │ ├── SelfAttribute.qll
│ │ │ ├── SpecialMethods.qll
│ │ │ ├── Stmts.qll
│ │ │ ├── TestUtils.qll
│ │ │ ├── Unit.qll
│ │ │ ├── Variables.qll
│ │ │ ├── dataflow
│ │ │ ├── Configuration.qll
│ │ │ ├── DataFlow.qll
│ │ │ ├── Files.qll
│ │ │ ├── Implementation.qll
│ │ │ ├── Legacy.qll
│ │ │ ├── StateTracking.qll
│ │ │ ├── TaintTracking.qll
│ │ │ ├── new
│ │ │ │ ├── BarrierGuards.qll
│ │ │ │ ├── DataFlow.qll
│ │ │ │ ├── DataFlow2.qll
│ │ │ │ ├── DataFlow3.qll
│ │ │ │ ├── DataFlow4.qll
│ │ │ │ ├── RemoteFlowSources.qll
│ │ │ │ ├── TaintTracking.qll
│ │ │ │ ├── TaintTracking2.qll
│ │ │ │ ├── TaintTracking3.qll
│ │ │ │ ├── TaintTracking4.qll
│ │ │ │ ├── TypeTracker.qll
│ │ │ │ └── internal
│ │ │ │ │ ├── Attributes.qll
│ │ │ │ │ ├── DataFlowImpl.qll
│ │ │ │ │ ├── DataFlowImpl2.qll
│ │ │ │ │ ├── DataFlowImpl3.qll
│ │ │ │ │ ├── DataFlowImpl4.qll
│ │ │ │ │ ├── DataFlowImplCommon.qll
│ │ │ │ │ ├── DataFlowImplConsistency.qll
│ │ │ │ │ ├── DataFlowImplSpecific.qll
│ │ │ │ │ ├── DataFlowPrivate.qll
│ │ │ │ │ ├── DataFlowPublic.qll
│ │ │ │ │ ├── DataFlowUtil.qll
│ │ │ │ │ ├── TaintTrackingPrivate.qll
│ │ │ │ │ ├── TaintTrackingPublic.qll
│ │ │ │ │ ├── readme.md
│ │ │ │ │ ├── tainttracking1
│ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ │ │ ├── tainttracking2
│ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ │ │ ├── tainttracking3
│ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ │ │ └── tainttracking4
│ │ │ │ │ ├── TaintTrackingImpl.qll
│ │ │ │ │ └── TaintTrackingParameter.qll
│ │ │ └── old
│ │ │ │ ├── Configuration.qll
│ │ │ │ ├── DataFlow.qll
│ │ │ │ ├── Files.qll
│ │ │ │ ├── Implementation.qll
│ │ │ │ ├── Legacy.qll
│ │ │ │ ├── StateTracking.qll
│ │ │ │ └── TaintTracking.qll
│ │ │ ├── dependencies
│ │ │ ├── Dependencies.qll
│ │ │ ├── DependencyKind.qll
│ │ │ └── TechInventory.qll
│ │ │ ├── essa
│ │ │ ├── Definitions.qll
│ │ │ ├── Essa.qll
│ │ │ ├── SsaCompute.qll
│ │ │ └── SsaDefinitions.qll
│ │ │ ├── filters
│ │ │ ├── GeneratedCode.qll
│ │ │ └── Tests.qll
│ │ │ ├── frameworks
│ │ │ ├── Cryptodome.qll
│ │ │ ├── Cryptography.qll
│ │ │ ├── Dill.qll
│ │ │ ├── Django.qll
│ │ │ ├── Fabric.qll
│ │ │ ├── Flask.qll
│ │ │ ├── Invoke.qll
│ │ │ ├── MySQLdb.qll
│ │ │ ├── MysqlConnectorPython.qll
│ │ │ ├── PEP249.qll
│ │ │ ├── Psycopg2.qll
│ │ │ ├── PyMySQL.qll
│ │ │ ├── Stdlib.qll
│ │ │ ├── Tornado.qll
│ │ │ ├── Werkzeug.qll
│ │ │ └── Yaml.qll
│ │ │ ├── libraries
│ │ │ └── Zope.qll
│ │ │ ├── objects
│ │ │ ├── Callables.qll
│ │ │ ├── Classes.qll
│ │ │ ├── Constants.qll
│ │ │ ├── Descriptors.qll
│ │ │ ├── Instances.qll
│ │ │ ├── Modules.qll
│ │ │ ├── ObjectAPI.qll
│ │ │ ├── ObjectInternal.qll
│ │ │ ├── ObjectModel.md
│ │ │ ├── Sequences.qll
│ │ │ └── TObject.qll
│ │ │ ├── pointsto
│ │ │ ├── Base.qll
│ │ │ ├── CallGraph.qll
│ │ │ ├── Context.qll
│ │ │ ├── Filters.qll
│ │ │ ├── Final.qll
│ │ │ ├── MRO.qll
│ │ │ ├── Overview.qll
│ │ │ ├── PointsTo.qll
│ │ │ └── PointsToContext.qll
│ │ │ ├── protocols.qll
│ │ │ ├── regex.qll
│ │ │ ├── security
│ │ │ ├── ClearText.qll
│ │ │ ├── Crypto.qll
│ │ │ ├── Exceptions.qll
│ │ │ ├── Paths.qll
│ │ │ ├── README.md
│ │ │ ├── SQL.qll
│ │ │ ├── SensitiveData.qll
│ │ │ ├── TaintTracking.qll
│ │ │ ├── dataflow
│ │ │ │ ├── ChainedConfigs12.qll
│ │ │ │ ├── CodeInjection.qll
│ │ │ │ ├── CommandInjection.qll
│ │ │ │ ├── ExceptionInfo.qll
│ │ │ │ ├── PathInjection.qll
│ │ │ │ ├── ReflectedXSS.qll
│ │ │ │ ├── SqlInjection.qll
│ │ │ │ ├── StackTraceExposure.qll
│ │ │ │ ├── UnsafeDeserialization.qll
│ │ │ │ └── UrlRedirect.qll
│ │ │ ├── flow
│ │ │ │ └── AnyCall.qll
│ │ │ ├── injection
│ │ │ │ ├── Command.qll
│ │ │ │ ├── Deserialization.qll
│ │ │ │ ├── Exec.qll
│ │ │ │ ├── Marshal.qll
│ │ │ │ ├── Path.qll
│ │ │ │ ├── Pickle.qll
│ │ │ │ ├── Sql.qll
│ │ │ │ ├── Xml.qll
│ │ │ │ └── Yaml.qll
│ │ │ └── strings
│ │ │ │ ├── Basic.qll
│ │ │ │ ├── Common.qll
│ │ │ │ ├── External.qll
│ │ │ │ └── Untrusted.qll
│ │ │ ├── strings.qll
│ │ │ ├── templates
│ │ │ ├── PyxlTags.qll
│ │ │ └── Templates.qll
│ │ │ ├── types
│ │ │ ├── Builtins.qll
│ │ │ ├── ClassObject.qll
│ │ │ ├── Descriptors.qll
│ │ │ ├── Exceptions.qll
│ │ │ ├── Extensions.qll
│ │ │ ├── FunctionObject.qll
│ │ │ ├── IgnoredAndApproximations.txt
│ │ │ ├── ImportTime.qll
│ │ │ ├── ModuleKind.qll
│ │ │ ├── ModuleObject.qll
│ │ │ ├── Object.qll
│ │ │ ├── Properties.qll
│ │ │ └── Version.qll
│ │ │ ├── values
│ │ │ └── StringAttributes.qll
│ │ │ ├── web
│ │ │ ├── ClientHttpRequest.qll
│ │ │ ├── Http.qll
│ │ │ ├── HttpConstants.qll
│ │ │ ├── HttpRedirect.qll
│ │ │ ├── HttpRequest.qll
│ │ │ ├── HttpResponse.qll
│ │ │ ├── bottle
│ │ │ │ ├── General.qll
│ │ │ │ ├── Redirect.qll
│ │ │ │ ├── Request.qll
│ │ │ │ └── Response.qll
│ │ │ ├── cherrypy
│ │ │ │ ├── General.qll
│ │ │ │ ├── Request.qll
│ │ │ │ └── Response.qll
│ │ │ ├── client
│ │ │ │ ├── Requests.qll
│ │ │ │ └── StdLib.qll
│ │ │ ├── django
│ │ │ │ ├── Db.qll
│ │ │ │ ├── General.qll
│ │ │ │ ├── Model.qll
│ │ │ │ ├── Redirect.qll
│ │ │ │ ├── Request.qll
│ │ │ │ ├── Response.qll
│ │ │ │ ├── Sanitizers.qll
│ │ │ │ └── Shared.qll
│ │ │ ├── falcon
│ │ │ │ ├── General.qll
│ │ │ │ ├── Request.qll
│ │ │ │ └── Response.qll
│ │ │ ├── flask
│ │ │ │ ├── General.qll
│ │ │ │ ├── Redirect.qll
│ │ │ │ ├── Request.qll
│ │ │ │ └── Response.qll
│ │ │ ├── pyramid
│ │ │ │ ├── Redirect.qll
│ │ │ │ ├── Request.qll
│ │ │ │ ├── Response.qll
│ │ │ │ └── View.qll
│ │ │ ├── stdlib
│ │ │ │ ├── Request.qll
│ │ │ │ └── Response.qll
│ │ │ ├── tornado
│ │ │ │ ├── Redirect.qll
│ │ │ │ ├── Request.qll
│ │ │ │ ├── Response.qll
│ │ │ │ └── Tornado.qll
│ │ │ ├── turbogears
│ │ │ │ ├── Request.qll
│ │ │ │ ├── Response.qll
│ │ │ │ └── TurboGears.qll
│ │ │ ├── twisted
│ │ │ │ ├── Request.qll
│ │ │ │ ├── Response.qll
│ │ │ │ └── Twisted.qll
│ │ │ └── webob
│ │ │ │ └── Request.qll
│ │ │ └── xml
│ │ │ └── XML.qll
│ ├── semmlecode.python.dbscheme
│ ├── semmlecode.python.dbscheme.stats
│ └── site.qll
└── test
│ ├── 2
│ ├── library-tests
│ │ ├── ControlFlow
│ │ │ ├── Exceptions
│ │ │ │ ├── Handles.expected
│ │ │ │ ├── Handles.ql
│ │ │ │ ├── Known.expected
│ │ │ │ ├── Known.ql
│ │ │ │ ├── Likely.expected
│ │ │ │ ├── Likely.ql
│ │ │ │ ├── Unknown.expected
│ │ │ │ ├── Unknown.ql
│ │ │ │ └── test.py
│ │ │ ├── dominators
│ │ │ │ └── test.py
│ │ │ ├── except
│ │ │ │ └── test.py
│ │ │ ├── kinds
│ │ │ │ └── test.py
│ │ │ └── raising_stmts
│ │ │ │ └── test.py
│ │ ├── PointsTo
│ │ │ ├── class_properties
│ │ │ │ ├── ClassValues.expected
│ │ │ │ ├── ClassValues.ql
│ │ │ │ ├── options
│ │ │ │ └── test.py
│ │ │ ├── import_time
│ │ │ │ ├── Pruned.expected
│ │ │ │ ├── Pruned.ql
│ │ │ │ ├── module.py
│ │ │ │ └── test.py
│ │ │ ├── imports
│ │ │ │ ├── Runtime.expected
│ │ │ │ ├── Runtime.ql
│ │ │ │ ├── package
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── foo.py
│ │ │ │ └── test.py
│ │ │ ├── metaclass
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.py
│ │ │ │ └── test.ql
│ │ │ └── origin_uniqueness
│ │ │ │ ├── Origin.expected
│ │ │ │ ├── Origin.ql
│ │ │ │ ├── module1.py
│ │ │ │ ├── module2.py
│ │ │ │ └── test.py
│ │ ├── backticks
│ │ │ ├── test.expected
│ │ │ ├── test.py
│ │ │ └── test.ql
│ │ ├── classes
│ │ │ ├── attr
│ │ │ │ ├── class_attr.expected
│ │ │ │ ├── class_attr.ql
│ │ │ │ ├── class_has_attr.expected
│ │ │ │ ├── class_has_attr.ql
│ │ │ │ ├── list_attr.expected
│ │ │ │ ├── list_attr.ql
│ │ │ │ └── test.py
│ │ │ └── mro
│ │ │ │ ├── C3.expected
│ │ │ │ ├── C3.ql
│ │ │ │ ├── mro.expected
│ │ │ │ ├── mro.ql
│ │ │ │ └── test.py
│ │ ├── comprehensions
│ │ │ ├── ConsistencyCheck.expected
│ │ │ ├── ConsistencyCheck.ql
│ │ │ └── test.py
│ │ ├── locations
│ │ │ ├── general
│ │ │ │ ├── AllLocations.expected
│ │ │ │ ├── AllLocations.ql
│ │ │ │ ├── Locations.expected
│ │ │ │ ├── Locations.ql
│ │ │ │ ├── Prefix.expected
│ │ │ │ ├── Prefix.ql
│ │ │ │ ├── indexing.py
│ │ │ │ ├── syntax_error.py
│ │ │ │ └── test.py
│ │ │ ├── keywords
│ │ │ │ ├── Locations.expected
│ │ │ │ ├── Locations.ql
│ │ │ │ └── test.py
│ │ │ └── strings
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.py
│ │ │ │ └── test.ql
│ │ ├── modules
│ │ │ ├── general
│ │ │ │ ├── assistant.py
│ │ │ │ ├── confused_elements
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── a.py
│ │ │ │ ├── helper.py
│ │ │ │ ├── import_test.expected
│ │ │ │ ├── import_test.ql
│ │ │ │ ├── main.py
│ │ │ │ ├── moduleobject_test.expected
│ │ │ │ ├── moduleobject_test.ql
│ │ │ │ ├── package
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── assistant.py
│ │ │ │ │ └── helper.py
│ │ │ │ └── test_star.py
│ │ │ ├── options
│ │ │ └── package_members
│ │ │ │ ├── module_attributes.expected
│ │ │ │ ├── module_attributes.ql
│ │ │ │ ├── module_exports.expected
│ │ │ │ ├── module_exports.ql
│ │ │ │ ├── module_import_as.expected
│ │ │ │ ├── module_import_as.ql
│ │ │ │ ├── test.py
│ │ │ │ ├── test_package
│ │ │ │ ├── __init__.py
│ │ │ │ ├── module1.py
│ │ │ │ ├── module2.py
│ │ │ │ ├── module3.py
│ │ │ │ └── module4.py
│ │ │ │ └── test_star.py
│ │ ├── objects
│ │ │ ├── Literals.expected
│ │ │ ├── Literals.ql
│ │ │ └── test.py
│ │ ├── options
│ │ ├── six
│ │ │ ├── options
│ │ │ ├── pointsto.expected
│ │ │ ├── pointsto.ql
│ │ │ └── test.py
│ │ └── types
│ │ │ ├── classes
│ │ │ ├── c_inheritance.py
│ │ │ ├── circular_inheritance.py
│ │ │ ├── mro_test.expected
│ │ │ ├── mro_test.ql
│ │ │ ├── mutual_inheritance.py
│ │ │ ├── new_style.expected
│ │ │ └── new_style.ql
│ │ │ ├── exceptions
│ │ │ ├── ExitRaises.expected
│ │ │ ├── ExitRaises.ql
│ │ │ ├── Raises.expected
│ │ │ ├── Raises.ql
│ │ │ └── test.py
│ │ │ ├── functions
│ │ │ ├── Calls.expected
│ │ │ ├── Calls.ql
│ │ │ ├── Never.expected
│ │ │ ├── Never.ql
│ │ │ ├── ReturnTypes.expected
│ │ │ ├── ReturnTypes.ql
│ │ │ ├── odasa6418.py
│ │ │ └── test.py
│ │ │ └── properties
│ │ │ ├── BuiltinProperties.expected
│ │ │ └── BuiltinProperties.ql
│ └── query-tests
│ │ ├── Classes
│ │ ├── equals-hash
│ │ │ ├── EqualsOrHash.expected
│ │ │ ├── EqualsOrHash.qlref
│ │ │ ├── EqualsOrNotEquals.expected
│ │ │ ├── EqualsOrNotEquals.qlref
│ │ │ └── equals_hash.py
│ │ ├── inconsistent-mro
│ │ │ ├── InconsistentMRO.expected
│ │ │ ├── InconsistentMRO.qlref
│ │ │ └── inconsistent_mro.py
│ │ ├── new-style
│ │ │ ├── PropertyInOldStyleClass.expected
│ │ │ ├── PropertyInOldStyleClass.qlref
│ │ │ ├── SlotsInOldStyleClass.expected
│ │ │ ├── SlotsInOldStyleClass.qlref
│ │ │ ├── SuperInOldStyleClass.expected
│ │ │ ├── SuperInOldStyleClass.qlref
│ │ │ ├── global_meta.py
│ │ │ ├── newstyle_test.py
│ │ │ └── property_old_style.py
│ │ └── undefined-attribute
│ │ │ ├── MaybeUndefinedClassAttribute.expected
│ │ │ ├── MaybeUndefinedClassAttribute.qlref
│ │ │ ├── UndefinedClassAttribute.expected
│ │ │ ├── UndefinedClassAttribute.qlref
│ │ │ └── undefined_attribute.py
│ │ ├── Exceptions
│ │ ├── general
│ │ │ ├── CatchingBaseException.expected
│ │ │ ├── CatchingBaseException.qlref
│ │ │ ├── EmptyExcept.expected
│ │ │ ├── EmptyExcept.qlref
│ │ │ ├── IllegalExceptionHandlerType.expected
│ │ │ ├── IllegalExceptionHandlerType.qlref
│ │ │ ├── IllegalRaise.expected
│ │ │ ├── IllegalRaise.qlref
│ │ │ ├── IncorrectExceptOrder.expected
│ │ │ ├── IncorrectExceptOrder.qlref
│ │ │ └── exceptions_test.py
│ │ └── raising
│ │ │ ├── RaisingTuple.expected
│ │ │ ├── RaisingTuple.qlref
│ │ │ └── test.py
│ │ ├── Expressions
│ │ ├── TruncatedDivision.expected
│ │ ├── TruncatedDivision.qlref
│ │ ├── TruncatedDivisionCorrect_test.py
│ │ ├── TruncatedDivision_test.py
│ │ ├── UseofApply.expected
│ │ ├── UseofApply.py
│ │ ├── UseofApply.qlref
│ │ ├── UseofInput.expected
│ │ ├── UseofInput.qlref
│ │ ├── expressions_test.py
│ │ └── safe_input.py
│ │ ├── Functions
│ │ ├── DeprecatedSliceMethod.expected
│ │ ├── DeprecatedSliceMethod.qlref
│ │ └── functions_test.py
│ │ ├── Imports
│ │ ├── encoding_error
│ │ │ ├── EncodingError.expected
│ │ │ ├── EncodingError.py
│ │ │ └── EncodingError.qlref
│ │ └── syntax_error
│ │ │ ├── EncodingError.expected
│ │ │ ├── EncodingError.qlref
│ │ │ ├── SyntaxError.expected
│ │ │ ├── SyntaxError.qlref
│ │ │ ├── bad_encoding.py
│ │ │ ├── nonsense.py
│ │ │ └── test.py
│ │ ├── Lexical
│ │ ├── OldOctalLiteral.expected
│ │ ├── OldOctalLiteral.qlref
│ │ └── lexical_test.py
│ │ ├── Statements
│ │ ├── ExecUsed.expected
│ │ ├── ExecUsed.qlref
│ │ ├── IterableStringOrSequence.expected
│ │ ├── IterableStringOrSequence.qlref
│ │ ├── TopLevelPrint.expected
│ │ ├── TopLevelPrint.qlref
│ │ ├── fake_six.py
│ │ ├── module.py
│ │ └── statements_test.py
│ │ ├── Variables
│ │ ├── LeakyComp
│ │ │ ├── LeakyComp.expected
│ │ │ ├── LeakyComp.qlref
│ │ │ └── test.py
│ │ └── undefined
│ │ │ ├── UndefinedExport.expected
│ │ │ ├── UndefinedExport.py
│ │ │ ├── UndefinedExport.qlref
│ │ │ ├── UndefinedGlobal.expected
│ │ │ ├── UndefinedGlobal.qlref
│ │ │ ├── UninitializedLocal.expected
│ │ │ ├── UninitializedLocal.py
│ │ │ ├── UninitializedLocal.qlref
│ │ │ ├── options
│ │ │ ├── package
│ │ │ ├── __init__.py
│ │ │ └── module.py
│ │ │ └── uses_execfile.py
│ │ └── options
│ ├── 3
│ ├── library-tests
│ │ ├── ControlFlow
│ │ │ └── Exceptions
│ │ │ │ ├── Handles.expected
│ │ │ │ ├── Handles.ql
│ │ │ │ ├── Known.expected
│ │ │ │ ├── Known.ql
│ │ │ │ ├── Likely.expected
│ │ │ │ ├── Likely.ql
│ │ │ │ ├── Unknown.expected
│ │ │ │ ├── Unknown.ql
│ │ │ │ └── test.py
│ │ ├── PointsTo
│ │ │ ├── attributes
│ │ │ │ ├── Test.expected
│ │ │ │ ├── Test.ql
│ │ │ │ ├── TestWithType.expected
│ │ │ │ ├── TestWithType.ql
│ │ │ │ ├── options
│ │ │ │ └── test.py
│ │ │ ├── class_properties
│ │ │ │ ├── ClassValues.expected
│ │ │ │ ├── ClassValues.ql
│ │ │ │ ├── options
│ │ │ │ └── test.py
│ │ │ ├── consts
│ │ │ │ ├── BooleanConstants.expected
│ │ │ │ ├── BooleanConstants.ql
│ │ │ │ ├── module.py
│ │ │ │ └── test.py
│ │ │ ├── import_time
│ │ │ │ ├── Pruned.expected
│ │ │ │ ├── Pruned.ql
│ │ │ │ ├── module.py
│ │ │ │ └── test.py
│ │ │ ├── inheritance
│ │ │ │ ├── Calls.expected
│ │ │ │ ├── Calls.ql
│ │ │ │ └── test.py
│ │ │ ├── metaclass
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.py
│ │ │ │ └── test.ql
│ │ │ ├── regressions
│ │ │ │ └── subprocess-assert
│ │ │ │ │ ├── ClassValue.expected
│ │ │ │ │ ├── ClassValue.ql
│ │ │ │ │ ├── mwe_failure.py
│ │ │ │ │ ├── mwe_failure_2.py
│ │ │ │ │ ├── mwe_success.py
│ │ │ │ │ └── options
│ │ │ └── typehints
│ │ │ │ ├── Values.expected
│ │ │ │ ├── Values.ql
│ │ │ │ ├── options
│ │ │ │ └── test.py
│ │ ├── classes
│ │ │ ├── attr
│ │ │ │ ├── class_attr.expected
│ │ │ │ ├── class_attr.ql
│ │ │ │ ├── class_has_attr.expected
│ │ │ │ ├── class_has_attr.ql
│ │ │ │ └── test.py
│ │ │ ├── meta
│ │ │ │ ├── meta.expected
│ │ │ │ ├── meta.ql
│ │ │ │ ├── meta_obj.expected
│ │ │ │ ├── meta_obj.ql
│ │ │ │ └── test.py
│ │ │ └── mro
│ │ │ │ ├── mro.expected
│ │ │ │ ├── mro.ql
│ │ │ │ ├── mro_index.expected
│ │ │ │ ├── mro_index.ql
│ │ │ │ └── test.py
│ │ ├── functions
│ │ │ ├── Function.getAChildNode.expected
│ │ │ ├── Function.getAChildNode.ql
│ │ │ ├── Function.getArg.expected
│ │ │ ├── Function.getArg.ql
│ │ │ ├── Function.getArgByName.expected
│ │ │ ├── Function.getArgByName.ql
│ │ │ ├── FunctionExpr.getASubExpression.expected
│ │ │ ├── FunctionExpr.getASubExpression.ql
│ │ │ ├── FunctionExpr.getArgs.getAnnotation.expected
│ │ │ ├── FunctionExpr.getArgs.getAnnotation.ql
│ │ │ ├── FunctionExpr.getArgs.getDefault.expected
│ │ │ ├── FunctionExpr.getArgs.getDefault.ql
│ │ │ ├── FunctionExpr.getArgs.getKwAnnotation.expected
│ │ │ ├── FunctionExpr.getArgs.getKwAnnotation.ql
│ │ │ ├── FunctionExpr.getArgs.getKwDefault.expected
│ │ │ ├── FunctionExpr.getArgs.getKwDefault.ql
│ │ │ └── test.py
│ │ ├── lib
│ │ │ └── typing.py
│ │ ├── locations
│ │ │ ├── annotations
│ │ │ │ ├── Locations.expected
│ │ │ │ ├── Locations.ql
│ │ │ │ └── test.py
│ │ │ ├── general
│ │ │ │ ├── AllLocations.expected
│ │ │ │ ├── AllLocations.ql
│ │ │ │ ├── Locations.expected
│ │ │ │ ├── Locations.ql
│ │ │ │ ├── Prefix.expected
│ │ │ │ ├── Prefix.ql
│ │ │ │ ├── indexing.py
│ │ │ │ └── test.py
│ │ │ └── keywords
│ │ │ │ ├── Locations.expected
│ │ │ │ ├── Locations.ql
│ │ │ │ └── test.py
│ │ ├── modules
│ │ │ ├── entry_point
│ │ │ │ ├── hash_bang
│ │ │ │ │ ├── main.py
│ │ │ │ │ ├── module.py
│ │ │ │ │ ├── namespace_package
│ │ │ │ │ │ ├── namespace_package_main.py
│ │ │ │ │ │ └── namespace_package_module.py
│ │ │ │ │ └── package
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── package_main.py
│ │ │ │ │ │ └── package_module.py
│ │ │ │ ├── modules.expected
│ │ │ │ ├── modules.ql
│ │ │ │ ├── name_main
│ │ │ │ │ ├── main.py
│ │ │ │ │ ├── module.py
│ │ │ │ │ ├── namespace_package
│ │ │ │ │ │ ├── namespace_package_main.py
│ │ │ │ │ │ └── namespace_package_module.py
│ │ │ │ │ └── package
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── package_main.py
│ │ │ │ │ │ └── package_module.py
│ │ │ │ ├── no_py_extension
│ │ │ │ │ ├── main.secretpy
│ │ │ │ │ ├── module.py
│ │ │ │ │ ├── namespace_package
│ │ │ │ │ │ ├── namespace_package_main.py
│ │ │ │ │ │ └── namespace_package_module.py
│ │ │ │ │ └── package
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── package_main.py
│ │ │ │ │ │ └── package_module.py
│ │ │ │ └── options
│ │ │ ├── general
│ │ │ │ ├── assistant.py
│ │ │ │ ├── confused_elements
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── a.py
│ │ │ │ ├── helper.py
│ │ │ │ ├── import_test.expected
│ │ │ │ ├── import_test.ql
│ │ │ │ ├── main.py
│ │ │ │ ├── moduleobject_test.expected
│ │ │ │ ├── moduleobject_test.ql
│ │ │ │ ├── package
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── assistant.py
│ │ │ │ │ └── helper.py
│ │ │ │ └── test_star.py
│ │ │ ├── options
│ │ │ └── package_members
│ │ │ │ ├── module_attributes.expected
│ │ │ │ ├── module_attributes.ql
│ │ │ │ ├── module_exports.expected
│ │ │ │ ├── module_exports.ql
│ │ │ │ ├── module_import_as.expected
│ │ │ │ ├── module_import_as.ql
│ │ │ │ ├── options
│ │ │ │ ├── test.py
│ │ │ │ ├── test_package
│ │ │ │ ├── __init__.py
│ │ │ │ ├── module1.py
│ │ │ │ ├── module2.py
│ │ │ │ ├── module3.py
│ │ │ │ ├── module4.py
│ │ │ │ └── module5.py
│ │ │ │ └── test_star.py
│ │ ├── options
│ │ ├── parameters
│ │ │ ├── Annotations.expected
│ │ │ ├── Annotations.ql
│ │ │ ├── Defaults.expected
│ │ │ ├── Defaults.ql
│ │ │ ├── Special.expected
│ │ │ ├── Special.ql
│ │ │ └── test.py
│ │ ├── six
│ │ │ ├── options
│ │ │ ├── pointsto.expected
│ │ │ ├── pointsto.ql
│ │ │ └── test.py
│ │ ├── taint
│ │ │ ├── strings
│ │ │ │ ├── Taint.qll
│ │ │ │ ├── TestTaint.expected
│ │ │ │ ├── TestTaint.ql
│ │ │ │ └── test.py
│ │ │ └── unpacking
│ │ │ │ ├── Taint.qll
│ │ │ │ ├── TestTaint.expected
│ │ │ │ ├── TestTaint.ql
│ │ │ │ └── test.py
│ │ └── types
│ │ │ ├── classes
│ │ │ ├── c_inheritance.py
│ │ │ ├── circular_inheritance.py
│ │ │ ├── mro_test.expected
│ │ │ ├── mro_test.ql
│ │ │ └── mutual_inheritance.py
│ │ │ ├── exceptions
│ │ │ ├── Raises.expected
│ │ │ ├── Raises.ql
│ │ │ ├── Viable.expected
│ │ │ ├── Viable.ql
│ │ │ └── test.py
│ │ │ ├── functions
│ │ │ ├── Calls.expected
│ │ │ ├── Calls.ql
│ │ │ ├── Never.expected
│ │ │ ├── Never.ql
│ │ │ ├── ReturnTypes.expected
│ │ │ ├── ReturnTypes.ql
│ │ │ └── test.py
│ │ │ ├── namespaces
│ │ │ ├── NameSpace.expected
│ │ │ ├── NameSpace.ql
│ │ │ ├── module.py
│ │ │ └── namespace.py
│ │ │ └── properties
│ │ │ ├── BuiltinProperties.expected
│ │ │ └── BuiltinProperties.ql
│ └── query-tests
│ │ ├── Classes
│ │ ├── equals-attr
│ │ │ ├── DefineEqualsWhenAddingAttributes.expected
│ │ │ ├── DefineEqualsWhenAddingAttributes.qlref
│ │ │ └── test.py
│ │ ├── equals-hash
│ │ │ ├── EqualsOrHash.expected
│ │ │ ├── EqualsOrHash.qlref
│ │ │ └── equals_hash.py
│ │ ├── equals-ne
│ │ │ ├── EqualsOrNotEquals.expected
│ │ │ ├── EqualsOrNotEquals.qlref
│ │ │ └── test.py
│ │ ├── inconsistent-mro
│ │ │ ├── InconsistentMRO.expected
│ │ │ ├── InconsistentMRO.qlref
│ │ │ └── inconsistent_mro.py
│ │ └── undefined-attribute
│ │ │ ├── MaybeUndefinedClassAttribute.expected
│ │ │ ├── MaybeUndefinedClassAttribute.qlref
│ │ │ ├── UndefinedClassAttribute.expected
│ │ │ ├── UndefinedClassAttribute.qlref
│ │ │ └── undefined_attribute.py
│ │ ├── Expressions
│ │ ├── Arguments
│ │ │ ├── WrongNameForArgumentInCall.expected
│ │ │ ├── WrongNameForArgumentInCall.qlref
│ │ │ ├── WrongNumberArgumentsInCall.expected
│ │ │ ├── WrongNumberArgumentsInCall.qlref
│ │ │ └── wrong_arguments.py
│ │ ├── Formatting
│ │ │ ├── WrongNumberArgumentsForFormat.expected
│ │ │ ├── WrongNumberArgumentsForFormat.qlref
│ │ │ └── test.py
│ │ ├── TruncatedDivision
│ │ │ ├── TruncatedDivision.expected
│ │ │ ├── TruncatedDivision.qlref
│ │ │ ├── TruncatedDivisionCorrect_test.py
│ │ │ └── TruncatedDivision_test.py
│ │ └── UseofApply
│ │ │ ├── UseofApply.expected
│ │ │ ├── UseofApply.py
│ │ │ └── UseofApply.qlref
│ │ ├── Imports
│ │ ├── encoding_error
│ │ │ ├── EncodingError.expected
│ │ │ ├── EncodingError.py
│ │ │ └── EncodingError.qlref
│ │ └── syntax_error
│ │ │ ├── EncodingError.expected
│ │ │ ├── EncodingError.qlref
│ │ │ ├── SyntaxError.expected
│ │ │ ├── SyntaxError.qlref
│ │ │ ├── bad_encoding.py
│ │ │ ├── nonsense.py
│ │ │ └── test.py
│ │ ├── Statements
│ │ ├── general
│ │ │ ├── ExecUsed.expected
│ │ │ ├── ExecUsed.qlref
│ │ │ ├── TopLevelPrint.expected
│ │ │ ├── TopLevelPrint.qlref
│ │ │ ├── module.py
│ │ │ └── statements_test.py
│ │ ├── iter
│ │ │ ├── IterableStringOrSequence.expected
│ │ │ ├── IterableStringOrSequence.qlref
│ │ │ ├── NonIteratorInForLoop.expected
│ │ │ ├── NonIteratorInForLoop.qlref
│ │ │ ├── async_iterator.py
│ │ │ ├── statements_test.py
│ │ │ └── supress_uses_from_tests.py
│ │ ├── unreachable
│ │ │ ├── UnreachableCode.expected
│ │ │ ├── UnreachableCode.qlref
│ │ │ └── test.py
│ │ └── unreachable_suppressed
│ │ │ ├── UnreachableCode.expected
│ │ │ ├── UnreachableCode.qlref
│ │ │ └── test.py
│ │ ├── Variables
│ │ └── undefined
│ │ │ ├── UndefinedExport.expected
│ │ │ ├── UndefinedExport.py
│ │ │ ├── UndefinedExport.qlref
│ │ │ ├── UninitializedLocal.expected
│ │ │ ├── UninitializedLocal.py
│ │ │ ├── UninitializedLocal.qlref
│ │ │ ├── enum_convert.py
│ │ │ ├── imp_star.py
│ │ │ ├── mutated_globals.py
│ │ │ ├── options
│ │ │ └── package
│ │ │ ├── __init__.py
│ │ │ └── module.py
│ │ └── options
│ ├── .project
│ ├── .qlpath
│ ├── LICENSE-PSF.md
│ ├── TestUtilities
│ ├── InlineExpectationsTest.qll
│ └── InlineExpectationsTestPrivate.qll
│ ├── experimental
│ ├── README.md
│ ├── dataflow
│ │ ├── ApiGraphs-py2
│ │ │ ├── options
│ │ │ ├── test.py
│ │ │ ├── use.expected
│ │ │ └── use.ql
│ │ ├── ApiGraphs
│ │ │ ├── mypkg
│ │ │ │ ├── __init__.py
│ │ │ │ ├── bar.py
│ │ │ │ └── foo.py
│ │ │ ├── options
│ │ │ ├── test.py
│ │ │ ├── test1.py
│ │ │ ├── test2.py
│ │ │ ├── test3.py
│ │ │ ├── test4.py
│ │ │ ├── test5.py
│ │ │ ├── test6.py
│ │ │ ├── test7.py
│ │ │ ├── test_deep.py
│ │ │ ├── use.expected
│ │ │ └── use.ql
│ │ ├── TestUtil
│ │ │ ├── FlowTest.qll
│ │ │ ├── LocalFlowStepTest.qll
│ │ │ ├── MaximalFlowTest.qll
│ │ │ ├── PrintNode.qll
│ │ │ └── RoutingTest.qll
│ │ ├── basic
│ │ │ ├── allFlowsConfig.qll
│ │ │ ├── callGraph.expected
│ │ │ ├── callGraph.ql
│ │ │ ├── callGraphSinks.expected
│ │ │ ├── callGraphSinks.ql
│ │ │ ├── callGraphSources.expected
│ │ │ ├── callGraphSources.ql
│ │ │ ├── dataflow-consistency.expected
│ │ │ ├── dataflow-consistency.ql
│ │ │ ├── global.expected
│ │ │ ├── global.ql
│ │ │ ├── globalStep.expected
│ │ │ ├── globalStep.ql
│ │ │ ├── local.expected
│ │ │ ├── local.ql
│ │ │ ├── localFlowStepTest.expected
│ │ │ ├── localFlowStepTest.ql
│ │ │ ├── localStep.expected
│ │ │ ├── localStep.ql
│ │ │ ├── maximalFlowTest.expected
│ │ │ ├── maximalFlowTest.ql
│ │ │ ├── maximalFlows.expected
│ │ │ ├── maximalFlows.ql
│ │ │ ├── maximalFlowsConfig.qll
│ │ │ ├── sinks.expected
│ │ │ ├── sinks.ql
│ │ │ ├── sources.expected
│ │ │ ├── sources.ql
│ │ │ └── test.py
│ │ ├── callGraphConfig.qll
│ │ ├── consistency
│ │ │ ├── dataflow-consistency.expected
│ │ │ ├── dataflow-consistency.ql
│ │ │ ├── modeling-consistency.expected
│ │ │ ├── modeling-consistency.ql
│ │ │ ├── module.py
│ │ │ └── test.py
│ │ ├── coverage
│ │ │ ├── argumentPassing.py
│ │ │ ├── argumentRouting1.expected
│ │ │ ├── argumentRouting1.ql
│ │ │ ├── argumentRouting2.expected
│ │ │ ├── argumentRouting2.ql
│ │ │ ├── argumentRouting3.expected
│ │ │ ├── argumentRouting3.ql
│ │ │ ├── argumentRouting4.expected
│ │ │ ├── argumentRouting4.ql
│ │ │ ├── argumentRouting5.expected
│ │ │ ├── argumentRouting5.ql
│ │ │ ├── argumentRouting6.expected
│ │ │ ├── argumentRouting6.ql
│ │ │ ├── argumentRouting7.expected
│ │ │ ├── argumentRouting7.ql
│ │ │ ├── argumentRoutingTest.expected
│ │ │ ├── argumentRoutingTest.ql
│ │ │ ├── classes.py
│ │ │ ├── classesCallGraph.expected
│ │ │ ├── classesCallGraph.ql
│ │ │ ├── dataflow-consistency.expected
│ │ │ ├── dataflow-consistency.ql
│ │ │ ├── dataflow.expected
│ │ │ ├── dataflow.ql
│ │ │ ├── dataflowTest.expected
│ │ │ ├── dataflowTest.ql
│ │ │ ├── datamodel.py
│ │ │ ├── localFlow.expected
│ │ │ ├── localFlow.ql
│ │ │ └── test.py
│ │ ├── fieldflow
│ │ │ ├── allLocalFlow.expected
│ │ │ ├── allLocalFlow.ql
│ │ │ ├── dataflow-consistency.expected
│ │ │ ├── dataflow-consistency.ql
│ │ │ ├── dataflow.expected
│ │ │ ├── dataflow.ql
│ │ │ ├── examples.py
│ │ │ ├── globalStep.expected
│ │ │ ├── globalStep.ql
│ │ │ ├── localFlow.expected
│ │ │ ├── localFlow.ql
│ │ │ ├── postupdates.expected
│ │ │ ├── postupdates.ql
│ │ │ └── test.py
│ │ ├── global-flow
│ │ │ ├── accesses.expected
│ │ │ ├── accesses.ql
│ │ │ ├── dataflow-consistency.expected
│ │ │ ├── dataflow-consistency.ql
│ │ │ ├── known.py
│ │ │ └── test.py
│ │ ├── import-helper
│ │ │ ├── ImportHelper.expected
│ │ │ ├── ImportHelper.ql
│ │ │ ├── README.md
│ │ │ ├── dataflow-consistency.expected
│ │ │ ├── dataflow-consistency.ql
│ │ │ ├── mypkg
│ │ │ │ ├── __init__.py
│ │ │ │ ├── bar.py
│ │ │ │ └── foo.py
│ │ │ ├── test1.py
│ │ │ ├── test2.py
│ │ │ ├── test3.py
│ │ │ ├── test4.py
│ │ │ ├── test5.py
│ │ │ ├── test6.py
│ │ │ ├── test7.py
│ │ │ └── test_deep.py
│ │ ├── options
│ │ ├── pep_328
│ │ │ ├── __init__.py
│ │ │ ├── dataflow-consistency.expected
│ │ │ ├── dataflow-consistency.ql
│ │ │ ├── package
│ │ │ │ ├── __init__.py
│ │ │ │ ├── moduleA.py
│ │ │ │ ├── subpackage1
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── moduleX.py
│ │ │ │ │ └── moduleY.py
│ │ │ │ └── subpackage2
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── moduleZ.py
│ │ │ └── start.py
│ │ ├── regression
│ │ │ ├── custom_dataflow.expected
│ │ │ ├── custom_dataflow.ql
│ │ │ ├── dataflow-consistency.expected
│ │ │ ├── dataflow-consistency.ql
│ │ │ ├── dataflow.expected
│ │ │ ├── dataflow.ql
│ │ │ ├── module.py
│ │ │ ├── pointsto.expected
│ │ │ └── test.py
│ │ ├── strange-essaflow
│ │ │ ├── dataflow-consistency.expected
│ │ │ ├── dataflow-consistency.ql
│ │ │ ├── test.py
│ │ │ ├── testFlow.expected
│ │ │ └── testFlow.ql
│ │ ├── tainttracking
│ │ │ ├── TestTaintLib.qll
│ │ │ ├── basic
│ │ │ │ ├── GlobalTaintTracking.expected
│ │ │ │ ├── GlobalTaintTracking.ql
│ │ │ │ ├── LocalTaintStep.expected
│ │ │ │ ├── LocalTaintStep.ql
│ │ │ │ ├── dataflow-consistency.expected
│ │ │ │ ├── dataflow-consistency.ql
│ │ │ │ └── test.py
│ │ │ ├── commonSanitizer
│ │ │ │ ├── TestTaint.expected
│ │ │ │ ├── TestTaint.ql
│ │ │ │ ├── dataflow-consistency.expected
│ │ │ │ ├── dataflow-consistency.ql
│ │ │ │ └── test_string_const_compare.py
│ │ │ ├── customSanitizer
│ │ │ │ ├── TestTaint.expected
│ │ │ │ ├── TestTaint.ql
│ │ │ │ ├── dataflow-consistency.expected
│ │ │ │ ├── dataflow-consistency.ql
│ │ │ │ ├── test.py
│ │ │ │ ├── test_logical.py
│ │ │ │ └── test_reference.py
│ │ │ ├── defaultAdditionalTaintStep-py3
│ │ │ │ ├── TestTaint.expected
│ │ │ │ ├── TestTaint.ql
│ │ │ │ ├── dataflow-consistency.expected
│ │ │ │ ├── dataflow-consistency.ql
│ │ │ │ ├── options
│ │ │ │ ├── test_collections.py
│ │ │ │ ├── test_pathlib.py
│ │ │ │ ├── test_string.py
│ │ │ │ └── test_unpacking.py
│ │ │ ├── defaultAdditionalTaintStep
│ │ │ │ ├── TestTaint.expected
│ │ │ │ ├── TestTaint.ql
│ │ │ │ ├── dataflow-consistency.expected
│ │ │ │ ├── dataflow-consistency.ql
│ │ │ │ ├── test_collections.py
│ │ │ │ ├── test_json.py
│ │ │ │ ├── test_string.py
│ │ │ │ └── test_unpacking.py
│ │ │ ├── taintlib.py
│ │ │ └── unwanted-global-flow
│ │ │ │ ├── dataflow-consistency.expected
│ │ │ │ ├── dataflow-consistency.ql
│ │ │ │ ├── test.py
│ │ │ │ ├── testTaint.expected
│ │ │ │ └── testTaint.ql
│ │ ├── testConfig.qll
│ │ ├── testlib.py
│ │ ├── typetracking
│ │ │ ├── attribute_tests.py
│ │ │ ├── dataflow-consistency.expected
│ │ │ ├── dataflow-consistency.ql
│ │ │ ├── import_as_attr.py
│ │ │ ├── import_as_attr_dotted.py
│ │ │ ├── moduleattr.expected
│ │ │ ├── moduleattr.ql
│ │ │ ├── multiple_callables.py
│ │ │ ├── mymodule.py
│ │ │ ├── test.py
│ │ │ ├── tracked.expected
│ │ │ └── tracked.ql
│ │ ├── validTest.py
│ │ └── variable-capture
│ │ │ ├── CaptureTest.expected
│ │ │ ├── CaptureTest.ql
│ │ │ ├── dataflow-consistency.expected
│ │ │ ├── dataflow-consistency.ql
│ │ │ ├── dict.py
│ │ │ ├── in.py
│ │ │ └── nonlocal.py
│ ├── library-tests
│ │ ├── CallGraph-implicit-init
│ │ │ ├── PointsTo.expected
│ │ │ ├── PointsTo.qlref
│ │ │ ├── Relative.expected
│ │ │ ├── Relative.qlref
│ │ │ ├── TypeTracker.expected
│ │ │ ├── TypeTracker.qlref
│ │ │ ├── example.py
│ │ │ ├── foo
│ │ │ │ └── bar
│ │ │ │ │ └── a.py
│ │ │ ├── foo_explicit
│ │ │ │ ├── __init__.py
│ │ │ │ └── bar
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── a.py
│ │ │ └── options
│ │ ├── CallGraph-xfail
│ │ │ ├── PointsTo.expected
│ │ │ ├── PointsTo.qlref
│ │ │ ├── README.md
│ │ │ ├── annotation_xfail.py
│ │ │ └── call_edge_xfail.py
│ │ ├── CallGraph
│ │ │ ├── CallGraphTest.qll
│ │ │ ├── PointsTo.expected
│ │ │ ├── PointsTo.ql
│ │ │ ├── README.md
│ │ │ ├── Relative.expected
│ │ │ ├── Relative.ql
│ │ │ ├── TypeTracker.expected
│ │ │ ├── TypeTracker.ql
│ │ │ ├── code
│ │ │ │ ├── __init__.py
│ │ │ │ ├── class_advanced.py
│ │ │ │ ├── class_simple.py
│ │ │ │ ├── runtime_decision.py
│ │ │ │ ├── simple.py
│ │ │ │ └── underscore_prefix_func_name.py
│ │ │ └── test.py
│ │ └── options
│ ├── meta
│ │ ├── ConceptsTest.qll
│ │ └── debug
│ │ │ └── dataflow.qll
│ ├── query-tests
│ │ ├── Security
│ │ │ ├── CWE-074
│ │ │ │ ├── AirspeedSsti.py
│ │ │ │ ├── BottleSsti.py
│ │ │ │ ├── Chameleon.py
│ │ │ │ ├── ChevronSsti.py
│ │ │ │ ├── DjangoTemplates.py
│ │ │ │ ├── FlaskTemplate.py
│ │ │ │ ├── Genshi.py
│ │ │ │ ├── JinjaSsti.py
│ │ │ │ ├── MakoSsti.py
│ │ │ │ ├── TRender.py
│ │ │ │ ├── TemplateInjection.expected
│ │ │ │ ├── TemplateInjection.qlref
│ │ │ │ └── options
│ │ │ ├── CWE-091
│ │ │ │ ├── Xslt.expected
│ │ │ │ ├── Xslt.qlref
│ │ │ │ ├── XsltSinks.expected
│ │ │ │ ├── XsltSinks.ql
│ │ │ │ ├── options
│ │ │ │ ├── xslt.py
│ │ │ │ ├── xsltInjection.py
│ │ │ │ └── xsltSinks.py
│ │ │ └── CWE-643
│ │ │ │ ├── options
│ │ │ │ ├── xpath.expected
│ │ │ │ ├── xpath.py
│ │ │ │ ├── xpath.qlref
│ │ │ │ ├── xpathBad.py
│ │ │ │ ├── xpathFlow.py
│ │ │ │ ├── xpathGood.py
│ │ │ │ ├── xpathSinks.expected
│ │ │ │ └── xpathSinks.ql
│ │ └── options
│ └── semmle
│ │ └── python
│ │ └── templates
│ │ ├── Airspeed.py
│ │ ├── AirspeedSSTISinks.expected
│ │ ├── AirspeedSSTISinks.ql
│ │ ├── Bottle.py
│ │ ├── BottleSSTISinks.expected
│ │ ├── BottleSSTISinks.ql
│ │ ├── Chameleon.py
│ │ ├── ChameleonSSTISinks.expected
│ │ ├── ChameleonSSTISinks.ql
│ │ ├── CheetahSSTISinks.expected
│ │ ├── CheetahSSTISinks.ql
│ │ ├── CheetahSinks.py
│ │ ├── ChevronSSTISinks.expected
│ │ ├── ChevronSSTISinks.ql
│ │ ├── ChevronSinks.py
│ │ ├── DjangoSSTISinks.expected
│ │ ├── DjangoSSTISinks.ql
│ │ ├── DjangoTemplates.py
│ │ ├── Genshi.py
│ │ ├── GenshiSSTISinks.expected
│ │ ├── GenshiSSTISinks.ql
│ │ ├── Jinja2Templates.py
│ │ ├── JinjaSSTISinks.expected
│ │ ├── JinjaSSTISinks.ql
│ │ ├── Mako.py
│ │ ├── MakoSSTISinks.expected
│ │ ├── MakoSSTISinks.ql
│ │ ├── TRender.py
│ │ ├── TRenderSSTISinks.expected
│ │ ├── TRenderSSTISinks.ql
│ │ └── options
│ ├── library-tests
│ ├── ControlFlow
│ │ ├── PointsToSupport
│ │ │ ├── UseFromDefinition.expected
│ │ │ └── UseFromDefinition.ql
│ │ ├── augassign
│ │ │ ├── AugAssignFlow.expected
│ │ │ ├── AugAssignFlow.ql
│ │ │ ├── Kind.expected
│ │ │ ├── Kind.ql
│ │ │ ├── SSA.expected
│ │ │ ├── SSA.ql
│ │ │ └── test.py
│ │ ├── comparison
│ │ │ ├── Compare.expected
│ │ │ ├── Compare.ql
│ │ │ └── compare.py
│ │ ├── delete
│ │ │ ├── test.expected
│ │ │ ├── test.py
│ │ │ └── test.ql
│ │ ├── dominators
│ │ │ ├── DominatesConsistency.expected
│ │ │ ├── DominatesConsistency.ql
│ │ │ ├── idom.expected
│ │ │ ├── idom.ql
│ │ │ └── test.py
│ │ ├── except
│ │ │ ├── test.expected
│ │ │ ├── test.py
│ │ │ └── test.ql
│ │ ├── general
│ │ │ ├── Comments.expected
│ │ │ ├── Comments.ql
│ │ │ ├── Cyclo.expected
│ │ │ ├── Cyclo.ql
│ │ │ ├── ImmediateDominatorCheck.expected
│ │ │ ├── ImmediateDominatorCheck.ql
│ │ │ ├── Lines.expected
│ │ │ ├── Lines.ql
│ │ │ ├── Reaches.expected
│ │ │ ├── Reaches.ql
│ │ │ ├── flowtest.py
│ │ │ └── imports.py
│ │ ├── raising_stmts
│ │ │ ├── RaisingFlow.expected
│ │ │ ├── RaisingFlow.ql
│ │ │ └── test.py
│ │ ├── splitting
│ │ │ ├── NodeCount.expected
│ │ │ ├── NodeCount.ql
│ │ │ ├── SuccessorCount.expected
│ │ │ ├── SuccessorCount.ql
│ │ │ └── test.py
│ │ ├── ssa
│ │ │ ├── defns
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ ├── test1.py
│ │ │ │ ├── test2.py
│ │ │ │ ├── test3.py
│ │ │ │ ├── test4.py
│ │ │ │ ├── test5.py
│ │ │ │ └── test6.py
│ │ │ ├── deletions
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.py
│ │ │ │ └── test.ql
│ │ │ ├── phi-nodes
│ │ │ │ ├── phi_input_test.expected
│ │ │ │ ├── phi_input_test.ql
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ ├── test1.py
│ │ │ │ ├── test2.py
│ │ │ │ ├── test3.py
│ │ │ │ ├── test4.py
│ │ │ │ ├── test5.py
│ │ │ │ └── test6.py
│ │ │ ├── undefined
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.py
│ │ │ │ └── test.ql
│ │ │ ├── uses
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ ├── test1.py
│ │ │ │ ├── test2.py
│ │ │ │ ├── test3.py
│ │ │ │ ├── test5.py
│ │ │ │ └── test6.py
│ │ │ └── vars
│ │ │ │ ├── test.expected
│ │ │ │ ├── test.ql
│ │ │ │ ├── test1.py
│ │ │ │ ├── test2.py
│ │ │ │ ├── test3.py
│ │ │ │ ├── test4.py
│ │ │ │ ├── test5.py
│ │ │ │ └── test6.py
│ │ ├── successors
│ │ │ ├── Successors.expected
│ │ │ ├── Successors.ql
│ │ │ └── test.py
│ │ ├── truefalse
│ │ │ ├── Branch.expected
│ │ │ ├── Branch.ql
│ │ │ ├── ExceptionalSuccessors.expected
│ │ │ ├── ExceptionalSuccessors.ql
│ │ │ ├── TrueAndFalseSuccessor.expected
│ │ │ ├── TrueAndFalseSuccessor.ql
│ │ │ ├── TrueFalseSuccessors.expected
│ │ │ ├── TrueFalseSuccessors.ql
│ │ │ ├── boolops.py
│ │ │ ├── compare.py
│ │ │ ├── true_false_test.py
│ │ │ └── true_succ.py
│ │ └── try
│ │ │ ├── test.py
│ │ │ ├── test_ssa.expected
│ │ │ └── test_ssa.ql
│ ├── DefUse
│ │ ├── Definitions.expected
│ │ ├── Definitions.ql
│ │ ├── Uses.expected
│ │ ├── Uses.ql
│ │ └── defuse.py
│ ├── PointsTo
│ │ ├── absent
│ │ │ ├── Absent.expected
│ │ │ ├── Absent.ql
│ │ │ ├── absent.py
│ │ │ └── module.py
│ │ ├── api
│ │ │ ├── ClassValue.expected
│ │ │ ├── ClassValue.ql
│ │ │ ├── Constants.expected
│ │ │ ├── Constants.ql
│ │ │ ├── QualifedNames.expected
│ │ │ ├── QualifedNames.ql
│ │ │ ├── Value.expected
│ │ │ ├── Value.ql
│ │ │ └── test.py
│ │ ├── calls
│ │ │ ├── CallPointsTo.expected
│ │ │ ├── CallPointsTo.ql
│ │ │ ├── GetACall.expected
│ │ │ ├── GetACall.ql
│ │ │ ├── getArgumentForCall.expected
│ │ │ ├── getArgumentForCall.ql
│ │ │ ├── getNamedArgumentForCall.expected
│ │ │ ├── getNamedArgumentForCall.ql
│ │ │ ├── getParameter.expected
│ │ │ ├── getParameter.ql
│ │ │ ├── getParameterByName.expected
│ │ │ ├── getParameterByName.ql
│ │ │ └── test.py
│ │ ├── comparisons
│ │ │ ├── PointsTo.expected
│ │ │ ├── PointsTo.ql
│ │ │ └── test.py
│ │ ├── customise
│ │ │ ├── test.expected
│ │ │ ├── test.py
│ │ │ └── test.ql
│ │ ├── decorators
│ │ │ ├── Test.expected
│ │ │ ├── Test.ql
│ │ │ ├── Values.expected
│ │ │ ├── Values.ql
│ │ │ └── test.py
│ │ ├── extensions
│ │ │ ├── Extend.expected
│ │ │ ├── Extend.ql
│ │ │ └── test.py
│ │ ├── functions
│ │ │ ├── Calls.expected
│ │ │ ├── Calls.ql
│ │ │ ├── NeverReturns.expected
│ │ │ ├── NeverReturns.ql
│ │ │ ├── odasa6418.py
│ │ │ ├── test.expected
│ │ │ ├── test.py
│ │ │ └── test.ql
│ │ ├── general
│ │ │ ├── GlobalPointsTo.expected
│ │ │ ├── GlobalPointsTo.ql
│ │ │ ├── LocalPointsTo.expected
│ │ │ ├── LocalPointsTo.ql
│ │ │ ├── LocalPointsToType.expected
│ │ │ ├── LocalPointsToType.ql
│ │ │ ├── Util.qll
│ │ │ ├── interesting.qll
│ │ │ ├── options
│ │ │ ├── pointsto_test.py
│ │ │ └── xyz.py
│ │ ├── global
│ │ │ ├── Global.expected
│ │ │ ├── Global.ql
│ │ │ └── test.py
│ │ ├── guarded
│ │ │ ├── PointsTo.expected
│ │ │ ├── PointsTo.ql
│ │ │ ├── PointsToWithType.expected
│ │ │ ├── PointsToWithType.ql
│ │ │ ├── options
│ │ │ ├── test.py
│ │ │ └── type_test.py
│ │ ├── import_star
│ │ │ ├── Values.expected
│ │ │ ├── Values.ql
│ │ │ ├── nested
│ │ │ │ ├── __init__.py
│ │ │ │ └── nested.py
│ │ │ └── test.py
│ │ ├── imports
│ │ │ ├── Runtime.expected
│ │ │ ├── Runtime.ql
│ │ │ ├── RuntimeWithType.expected
│ │ │ ├── RuntimeWithType.ql
│ │ │ ├── options
│ │ │ ├── package
│ │ │ │ ├── __init__.py
│ │ │ │ ├── module.py
│ │ │ │ ├── module2.py
│ │ │ │ ├── moduleX.py
│ │ │ │ └── x.py
│ │ │ └── test.py
│ │ ├── indexing
│ │ │ ├── Test.expected
│ │ │ ├── Test.ql
│ │ │ ├── TestWithType.expected
│ │ │ ├── TestWithType.ql
│ │ │ ├── fake_collections.py
│ │ │ ├── options
│ │ │ └── test.py
│ │ ├── inheritance
│ │ │ ├── BaseTypes.expected
│ │ │ ├── BaseTypes.ql
│ │ │ ├── Calls.expected
│ │ │ ├── Calls.ql
│ │ │ ├── Declared.expected
│ │ │ ├── Declared.ql
│ │ │ ├── Declares.expected
│ │ │ ├── Declares.ql
│ │ │ ├── Lookup.expected
│ │ │ ├── Lookup.ql
│ │ │ ├── MetaClass.expected
│ │ │ ├── MetaClass.ql
│ │ │ ├── Mro.expected
│ │ │ ├── Mro.ql
│ │ │ ├── Self.expected
│ │ │ ├── Self.ql
│ │ │ ├── SuperTypes.expected
│ │ │ ├── SuperTypes.ql
│ │ │ └── test.py
│ │ ├── local
│ │ │ ├── LocalPointsTo.expected
│ │ │ ├── LocalPointsTo.ql
│ │ │ └── test.py
│ │ ├── lookup
│ │ │ ├── Lookup.expected
│ │ │ ├── Lookup.ql
│ │ │ └── test.py
│ │ ├── metaclass
│ │ │ ├── Failed.expected
│ │ │ ├── Failed.ql
│ │ │ ├── Mro.expected
│ │ │ ├── Mro.ql
│ │ │ ├── Style.expected
│ │ │ ├── Style.ql
│ │ │ ├── test.expected
│ │ │ ├── test.py
│ │ │ └── test.ql
│ │ ├── new
│ │ │ ├── Call.expected
│ │ │ ├── Call.ql
│ │ │ ├── ClassMethod.expected
│ │ │ ├── ClassMethod.ql
│ │ │ ├── Consistency.expected
│ │ │ ├── Consistency.ql
│ │ │ ├── Dataflow.expected
│ │ │ ├── Dataflow.ql
│ │ │ ├── Definitions.expected
│ │ │ ├── Definitions.ql
│ │ │ ├── ImpliesDataflow.expected
│ │ │ ├── ImpliesDataflow.ql
│ │ │ ├── Live.expected
│ │ │ ├── Live.ql
│ │ │ ├── NameSpace.expected
│ │ │ ├── NameSpace.ql
│ │ │ ├── Parameters.expected
│ │ │ ├── Parameters.ql
│ │ │ ├── PointsToMissing.expected
│ │ │ ├── PointsToMissing.ql
│ │ │ ├── PointsToNone.expected
│ │ │ ├── PointsToNone.ql
│ │ │ ├── PointsToUnknown.expected
│ │ │ ├── PointsToUnknown.ql
│ │ │ ├── PointsToWithContext.expected
│ │ │ ├── PointsToWithContext.ql
│ │ │ ├── PointsToWithType.expected
│ │ │ ├── PointsToWithType.ql
│ │ │ ├── Precedes.expected
│ │ │ ├── Precedes.ql
│ │ │ ├── README.md
│ │ │ ├── Reachable.expected
│ │ │ ├── Reachable.ql
│ │ │ ├── SSA.expected
│ │ │ ├── SSA.ql
│ │ │ ├── SourceEdgeDefinitions.expected
│ │ │ ├── SourceEdgeDefinitions.ql
│ │ │ ├── SourceNodeDefinitions.expected
│ │ │ ├── SourceNodeDefinitions.ql
│ │ │ ├── SsaAttr.expected
│ │ │ ├── SsaAttr.ql
│ │ │ ├── SsaUses.expected
│ │ │ ├── SsaUses.ql
│ │ │ ├── TestEvaluate.expected
│ │ │ ├── TestEvaluate.ql
│ │ │ ├── Util.qll
│ │ │ ├── Values.expected
│ │ │ ├── Values.ql
│ │ │ ├── VarUses.expected
│ │ │ ├── VarUses.ql
│ │ │ ├── code
│ │ │ │ ├── __init__.py
│ │ │ │ ├── a_simple.py
│ │ │ │ ├── b_condition.py
│ │ │ │ ├── c_tests.py
│ │ │ │ ├── d_globals.py
│ │ │ │ ├── e_temporal.py
│ │ │ │ ├── f_finally.py
│ │ │ │ ├── g_class_init.py
│ │ │ │ ├── h_classes.py
│ │ │ │ ├── i_imports.py
│ │ │ │ ├── j_convoluted_imports.py
│ │ │ │ ├── k_getsetattr.py
│ │ │ │ ├── l_calls.py
│ │ │ │ ├── m_attributes.py
│ │ │ │ ├── n_nesting.py
│ │ │ │ ├── o_no_returns.py
│ │ │ │ ├── p_decorators.py
│ │ │ │ ├── package
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── module.py
│ │ │ │ │ ├── module2.py
│ │ │ │ │ ├── moduleX.py
│ │ │ │ │ └── x.py
│ │ │ │ ├── q_super.py
│ │ │ │ ├── r_regressions.py
│ │ │ │ ├── s_scopes.py
│ │ │ │ ├── t_type.py
│ │ │ │ ├── test_package
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── module1.py
│ │ │ │ │ └── module2.py
│ │ │ │ ├── u_paired_values.py
│ │ │ │ ├── v_pointsto_regressions.py
│ │ │ │ ├── w_function_values.py
│ │ │ │ └── xyz.py
│ │ │ ├── options
│ │ │ └── test.py
│ │ ├── properties
│ │ │ ├── Lookup.expected
│ │ │ ├── Lookup.ql
│ │ │ ├── Values.expected
│ │ │ ├── Values.ql
│ │ │ └── test.py
│ │ ├── regressions
│ │ │ ├── missing
│ │ │ │ ├── if-urlsplit-access
│ │ │ │ │ ├── Test.expected
│ │ │ │ │ ├── Test.ql
│ │ │ │ │ ├── options
│ │ │ │ │ └── test.py
│ │ │ │ ├── metaclass
│ │ │ │ │ ├── getACall.expected
│ │ │ │ │ ├── getACall.ql
│ │ │ │ │ └── test.py
│ │ │ │ ├── re-compile
│ │ │ │ │ ├── Test.expected
│ │ │ │ │ ├── Test.ql
│ │ │ │ │ └── test.py
│ │ │ │ └── uncalled-function
│ │ │ │ │ ├── Test.expected
│ │ │ │ │ ├── Test.ql
│ │ │ │ │ └── test.py
│ │ │ └── wrong
│ │ │ │ ├── classmethod
│ │ │ │ ├── Test.expected
│ │ │ │ ├── Test.ql
│ │ │ │ └── test.py
│ │ │ │ └── module-imports
│ │ │ │ └── conflict-stdlib
│ │ │ │ ├── LocalModuleWithRef.expected
│ │ │ │ ├── LocalModuleWithRef.ql
│ │ │ │ ├── LocalModules.expected
│ │ │ │ ├── LocalModules.ql
│ │ │ │ ├── ModuleWithLocalRef.expected
│ │ │ │ ├── ModuleWithLocalRef.ql
│ │ │ │ ├── README.md
│ │ │ │ ├── code-invalid-package-name
│ │ │ │ ├── cmd.py
│ │ │ │ ├── test_fail.py
│ │ │ │ ├── test_ok.py
│ │ │ │ ├── unique_name.py
│ │ │ │ └── unique_name_use.py
│ │ │ │ └── options
│ │ ├── returns
│ │ │ ├── Test.expected
│ │ │ ├── Test.ql
│ │ │ └── test.py
│ │ ├── subclass
│ │ │ ├── Checks.expected
│ │ │ ├── Checks.ql
│ │ │ ├── TestEvaluate.expected
│ │ │ ├── TestEvaluate.ql
│ │ │ ├── Values.expected
│ │ │ ├── Values.ql
│ │ │ └── test.py
│ │ └── super
│ │ │ ├── SuperMethodCall.expected
│ │ │ ├── SuperMethodCall.ql
│ │ │ └── test.py
│ ├── attributes
│ │ ├── SelfAttribute.expected
│ │ ├── SelfAttribute.ql
│ │ └── test.py
│ ├── classes
│ │ ├── abstract
│ │ │ ├── Abstract.expected
│ │ │ ├── Abstract.ql
│ │ │ └── test.py
│ │ ├── attr
│ │ │ ├── class_attr.expected
│ │ │ ├── class_attr.ql
│ │ │ ├── class_defined_attr.expected
│ │ │ ├── class_defined_attr.ql
│ │ │ ├── class_defines_attr.expected
│ │ │ ├── class_defines_attr.ql
│ │ │ ├── class_has_attr.expected
│ │ │ ├── class_has_attr.ql
│ │ │ ├── hash.expected
│ │ │ ├── hash.ql
│ │ │ └── test.py
│ │ └── mro
│ │ │ ├── C3.expected
│ │ │ ├── C3.ql
│ │ │ ├── test.py
│ │ │ └── wikipedia.py
│ ├── comments
│ │ ├── blocks.expected
│ │ ├── blocks.ql
│ │ ├── blocks_not_example.expected
│ │ ├── blocks_not_example.ql
│ │ ├── length.expected
│ │ ├── length.ql
│ │ ├── lines.expected
│ │ ├── lines.ql
│ │ ├── lines_not_example.expected
│ │ ├── lines_not_example.ql
│ │ ├── test.py
│ │ ├── type_hint.expected
│ │ └── type_hint.ql
│ ├── comparisons
│ │ ├── Compare.expected
│ │ ├── Compare.ql
│ │ ├── Compare2.expected
│ │ ├── Compare2.ql
│ │ ├── CompareControls.expected
│ │ ├── CompareControls.ql
│ │ ├── Implication.expected
│ │ ├── Implication.ql
│ │ ├── options
│ │ └── test.py
│ ├── comprehensions
│ │ ├── AST.expected
│ │ ├── AST.ql
│ │ ├── Flow.expected
│ │ ├── Flow.ql
│ │ └── test.py
│ ├── dependencies
│ │ ├── Dependencies.expected
│ │ ├── Dependencies.ql
│ │ ├── a.py
│ │ ├── b.py
│ │ └── c.py
│ ├── descriptors
│ │ ├── Descriptors.expected
│ │ ├── Descriptors.ql
│ │ ├── Methods.expected
│ │ ├── Methods.ql
│ │ ├── Properties.expected
│ │ ├── Properties.ql
│ │ └── test.py
│ ├── encoding
│ │ ├── CheckEncoding.expected
│ │ ├── CheckEncoding.ql
│ │ ├── latin.py
│ │ ├── shift_jis.py
│ │ ├── utf8.py
│ │ └── utf8_bom.py
│ ├── examples
│ │ └── custom-sanitizer
│ │ │ ├── SanitizedEdges.expected
│ │ │ ├── SanitizedEdges.ql
│ │ │ ├── Taint.qll
│ │ │ ├── TestTaint.expected
│ │ │ ├── TestTaint.ql
│ │ │ └── test.py
│ ├── exceptions
│ │ ├── Handles.expected
│ │ ├── Handles.ql
│ │ ├── Legal.expected
│ │ ├── Legal.ql
│ │ └── test.py
│ ├── exprs
│ │ ├── ast
│ │ │ ├── AstParent.expected
│ │ │ ├── AstParent.ql
│ │ │ ├── Child.expected
│ │ │ ├── Child.ql
│ │ │ ├── IsConstant.expected
│ │ │ ├── IsConstant.ql
│ │ │ └── exprs_test.py
│ │ ├── compare
│ │ │ ├── Test.expected
│ │ │ ├── Test.ql
│ │ │ └── compare.py
│ │ └── strings
│ │ │ ├── Strings.expected
│ │ │ ├── Strings.ql
│ │ │ └── test.py
│ ├── filters
│ │ ├── generated
│ │ │ ├── Filter.expected
│ │ │ ├── Filter.ql
│ │ │ ├── antlr.py
│ │ │ ├── generic.py
│ │ │ ├── sphinx.py
│ │ │ ├── swig.py
│ │ │ └── thrift.py
│ │ └── tests
│ │ │ ├── Filter.expected
│ │ │ ├── Filter.ql
│ │ │ ├── test.py
│ │ │ ├── test_foo.py
│ │ │ └── unittest_test.py
│ ├── formatting
│ │ ├── FormatArguments.expected
│ │ ├── FormatArguments.ql
│ │ ├── FormatFields.expected
│ │ ├── FormatFields.ql
│ │ └── test.py
│ ├── frameworks
│ │ ├── crypto
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ ├── test_dsa.py
│ │ │ ├── test_ec.py
│ │ │ └── test_rsa.py
│ │ ├── cryptodome
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ ├── test_dsa.py
│ │ │ ├── test_ec.py
│ │ │ └── test_rsa.py
│ │ ├── cryptography
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ ├── test_dsa.py
│ │ │ ├── test_ec.py
│ │ │ └── test_rsa.py
│ │ ├── dill
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ └── Decoding.py
│ │ ├── django-v1
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ └── routing_test.py
│ │ ├── django-v2-v3
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ ├── README.md
│ │ │ ├── TestTaint.expected
│ │ │ ├── TestTaint.ql
│ │ │ ├── dummy_import.py
│ │ │ ├── manage.py
│ │ │ ├── options
│ │ │ ├── response_test.py
│ │ │ ├── routing_test.py
│ │ │ ├── taint_forms.py
│ │ │ ├── taint_test.py
│ │ │ ├── testapp
│ │ │ │ ├── __init__.py
│ │ │ │ ├── admin.py
│ │ │ │ ├── apps.py
│ │ │ │ ├── migrations
│ │ │ │ │ └── __init__.py
│ │ │ │ ├── models.py
│ │ │ │ ├── tests.py
│ │ │ │ ├── urls.py
│ │ │ │ └── views.py
│ │ │ └── testproj
│ │ │ │ ├── __init__.py
│ │ │ │ ├── asgi.py
│ │ │ │ ├── settings.py
│ │ │ │ ├── urls.py
│ │ │ │ └── wsgi.py
│ │ ├── django
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ └── SqlExecution.py
│ │ ├── fabric
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ ├── TestTaint.expected
│ │ │ ├── TestTaint.ql
│ │ │ ├── fabric_v1_execute.py
│ │ │ ├── fabric_v1_test.py
│ │ │ └── fabric_v2_test.py
│ │ ├── flask
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ ├── TestTaint.expected
│ │ │ ├── TestTaint.ql
│ │ │ ├── external_blueprint.py
│ │ │ ├── old_test.py
│ │ │ ├── response_test.py
│ │ │ ├── routing_test.py
│ │ │ └── taint_test.py
│ │ ├── invoke
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ └── invoke_test.py
│ │ ├── modeling-example
│ │ │ ├── NaiveModel.expected
│ │ │ ├── NaiveModel.ql
│ │ │ ├── ProperModel.expected
│ │ │ ├── ProperModel.ql
│ │ │ ├── README.md
│ │ │ ├── SharedCode.qll
│ │ │ └── test.py
│ │ ├── mysql-connector-python
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ └── pep249.py
│ │ ├── mysqldb
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ └── pep249.py
│ │ ├── pymysql
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ └── pep249.py
│ │ ├── stdlib-py2
│ │ │ ├── CodeExecution.py
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ ├── SystemCommandExecution.py
│ │ │ └── options
│ │ ├── stdlib-py3
│ │ │ ├── CodeExecution.py
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ ├── Decoding.py
│ │ │ ├── Encoding.py
│ │ │ └── options
│ │ ├── stdlib
│ │ │ ├── CodeExecution.py
│ │ │ ├── CodeExecutionPossibleFP1.py
│ │ │ ├── CodeExecutionPossibleFP2.py
│ │ │ ├── CodeExecutionPossibleFP3.py
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ ├── Decoding.py
│ │ │ ├── Encoding.py
│ │ │ ├── FileSystemAccess.py
│ │ │ ├── PathNormalization.py
│ │ │ ├── SafeAccessCheck.py
│ │ │ ├── SystemCommandExecution.py
│ │ │ ├── TestTaint.expected
│ │ │ ├── TestTaint.ql
│ │ │ ├── http_server.py
│ │ │ └── pep249.py
│ │ ├── tornado
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ ├── README.md
│ │ │ ├── TestTaint.expected
│ │ │ ├── TestTaint.ql
│ │ │ ├── basic.py
│ │ │ ├── options
│ │ │ ├── response_test.py
│ │ │ ├── routing_test.py
│ │ │ └── taint_test.py
│ │ └── yaml
│ │ │ ├── ConceptsTest.expected
│ │ │ ├── ConceptsTest.ql
│ │ │ └── Decoding.py
│ ├── imports
│ │ ├── Alias.expected
│ │ ├── Alias.ql
│ │ └── test.py
│ ├── jump_to_defn
│ │ ├── Consistency.expected
│ │ ├── Consistency.ql
│ │ ├── Remote.expected
│ │ ├── Remote.ql
│ │ ├── Symbol.expected
│ │ ├── Symbol.ql
│ │ ├── module.py
│ │ ├── test.expected
│ │ ├── test.py
│ │ └── test.ql
│ ├── locations
│ │ ├── elif
│ │ │ ├── test.expected
│ │ │ ├── test.py
│ │ │ └── test.ql
│ │ ├── implicit_concatenation
│ │ │ ├── part_locations.expected
│ │ │ ├── part_locations.ql
│ │ │ ├── parts.expected
│ │ │ ├── parts.ql
│ │ │ ├── test.expected
│ │ │ ├── test.py
│ │ │ └── test.ql
│ │ ├── negative_numbers
│ │ │ ├── negative.expected
│ │ │ ├── negative.py
│ │ │ └── negative.ql
│ │ └── nested_classes
│ │ │ ├── Test.expected
│ │ │ ├── Test.ql
│ │ │ └── test.py
│ ├── modules
│ │ ├── duplicate_name
│ │ │ ├── Modules.expected
│ │ │ ├── Modules.ql
│ │ │ ├── options
│ │ │ ├── test.py
│ │ │ └── venv
│ │ │ │ └── sqlite3
│ │ │ │ ├── __init__.py
│ │ │ │ └── dump.py
│ │ ├── overlapping-paths
│ │ │ ├── ModuleNames.expected
│ │ │ ├── ModuleNames.ql
│ │ │ ├── options
│ │ │ ├── outer
│ │ │ │ └── inner
│ │ │ │ │ ├── imported
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── x.py
│ │ │ │ │ └── y.py
│ │ │ └── src
│ │ │ │ ├── package
│ │ │ │ ├── __init__.py
│ │ │ │ └── test.py
│ │ │ │ └── script.py
│ │ ├── spurious_init
│ │ │ ├── ModuleNames.expected
│ │ │ ├── ModuleNames.ql
│ │ │ ├── options
│ │ │ └── root
│ │ │ │ ├── __init__.py
│ │ │ │ └── src-folder
│ │ │ │ └── package
│ │ │ │ ├── __init__.py
│ │ │ │ └── module.py
│ │ └── usage
│ │ │ ├── ModuleUsage.expected
│ │ │ ├── ModuleUsage.ql
│ │ │ ├── imported.py
│ │ │ ├── main.py
│ │ │ ├── myscript.py
│ │ │ ├── options
│ │ │ └── script
│ ├── objects
│ │ ├── Literals.expected
│ │ ├── Literals.ql
│ │ ├── Name.expected
│ │ ├── Name.ql
│ │ ├── Strings.expected
│ │ ├── Strings.ql
│ │ └── test.py
│ ├── options
│ ├── overrides
│ │ ├── FunctionOverrides.expected
│ │ ├── FunctionOverrides.ql
│ │ └── test.py
│ ├── parameters
│ │ ├── Annotations.expected
│ │ ├── Annotations.ql
│ │ ├── Defaults.expected
│ │ ├── Defaults.ql
│ │ ├── Special.expected
│ │ ├── Special.ql
│ │ └── test.py
│ ├── parentheses
│ │ ├── Parens.expected
│ │ ├── Parens.ql
│ │ └── test.py
│ ├── regex
│ │ ├── Alternation.expected
│ │ ├── Alternation.ql
│ │ ├── Characters.expected
│ │ ├── Characters.ql
│ │ ├── FirstLast.expected
│ │ ├── FirstLast.ql
│ │ ├── GroupContents.expected
│ │ ├── GroupContents.ql
│ │ ├── Mode.expected
│ │ ├── Mode.ql
│ │ ├── Qualified.expected
│ │ ├── Qualified.ql
│ │ ├── Regex.expected
│ │ ├── Regex.ql
│ │ └── test.py
│ ├── scopes
│ │ ├── Previous.expected
│ │ ├── Previous.ql
│ │ └── test.py
│ ├── security
│ │ ├── command-execution
│ │ │ ├── CommandSinks.expected
│ │ │ ├── CommandSinks.ql
│ │ │ ├── fabric-LICENSE
│ │ │ ├── fabric_v1_test.py
│ │ │ ├── fabric_v2_test.py
│ │ │ ├── invoke_test.py
│ │ │ └── options
│ │ ├── fabric-v1-execute
│ │ │ ├── Taint.qll
│ │ │ ├── TestTaint.expected
│ │ │ ├── TestTaint.ql
│ │ │ ├── options
│ │ │ └── test.py
│ │ └── sensitive
│ │ │ ├── Sources.expected
│ │ │ ├── Sources.ql
│ │ │ └── test.py
│ ├── state_tracking
│ │ ├── Lib.qll
│ │ ├── Test.expected
│ │ ├── Test.ql
│ │ ├── Violations.expected
│ │ ├── Violations.ql
│ │ ├── global.py
│ │ └── test.py
│ ├── stmts
│ │ ├── general
│ │ │ ├── AstParent.expected
│ │ │ ├── AstParent.ql
│ │ │ ├── SubExpressions.expected
│ │ │ ├── SubExpressions.ql
│ │ │ └── subexpr_test.py
│ │ ├── raise_stmt
│ │ │ ├── AST.expected
│ │ │ ├── AST.ql
│ │ │ └── test.py
│ │ ├── try_stmt
│ │ │ ├── AST.expected
│ │ │ ├── AST.ql
│ │ │ └── test.py
│ │ └── with_stmt
│ │ │ ├── AST.expected
│ │ │ ├── AST.ql
│ │ │ └── test.py
│ ├── taint
│ │ ├── collections
│ │ │ ├── Taint.qll
│ │ │ ├── TestStep.expected
│ │ │ ├── TestStep.ql
│ │ │ ├── TestTaint.expected
│ │ │ ├── TestTaint.ql
│ │ │ └── test.py
│ │ ├── config
│ │ │ ├── RockPaperScissors.expected
│ │ │ ├── RockPaperScissors.ql
│ │ │ ├── Simple.expected
│ │ │ ├── Simple.ql
│ │ │ ├── TaintLib.qll
│ │ │ ├── TaintedArgument.expected
│ │ │ ├── TaintedArgument.ql
│ │ │ ├── TestNode.expected
│ │ │ ├── TestNode.ql
│ │ │ ├── TestSink.expected
│ │ │ ├── TestSink.ql
│ │ │ ├── TestSource.expected
│ │ │ ├── TestSource.ql
│ │ │ ├── TestStep.expected
│ │ │ ├── TestStep.ql
│ │ │ ├── carrier.py
│ │ │ ├── deep.py
│ │ │ ├── module.py
│ │ │ ├── rockpaperscissors.py
│ │ │ ├── sanitizer.py
│ │ │ └── test.py
│ │ ├── dataflow
│ │ │ ├── Config.qll
│ │ │ ├── Dataflow.expected
│ │ │ ├── Dataflow.ql
│ │ │ ├── TestNode.expected
│ │ │ ├── TestNode.ql
│ │ │ └── test.py
│ │ ├── example
│ │ │ ├── DilbertConfig.qll
│ │ │ ├── Edges.expected
│ │ │ ├── Edges.ql
│ │ │ ├── ExampleConfig.expected
│ │ │ ├── ExampleConfig.ql
│ │ │ ├── Nodes.expected
│ │ │ ├── Nodes.ql
│ │ │ └── example.py
│ │ ├── exception_traceback
│ │ │ ├── TestNode.expected
│ │ │ ├── TestNode.ql
│ │ │ ├── TestSource.expected
│ │ │ ├── TestSource.ql
│ │ │ ├── TestStep.expected
│ │ │ ├── TestStep.ql
│ │ │ └── test.py
│ │ ├── extensions
│ │ │ ├── ExtensionsLib.qll
│ │ │ ├── TestNode.expected
│ │ │ ├── TestNode.ql
│ │ │ ├── TestStep.expected
│ │ │ ├── TestStep.ql
│ │ │ └── visitor.py
│ │ ├── flowpath_regression
│ │ │ ├── Config.qll
│ │ │ ├── Path.expected
│ │ │ ├── Path.ql
│ │ │ └── test.py
│ │ ├── general
│ │ │ ├── Contexts.expected
│ │ │ ├── Contexts.ql
│ │ │ ├── ModuleAttribute.expected
│ │ │ ├── ModuleAttribute.ql
│ │ │ ├── ParamSource.expected
│ │ │ ├── ParamSource.ql
│ │ │ ├── TaintConsistency.expected
│ │ │ ├── TaintConsistency.ql
│ │ │ ├── TaintLib.qll
│ │ │ ├── TestDefn.expected
│ │ │ ├── TestDefn.ql
│ │ │ ├── TestSanitizers.expected
│ │ │ ├── TestSanitizers.ql
│ │ │ ├── TestSink.expected
│ │ │ ├── TestSink.ql
│ │ │ ├── TestSource.expected
│ │ │ ├── TestSource.ql
│ │ │ ├── TestStep.expected
│ │ │ ├── TestStep.ql
│ │ │ ├── TestTaint.expected
│ │ │ ├── TestTaint.ql
│ │ │ ├── TestVar.expected
│ │ │ ├── TestVar.ql
│ │ │ ├── assignment.py
│ │ │ ├── carrier.py
│ │ │ ├── deep.py
│ │ │ ├── module.py
│ │ │ ├── printAst.expected
│ │ │ ├── printAst.ql
│ │ │ ├── rockpaperscissors.py
│ │ │ ├── sanitizer.py
│ │ │ └── test.py
│ │ ├── namedtuple
│ │ │ ├── SanitizedEdges.expected
│ │ │ ├── SanitizedEdges.ql
│ │ │ ├── Taint.qll
│ │ │ ├── TestTaint.expected
│ │ │ ├── TestTaint.ql
│ │ │ └── test.py
│ │ ├── strings
│ │ │ ├── Taint.qll
│ │ │ ├── TestStep.expected
│ │ │ ├── TestStep.ql
│ │ │ ├── TestTaint.expected
│ │ │ ├── TestTaint.ql
│ │ │ └── test.py
│ │ └── unpacking
│ │ │ ├── Taint.qll
│ │ │ ├── TestStep.expected
│ │ │ ├── TestStep.ql
│ │ │ ├── TestTaint.expected
│ │ │ ├── TestTaint.ql
│ │ │ └── test.py
│ ├── thrift
│ │ ├── Child.expected
│ │ ├── Child.ql
│ │ ├── File.expected
│ │ ├── File.ql
│ │ ├── Function.expected
│ │ ├── Function.ql
│ │ ├── References.expected
│ │ ├── References.ql
│ │ ├── Service.expected
│ │ ├── Service.ql
│ │ ├── Test.expected
│ │ ├── Test.ql
│ │ ├── Value.expected
│ │ ├── Value.ql
│ │ ├── extended.thrift
│ │ ├── options
│ │ ├── test.py
│ │ └── test.thrift
│ ├── types
│ │ ├── attributes
│ │ │ ├── Test.expected
│ │ │ ├── Test.ql
│ │ │ └── test.py
│ │ ├── classattr
│ │ │ ├── ClassAttribute.expected
│ │ │ ├── ClassAttribute.ql
│ │ │ ├── ClassMember.expected
│ │ │ ├── ClassMember.ql
│ │ │ ├── SpecialAttribute.expected
│ │ │ ├── SpecialAttribute.ql
│ │ │ └── classattr.py
│ │ ├── classes
│ │ │ ├── FailedInference.expected
│ │ │ ├── FailedInference.ql
│ │ │ ├── c_inheritance.py
│ │ │ ├── circular_inheritance.py
│ │ │ ├── duplicate_base.expected
│ │ │ ├── duplicate_base.ql
│ │ │ └── mutual_inheritance.py
│ │ ├── exceptions
│ │ │ ├── ExitRaises.expected
│ │ │ ├── ExitRaises.ql
│ │ │ ├── Handles.expected
│ │ │ ├── Handles.ql
│ │ │ ├── Impossible.expected
│ │ │ ├── Impossible.ql
│ │ │ ├── LineRaises.expected
│ │ │ ├── LineRaises.ql
│ │ │ ├── Raises.expected
│ │ │ ├── Raises.ql
│ │ │ ├── Reraises.expected
│ │ │ ├── Reraises.ql
│ │ │ ├── Viable.expected
│ │ │ ├── Viable.ql
│ │ │ └── test.py
│ │ ├── functions
│ │ │ ├── Zope.expected
│ │ │ ├── Zope.ql
│ │ │ ├── test.py
│ │ │ └── zope
│ │ │ │ ├── __init__.py
│ │ │ │ └── interface.py
│ │ └── properties
│ │ │ ├── Deleters.expected
│ │ │ ├── Deleters.ql
│ │ │ ├── Getters.expected
│ │ │ ├── Getters.ql
│ │ │ ├── PythonProperties.expected
│ │ │ ├── PythonProperties.ql
│ │ │ ├── Setters.expected
│ │ │ ├── Setters.ql
│ │ │ └── properties.py
│ ├── variables
│ │ ├── definitions
│ │ │ ├── test.expected
│ │ │ ├── test.py
│ │ │ └── test.ql
│ │ └── scopes
│ │ │ ├── free.expected
│ │ │ ├── free.ql
│ │ │ ├── globals.expected
│ │ │ ├── globals.ql
│ │ │ ├── locals.expected
│ │ │ ├── locals.ql
│ │ │ ├── lookup.expected
│ │ │ ├── lookup.ql
│ │ │ ├── scopes.expected
│ │ │ ├── scopes.ql
│ │ │ └── test.py
│ └── web
│ │ ├── bottle
│ │ ├── HttpResponseSinks.expected
│ │ ├── HttpResponseSinks.ql
│ │ ├── HttpSources.expected
│ │ ├── HttpSources.ql
│ │ ├── Routing.expected
│ │ ├── Routing.ql
│ │ ├── Taint.expected
│ │ ├── Taint.ql
│ │ ├── options
│ │ └── test.py
│ │ ├── cherrypy
│ │ ├── HttpResponseSinks.expected
│ │ ├── HttpResponseSinks.ql
│ │ ├── HttpSources.expected
│ │ ├── HttpSources.ql
│ │ ├── options
│ │ ├── red.py
│ │ └── test.py
│ │ ├── client
│ │ ├── requests
│ │ │ ├── ClientHttpRequests.expected
│ │ │ ├── ClientHttpRequests.ql
│ │ │ ├── options
│ │ │ └── test.py
│ │ ├── six
│ │ │ ├── ClientHttpRequests.expected
│ │ │ ├── ClientHttpRequests.ql
│ │ │ ├── options
│ │ │ └── test.py
│ │ └── stdlib
│ │ │ ├── ClientHttpRequests.expected
│ │ │ ├── ClientHttpRequests.ql
│ │ │ ├── options
│ │ │ └── test.py
│ │ ├── django
│ │ ├── HttpRedirectSinks.expected
│ │ ├── HttpRedirectSinks.ql
│ │ ├── HttpResponseSinks.expected
│ │ ├── HttpResponseSinks.ql
│ │ ├── HttpSources.expected
│ │ ├── HttpSources.ql
│ │ ├── SqlInjectionSinks.expected
│ │ ├── SqlInjectionSinks.ql
│ │ ├── options
│ │ ├── sql.py
│ │ ├── test_1x.py
│ │ ├── test_2x_3x.py
│ │ ├── views_1x.py
│ │ └── views_2x_3x.py
│ │ ├── falcon
│ │ ├── HttpResponseSinks.expected
│ │ ├── HttpResponseSinks.ql
│ │ ├── HttpSources.expected
│ │ ├── HttpSources.ql
│ │ ├── Routing.expected
│ │ ├── Routing.ql
│ │ ├── Sinks.expected
│ │ ├── Sinks.ql
│ │ ├── Taint.expected
│ │ ├── Taint.ql
│ │ ├── options
│ │ └── test.py
│ │ ├── flask
│ │ ├── HttpResponseSinks.expected
│ │ ├── HttpResponseSinks.ql
│ │ ├── HttpSources.expected
│ │ ├── HttpSources.ql
│ │ ├── Routing.expected
│ │ ├── Routing.ql
│ │ ├── Taint.expected
│ │ ├── Taint.ql
│ │ ├── options
│ │ └── test.py
│ │ ├── pyramid
│ │ ├── HttpResponseSinks.expected
│ │ ├── HttpResponseSinks.ql
│ │ ├── HttpSources.expected
│ │ ├── HttpSources.ql
│ │ ├── Routing.expected
│ │ ├── Routing.ql
│ │ ├── Taint.expected
│ │ ├── Taint.ql
│ │ ├── options
│ │ └── test.py
│ │ ├── stdlib
│ │ ├── HttpResponseSinks.expected
│ │ ├── HttpResponseSinks.ql
│ │ ├── HttpSources.expected
│ │ ├── HttpSources.ql
│ │ ├── TestTaint.expected
│ │ ├── TestTaint.ql
│ │ └── test.py
│ │ ├── tornado
│ │ ├── Classes.expected
│ │ ├── Classes.ql
│ │ ├── HttpRedirectSinks.expected
│ │ ├── HttpRedirectSinks.ql
│ │ ├── HttpResponseSinks.expected
│ │ ├── HttpResponseSinks.ql
│ │ ├── HttpSources.expected
│ │ ├── HttpSources.ql
│ │ ├── Taint.expected
│ │ ├── Taint.ql
│ │ ├── options
│ │ └── test.py
│ │ ├── turbogears
│ │ ├── Controller.expected
│ │ ├── Controller.ql
│ │ ├── HttpResponseSinks.expected
│ │ ├── HttpResponseSinks.ql
│ │ ├── HttpSources.expected
│ │ ├── HttpSources.ql
│ │ ├── Taint.expected
│ │ ├── Taint.ql
│ │ ├── options
│ │ └── test.py
│ │ ├── twisted
│ │ ├── Classes.expected
│ │ ├── Classes.ql
│ │ ├── HttpResponseSinks.expected
│ │ ├── HttpResponseSinks.ql
│ │ ├── HttpSources.expected
│ │ ├── HttpSources.ql
│ │ ├── Methods.expected
│ │ ├── Methods.ql
│ │ ├── Taint.expected
│ │ ├── Taint.ql
│ │ ├── options
│ │ └── test.py
│ │ └── zope
│ │ ├── Test.expected
│ │ ├── Test.ql
│ │ ├── options
│ │ └── test.py
│ ├── qlpack.yml
│ ├── queries.xml
│ └── query-tests
│ ├── Classes
│ ├── Arguments
│ │ ├── WrongNameForArgumentInClassInstantiation.expected
│ │ ├── WrongNameForArgumentInClassInstantiation.qlref
│ │ ├── WrongNumberArgumentsInClassInstantiation.expected
│ │ ├── WrongNumberArgumentsInClassInstantiation.qlref
│ │ └── wrong_arguments.py
│ ├── conflicting
│ │ ├── ConflictingAttributesInBaseClasses.expected
│ │ ├── ConflictingAttributesInBaseClasses.qlref
│ │ ├── odasa6643.py
│ │ └── test.py
│ ├── descriptors
│ │ ├── MutatingDescriptor.expected
│ │ ├── MutatingDescriptor.qlref
│ │ └── test.py
│ ├── equals-attr
│ │ ├── DefineEqualsWhenAddingAttributes.expected
│ │ ├── DefineEqualsWhenAddingAttributes.qlref
│ │ └── test.py
│ ├── equals-hash
│ │ ├── DefineEqualsWhenAddingFields.expected
│ │ ├── DefineEqualsWhenAddingFields.qlref
│ │ └── attr_eq_test.py
│ ├── incomplete-ordering
│ │ ├── IncompleteOrdering.expected
│ │ ├── IncompleteOrdering.qlref
│ │ └── incomplete_ordering.py
│ ├── init-calls-subclass-method
│ │ ├── InitCallsSubclassMethod.expected
│ │ ├── InitCallsSubclassMethod.qlref
│ │ └── init_calls_subclass.py
│ ├── missing-del
│ │ ├── MissingCallToDel.expected
│ │ ├── MissingCallToDel.qlref
│ │ └── missing_del.py
│ ├── missing-init
│ │ ├── MissingCallToInit.expected
│ │ ├── MissingCallToInit.qlref
│ │ └── missing_init.py
│ ├── multiple
│ │ ├── SuperclassDelCalledMultipleTimes.expected
│ │ ├── SuperclassDelCalledMultipleTimes.qlref
│ │ ├── SuperclassInitCalledMultipleTimes.expected
│ │ ├── SuperclassInitCalledMultipleTimes.qlref
│ │ ├── multiple_del.py
│ │ └── multiple_init.py
│ ├── overwriting-attribute
│ │ ├── OverwritingAttributeInSuperClass.expected
│ │ ├── OverwritingAttributeInSuperClass.qlref
│ │ └── overwriting_attribute.py
│ ├── should-be-context-manager
│ │ ├── ShouldBeContextManager.expected
│ │ ├── ShouldBeContextManager.qlref
│ │ └── should_be_context_manager.py
│ ├── subclass-shadowing
│ │ ├── SubclassShadowing.expected
│ │ ├── SubclassShadowing.qlref
│ │ └── subclass_shadowing.py
│ ├── undefined-attribute
│ │ ├── MaybeUndefinedClassAttribute.expected
│ │ ├── MaybeUndefinedClassAttribute.qlref
│ │ ├── UndefinedClassAttribute.expected
│ │ ├── UndefinedClassAttribute.qlref
│ │ └── undefined_attribute.py
│ └── useless
│ │ ├── UselessClass.expected
│ │ ├── UselessClass.qlref
│ │ └── test.py
│ ├── Exceptions
│ ├── general
│ │ ├── CatchingBaseException.expected
│ │ ├── CatchingBaseException.qlref
│ │ ├── EmptyExcept.expected
│ │ ├── EmptyExcept.qlref
│ │ ├── IllegalExceptionHandlerType.expected
│ │ ├── IllegalExceptionHandlerType.qlref
│ │ ├── IllegalRaise.expected
│ │ ├── IllegalRaise.qlref
│ │ ├── IncorrectExceptOrder.expected
│ │ ├── IncorrectExceptOrder.qlref
│ │ ├── NotImplementedIsNotAnException.expected
│ │ ├── NotImplementedIsNotAnException.qlref
│ │ ├── exceptions_test.py
│ │ └── pypy_test.py
│ └── generators
│ │ ├── UnguardedNextInGenerator.expected
│ │ ├── UnguardedNextInGenerator.qlref
│ │ └── test.py
│ ├── Expressions
│ ├── Arguments
│ │ ├── WrongNameForArgumentInCall.expected
│ │ ├── WrongNameForArgumentInCall.qlref
│ │ ├── WrongNumberArgumentsInCall.expected
│ │ ├── WrongNumberArgumentsInCall.qlref
│ │ ├── mox.py
│ │ ├── use_mox.py
│ │ └── wrong_arguments.py
│ ├── Formatting
│ │ ├── MixedExplicitImplicitIn3101Format.expected
│ │ ├── MixedExplicitImplicitIn3101Format.qlref
│ │ ├── UnusedArgumentIn3101Format.expected
│ │ ├── UnusedArgumentIn3101Format.qlref
│ │ ├── UnusedNamedArgumentIn3101Format.expected
│ │ ├── UnusedNamedArgumentIn3101Format.qlref
│ │ ├── WrongNameInArgumentsFor3101Format.expected
│ │ ├── WrongNameInArgumentsFor3101Format.qlref
│ │ ├── WrongNumberArgumentsFor3101Format.expected
│ │ ├── WrongNumberArgumentsFor3101Format.qlref
│ │ ├── test.py
│ │ └── unknown_format_string.py
│ ├── Regex
│ │ ├── BackspaceEscape.expected
│ │ ├── BackspaceEscape.qlref
│ │ ├── DuplicateCharacterInSet.expected
│ │ ├── DuplicateCharacterInSet.qlref
│ │ ├── MissingPartSpecialGroup.expected
│ │ ├── MissingPartSpecialGroup.qlref
│ │ ├── UnmatchableCaret.expected
│ │ ├── UnmatchableCaret.qlref
│ │ ├── UnmatchableDollar.expected
│ │ ├── UnmatchableDollar.qlref
│ │ ├── options
│ │ └── test.py
│ ├── callable
│ │ ├── NonCallableCalled.expected
│ │ ├── NonCallableCalled.qlref
│ │ └── test.py
│ ├── comparisons
│ │ ├── UselessComparisonTest.expected
│ │ ├── UselessComparisonTest.qlref
│ │ └── test.py
│ ├── eq
│ │ ├── IncorrectComparisonUsingIs.expected
│ │ ├── IncorrectComparisonUsingIs.qlref
│ │ ├── NonPortableComparisonUsingIs.expected
│ │ ├── NonPortableComparisonUsingIs.qlref
│ │ └── expressions_test.py
│ ├── general
│ │ ├── CompareConstants.expected
│ │ ├── CompareConstants.qlref
│ │ ├── CompareIdenticalValues.expected
│ │ ├── CompareIdenticalValues.qlref
│ │ ├── CompareIdenticalValuesMissingSelf.expected
│ │ ├── CompareIdenticalValuesMissingSelf.qlref
│ │ ├── ContainsNonContainer.expected
│ │ ├── ContainsNonContainer.qlref
│ │ ├── DuplicateKeyInDictionaryLiteral.expected
│ │ ├── DuplicateKeyInDictionaryLiteral.qlref
│ │ ├── EqualsNone.expected
│ │ ├── EqualsNone.qlref
│ │ ├── ExpectedMappingForFormatString.expected
│ │ ├── ExpectedMappingForFormatString.qlref
│ │ ├── ExplcitCallToDel.expected
│ │ ├── ExplicitCallToDel.expected
│ │ ├── ExplicitCallToDel.qlref
│ │ ├── HashedButNoHash.expected
│ │ ├── HashedButNoHash.qlref
│ │ ├── UnnecessaryLambda.expected
│ │ ├── UnnecessaryLambda.qlref
│ │ ├── UnsupportedFormatCharacter.expected
│ │ ├── UnsupportedFormatCharacter.qlref
│ │ ├── WrongNumberArgumentsForFormat.expected
│ │ ├── WrongNumberArgumentsForFormat.qlref
│ │ ├── _private.py
│ │ ├── compare.py
│ │ ├── expressions_test.py
│ │ └── str_fmt_test.py
│ ├── strings
│ │ ├── UnintentionalImplicitStringConcatenation.expected
│ │ ├── UnintentionalImplicitStringConcatenation.qlref
│ │ └── test.py
│ └── super
│ │ ├── CallToSuperWrongClass.expected
│ │ ├── CallToSuperWrongClass.qlref
│ │ ├── test.py
│ │ └── test_except.py
│ ├── Functions
│ ├── general
│ │ ├── DeprecatedSliceMethod.expected
│ │ ├── DeprecatedSliceMethod.qlref
│ │ ├── ExplicitReturnInInit.expected
│ │ ├── ExplicitReturnInInit.qlref
│ │ ├── IncorrectRaiseInSpecialMethod.expected
│ │ ├── IncorrectRaiseInSpecialMethod.qlref
│ │ ├── InitIsGenerator.expected
│ │ ├── InitIsGenerator.qlref
│ │ ├── IterReturnsNonIterator.expected
│ │ ├── IterReturnsNonIterator.qlref
│ │ ├── IterReturnsNonSelf.expected
│ │ ├── IterReturnsNonSelf.qlref
│ │ ├── ModificationOfParameterWithDefault.expected
│ │ ├── ModificationOfParameterWithDefault.qlref
│ │ ├── NonCls.expected
│ │ ├── NonCls.qlref
│ │ ├── NonSelf.expected
│ │ ├── NonSelf.qlref
│ │ ├── OverlyComplexDelMethod.expected
│ │ ├── OverlyComplexDelMethod.qlref
│ │ ├── SignatureOverriddenMethod.expected
│ │ ├── SignatureOverriddenMethod.qlref
│ │ ├── SignatureSpecialMethods.expected
│ │ ├── SignatureSpecialMethods.qlref
│ │ ├── explicit_return_in_init.py
│ │ ├── functions_test.py
│ │ ├── mox.py
│ │ ├── om_test.py
│ │ ├── parameter_names.py
│ │ ├── protocols.py
│ │ ├── special.py
│ │ ├── use_mox.py
│ │ └── zope
│ │ │ ├── __init__.py
│ │ │ └── interface.py
│ ├── overriding
│ │ ├── IncorrectlyOverriddenMethod.expected
│ │ ├── IncorrectlyOverriddenMethod.qlref
│ │ ├── IncorrectlySpecifiedOverriddenMethod.expected
│ │ ├── IncorrectlySpecifiedOverriddenMethod.qlref
│ │ ├── SignatureOverriddenMethod.expected
│ │ ├── SignatureOverriddenMethod.qlref
│ │ ├── WrongNameForArgumentInCall.expected
│ │ ├── WrongNameForArgumentInCall.qlref
│ │ ├── WrongNumberArgumentsInCall.expected
│ │ ├── WrongNumberArgumentsInCall.qlref
│ │ └── test.py
│ └── return_values
│ │ ├── ConsistentReturns.expected
│ │ ├── ConsistentReturns.qlref
│ │ ├── ReturnConsistentTupleSizes.expected
│ │ ├── ReturnConsistentTupleSizes.qlref
│ │ ├── ReturnValueIgnored.expected
│ │ ├── ReturnValueIgnored.qlref
│ │ ├── UseImplicitNoneReturnValue.expected
│ │ ├── UseImplicitNoneReturnValue.qlref
│ │ └── functions_test.py
│ ├── Imports
│ ├── PyCheckerTests
│ │ ├── ImportandImportFrom.expected
│ │ ├── ImportandImportFrom.qlref
│ │ ├── ModuleImportsItself.expected
│ │ ├── ModuleImportsItself.qlref
│ │ ├── imports_test.py
│ │ ├── options
│ │ ├── pkg_notok
│ │ │ ├── __init__.py
│ │ │ └── bar.py
│ │ ├── pkg_ok
│ │ │ ├── __init__.py
│ │ │ ├── foo1.py
│ │ │ ├── foo2.py
│ │ │ ├── foo3.py
│ │ │ ├── foo4.py
│ │ │ └── foo5.py
│ │ ├── test_module.py
│ │ └── test_module2.py
│ ├── cyclic-module-annotations-fp
│ │ ├── ModuleLevelCyclicImport.expected
│ │ ├── ModuleLevelCyclicImport.qlref
│ │ ├── module1.py
│ │ ├── module2.py
│ │ ├── module3.py
│ │ └── module4.py
│ ├── cyclic-module-package-fp
│ │ ├── false-negative
│ │ │ ├── CyclicImport.expected
│ │ │ ├── CyclicImport.qlref
│ │ │ ├── ModuleLevelCyclicImport.expected
│ │ │ ├── ModuleLevelCyclicImport.qlref
│ │ │ ├── bar
│ │ │ │ ├── __init__.py
│ │ │ │ └── foo.py
│ │ │ ├── options
│ │ │ ├── package
│ │ │ │ ├── __init__.py
│ │ │ │ └── baz.py
│ │ │ └── test.py
│ │ └── true-negative
│ │ │ ├── CyclicImport.expected
│ │ │ ├── CyclicImport.qlref
│ │ │ ├── ModuleLevelCyclicImport.expected
│ │ │ ├── ModuleLevelCyclicImport.qlref
│ │ │ ├── bar
│ │ │ ├── __init__.py
│ │ │ └── foo.py
│ │ │ ├── options
│ │ │ ├── package
│ │ │ ├── __init__.py
│ │ │ └── baz.py
│ │ │ └── test.py
│ ├── cyclic-module
│ │ ├── CyclicImport.expected
│ │ ├── CyclicImport.qlref
│ │ ├── ModuleLevelCyclicImport.expected
│ │ ├── ModuleLevelCyclicImport.qlref
│ │ ├── main.py
│ │ ├── module1.py
│ │ ├── module10.py
│ │ ├── module2.py
│ │ ├── module3.py
│ │ ├── module4.py
│ │ ├── module5.py
│ │ ├── module6.py
│ │ ├── module7.py
│ │ ├── module8.py
│ │ ├── module9.py
│ │ └── typing.py
│ ├── deprecated
│ │ ├── DeprecatedModule.expected
│ │ ├── DeprecatedModule.qlref
│ │ └── test.py
│ ├── general
│ │ ├── FromImportOfMutableAttribute.expected
│ │ ├── FromImportOfMutableAttribute.qlref
│ │ ├── ImportShadowedByLoopVar.expected
│ │ ├── ImportShadowedByLoopVar.qlref
│ │ ├── ImportStarUsed.expected
│ │ ├── ImportStarUsed.qlref
│ │ ├── Imports.expected
│ │ ├── Imports.qlref
│ │ ├── MultipleImport.expected
│ │ ├── MultipleImport.qlref
│ │ ├── UnintentionalImport.expected
│ │ ├── UnintentionalImport.qlref
│ │ ├── imports_mutable.py
│ │ ├── imports_test.py
│ │ ├── module.py
│ │ ├── module1.py
│ │ ├── module2.py
│ │ ├── module_without_all.py
│ │ ├── mutable_attr.py
│ │ ├── mutates.py
│ │ ├── mutates_in_test.py
│ │ ├── options
│ │ └── unittest
│ │ │ └── __init__.py
│ └── unused
│ │ ├── UnusedImport.expected
│ │ ├── UnusedImport.qlref
│ │ ├── import_structure_1.py
│ │ ├── import_structure_2.py
│ │ ├── imports_test.py
│ │ └── options
│ ├── Lexical
│ ├── ToDoComment
│ │ ├── ToDoComment.expected
│ │ ├── ToDoComment.qlref
│ │ ├── lexical_test.py
│ │ └── todo.py
│ └── commented_out_code
│ │ ├── CommentedOutCode.expected
│ │ ├── CommentedOutCode.qlref
│ │ ├── FCommentedOutCode.expected
│ │ ├── FCommentedOutCode.qlref
│ │ └── test.py
│ ├── Metrics
│ ├── cyclo
│ │ ├── CyclomaticComplexity.expected
│ │ ├── CyclomaticComplexity.qlref
│ │ └── code.py
│ ├── duplicate
│ │ ├── duplicate_test.py
│ │ ├── similar.py
│ │ ├── with_import1.py
│ │ └── with_import2.py
│ ├── functions
│ │ ├── FunctionStatementNestingDepth.expected
│ │ ├── FunctionStatementNestingDepth.qlref
│ │ └── test.py
│ ├── imports
│ │ ├── DirectImports.expected
│ │ ├── DirectImports.qlref
│ │ ├── TransitiveImports.expected
│ │ ├── TransitiveImports.qlref
│ │ ├── entry.py
│ │ ├── module1.py
│ │ ├── module2.py
│ │ ├── module3.py
│ │ └── module4.py
│ ├── lines
│ │ ├── CommentRatio.expected
│ │ ├── CommentRatio.qlref
│ │ ├── FLinesOfCode.expected
│ │ ├── FLinesOfCode.qlref
│ │ └── lines.py
│ ├── ratios
│ │ ├── CodeRatio.expected
│ │ ├── CodeRatio.ql
│ │ ├── CommentRatio.expected
│ │ ├── CommentRatio.qlref
│ │ ├── DocStringRatio.expected
│ │ ├── DocStringRatio.qlref
│ │ └── doc_string.py
│ └── tests
│ │ ├── FNumberOfTests.expected
│ │ ├── FNumberOfTests.qlref
│ │ ├── pytest.py
│ │ └── test.py
│ ├── Numerics
│ ├── Pythagorean.expected
│ ├── Pythagorean.qlref
│ └── pythagorean_test.py
│ ├── Resources
│ ├── Dataflow.expected
│ ├── Dataflow.ql
│ ├── FileNotAlwaysClosed.expected
│ ├── FileNotAlwaysClosed.qlref
│ └── resources_test.py
│ ├── Security
│ ├── CVE-2018-1281
│ │ ├── BindToAllInterfaces.expected
│ │ ├── BindToAllInterfaces.qlref
│ │ ├── BindToAllInterfaces_test.py
│ │ └── options
│ ├── CWE-020-ExternalAPIs
│ │ ├── ExternalAPIsUsedWithUntrustedData.expected
│ │ ├── ExternalAPIsUsedWithUntrustedData.qlref
│ │ ├── UntrustedDataToExternalAPI.expected
│ │ ├── UntrustedDataToExternalAPI.qlref
│ │ └── test.py
│ ├── CWE-020
│ │ ├── IncompleteHostnameRegExp.expected
│ │ ├── IncompleteHostnameRegExp.qlref
│ │ ├── IncompleteUrlSubstringSanitization.expected
│ │ ├── IncompleteUrlSubstringSanitization.qlref
│ │ ├── hosttest.py
│ │ └── urltest.py
│ ├── CWE-022-PathInjection
│ │ ├── PathInjection.expected
│ │ ├── PathInjection.qlref
│ │ ├── path_injection.py
│ │ ├── test.py
│ │ └── test_chaining.py
│ ├── CWE-022-TarSlip
│ │ ├── TarSlip.expected
│ │ ├── TarSlip.qlref
│ │ ├── options
│ │ └── tarslip.py
│ ├── CWE-078-py2
│ │ ├── CommandInjection.expected
│ │ ├── CommandInjection.qlref
│ │ ├── command_injection.py
│ │ └── options
│ ├── CWE-078
│ │ ├── CommandInjection.expected
│ │ ├── CommandInjection.qlref
│ │ ├── command_injection.py
│ │ └── options
│ ├── CWE-079
│ │ ├── Jinja2WithoutEscaping.expected
│ │ ├── Jinja2WithoutEscaping.qlref
│ │ ├── ReflectedXss.expected
│ │ ├── ReflectedXss.qlref
│ │ ├── jinja2_escaping.py
│ │ ├── options
│ │ └── reflected_xss.py
│ ├── CWE-089
│ │ ├── SqlInjection.expected
│ │ ├── SqlInjection.qlref
│ │ └── sql_injection.py
│ ├── CWE-094
│ │ ├── CodeInjection.expected
│ │ ├── CodeInjection.qlref
│ │ └── code_injection.py
│ ├── CWE-209
│ │ ├── ExceptionInfo.expected
│ │ ├── ExceptionInfo.ql
│ │ ├── Exceptions.py
│ │ ├── StackTraceExposure.expected
│ │ ├── StackTraceExposure.qlref
│ │ ├── Stacktrace.py
│ │ ├── options
│ │ └── test.py
│ ├── CWE-215
│ │ ├── FlaskDebug.expected
│ │ ├── FlaskDebug.qlref
│ │ ├── options
│ │ ├── settings.py
│ │ └── test.py
│ ├── CWE-295-MissingHostKeyValidation
│ │ ├── MissingHostKeyValidation.expected
│ │ ├── MissingHostKeyValidation.qlref
│ │ └── paramiko_host_key.py
│ ├── CWE-295-RequestWithoutValidation
│ │ ├── RequestWithoutValidation.expected
│ │ ├── RequestWithoutValidation.qlref
│ │ ├── make_request.py
│ │ └── options
│ ├── CWE-312
│ │ ├── CleartextLogging.expected
│ │ ├── CleartextLogging.qlref
│ │ ├── CleartextStorage.expected
│ │ ├── CleartextStorage.qlref
│ │ ├── options
│ │ ├── password_in_cookie.py
│ │ └── test.py
│ ├── CWE-326
│ │ ├── WeakCryptoKey.expected
│ │ ├── WeakCryptoKey.qlref
│ │ ├── test_example.py
│ │ └── weak_crypto.py
│ ├── CWE-327-InsecureProtocol
│ │ ├── InsecureDefaultProtocol.expected
│ │ ├── InsecureDefaultProtocol.qlref
│ │ └── InsecureProtocol.py
│ ├── CWE-327
│ │ ├── BrokenCryptoAlgorithm.expected
│ │ ├── BrokenCryptoAlgorithm.qlref
│ │ ├── InsecureProtocol.expected
│ │ ├── InsecureProtocol.py
│ │ ├── InsecureProtocol.qlref
│ │ ├── TestNode.expected
│ │ ├── TestNode.ql
│ │ ├── options
│ │ ├── test_cryptography.py
│ │ └── test_pycrypto.py
│ ├── CWE-377
│ │ ├── InsecureTemporaryFile.expected
│ │ ├── InsecureTemporaryFile.py
│ │ ├── InsecureTemporaryFile.qlref
│ │ └── SecureTemporaryFile.py
│ ├── CWE-502
│ │ ├── UnsafeDeserialization.expected
│ │ ├── UnsafeDeserialization.qlref
│ │ └── unsafe_deserialization.py
│ ├── CWE-601
│ │ ├── UrlRedirect.expected
│ │ ├── UrlRedirect.qlref
│ │ ├── options
│ │ └── test.py
│ ├── CWE-732
│ │ ├── WeakFilePermissions.expected
│ │ ├── WeakFilePermissions.qlref
│ │ ├── options
│ │ └── test.py
│ ├── CWE-798
│ │ ├── HardcodedCredentials.expected
│ │ ├── HardcodedCredentials.qlref
│ │ └── test.py
│ └── lib
│ │ ├── Crypto
│ │ ├── Cipher
│ │ │ ├── AES.py
│ │ │ ├── ARC4.py
│ │ │ └── __init__.py
│ │ ├── PublicKey
│ │ │ ├── DSA.py
│ │ │ ├── RSA.py
│ │ │ └── __init__.py
│ │ └── __init__.py
│ │ ├── airspeed.py
│ │ ├── base64.py
│ │ ├── bottle.py
│ │ ├── cheetah
│ │ └── Template
│ │ │ └── __init__.py
│ │ ├── cherrypy
│ │ ├── __init__.py
│ │ └── _helper.py
│ │ ├── chevron.py
│ │ ├── cryptography
│ │ ├── __init__.py
│ │ └── hazmat
│ │ │ ├── __init__.py
│ │ │ └── primitives
│ │ │ ├── __init__.py
│ │ │ ├── asymmetric
│ │ │ ├── __init__.py
│ │ │ ├── dsa.py
│ │ │ ├── ec.py
│ │ │ └── rsa.py
│ │ │ └── ciphers
│ │ │ ├── __init__.py
│ │ │ └── algorithms.py
│ │ ├── dill.py
│ │ ├── django
│ │ ├── __init__.py
│ │ ├── conf
│ │ │ ├── __init__.py
│ │ │ └── urls.py
│ │ ├── db
│ │ │ ├── __init__.py
│ │ │ └── models
│ │ │ │ ├── __init__.py
│ │ │ │ └── expressions.py
│ │ ├── http
│ │ │ ├── __init__.py
│ │ │ ├── request.py
│ │ │ └── response.py
│ │ ├── shortcuts.py
│ │ ├── urls.py
│ │ └── views
│ │ │ ├── __init__.py
│ │ │ └── generic.py
│ │ ├── fabric
│ │ ├── __init__.py
│ │ ├── api.py
│ │ ├── connection.py
│ │ ├── group.py
│ │ └── tasks.py
│ │ ├── falcon
│ │ ├── __init__.py
│ │ ├── api.py
│ │ ├── request.py
│ │ └── response.py
│ │ ├── flask
│ │ ├── __init__.py
│ │ ├── globals.py
│ │ ├── urls.py
│ │ └── views.py
│ │ ├── invoke
│ │ ├── __init__.py
│ │ ├── context.py
│ │ └── tasks.py
│ │ ├── jinja2.py
│ │ ├── libxml2
│ │ └── __init__.py
│ │ ├── lxml
│ │ ├── __init__.py
│ │ └── etree.py
│ │ ├── marshall.py
│ │ ├── os
│ │ ├── __init__.py
│ │ └── path.py
│ │ ├── paramiko
│ │ ├── __init__.py
│ │ └── client.py
│ │ ├── pickle.py
│ │ ├── pyOpenSSL
│ │ ├── SSL.py
│ │ └── __init__.py
│ │ ├── pyramid
│ │ ├── __init__.py
│ │ ├── response.py
│ │ └── view.py
│ │ ├── requests.py
│ │ ├── subprocess.py
│ │ ├── tg.py
│ │ ├── tornado
│ │ ├── __init__.py
│ │ └── web.py
│ │ ├── traceback.py
│ │ ├── twisted
│ │ ├── __init__.py
│ │ └── web
│ │ │ ├── __init__.py
│ │ │ ├── http.py
│ │ │ └── resource.py
│ │ ├── yaml.py
│ │ └── zope
│ │ ├── __init__.py
│ │ └── interface
│ │ └── __init__.py
│ ├── Statements
│ ├── DocStrings
│ │ ├── DocStrings.expected
│ │ ├── DocStrings.py
│ │ └── DocStrings.qlref
│ ├── ReturnOrYieldOutsideFunction
│ │ ├── ReturnOrYieldOutsideFunction.expected
│ │ ├── ReturnOrYieldOutsideFunction.qlref
│ │ └── ReturnOrYieldOutsideFunction_test.py
│ ├── ReturnOrYieldOutsideOfFunction
│ │ └── ReturnOrYieldOutsideOfFunction.expected
│ ├── asserts
│ │ ├── AssertLiteralConstant.expected
│ │ ├── AssertLiteralConstant.qlref
│ │ ├── AssertOnTuple.expected
│ │ ├── AssertOnTuple.qlref
│ │ ├── SideEffectInAssert.expected
│ │ ├── SideEffectInAssert.qlref
│ │ ├── assert.py
│ │ └── side_effect.py
│ ├── exit
│ │ ├── UseOfExit.expected
│ │ ├── UseOfExit.qlref
│ │ └── test.py
│ ├── general
│ │ ├── BreakOrReturnInFinally.expected
│ │ ├── BreakOrReturnInFinally.qlref
│ │ ├── C_StyleParentheses.expected
│ │ ├── C_StyleParentheses.qlref
│ │ ├── ConstantInConditional.expected
│ │ ├── ConstantInConditional.qlref
│ │ ├── MismatchInMultipleAssignment.expected
│ │ ├── MismatchInMultipleAssignment.qlref
│ │ ├── ModificationOfLocals.expected
│ │ ├── ModificationOfLocals.qlref
│ │ ├── NestedLoopsSameVariable.expected
│ │ ├── NestedLoopsSameVariable.qlref
│ │ ├── NestedLoopsSameVariableWithReuse.expected
│ │ ├── NestedLoopsSameVariableWithReuse.qlref
│ │ ├── NonIteratorInForLoop.expected
│ │ ├── NonIteratorInForLoop.qlref
│ │ ├── RedundantAssignment.expected
│ │ ├── RedundantAssignment.qlref
│ │ ├── ShouldUseWithStatement.expected
│ │ ├── ShouldUseWithStatement.qlref
│ │ ├── StringConcatenationInLoop.expected
│ │ ├── StringConcatenationInLoop.qlref
│ │ ├── UnnecessaryDelete.expected
│ │ ├── UnnecessaryDelete.qlref
│ │ ├── UnnecessaryElseClause.expected
│ │ ├── UnnecessaryElseClause.qlref
│ │ ├── UnnecessaryPass.expected
│ │ ├── UnnecessaryPass.qlref
│ │ ├── nested.py
│ │ ├── performance.py
│ │ ├── statements_test.py
│ │ └── test.py
│ ├── no_effect
│ │ ├── StatementNoEffect.expected
│ │ ├── StatementNoEffect.qlref
│ │ ├── UnusedExceptionObject.expected
│ │ ├── UnusedExceptionObject.qlref
│ │ ├── assert_raises.py
│ │ ├── notebook.py
│ │ ├── options
│ │ └── test.py
│ ├── unreachable
│ │ ├── UnreachableCode.expected
│ │ ├── UnreachableCode.qlref
│ │ ├── imports.py
│ │ └── test.py
│ └── unreachable_nonlocal
│ │ ├── UnreachableCode.expected
│ │ ├── UnreachableCode.qlref
│ │ └── nonlocal.py
│ ├── Testing
│ ├── ImpreciseAssert.expected
│ ├── ImpreciseAssert.qlref
│ └── test.py
│ ├── Variables
│ ├── capture
│ │ ├── LoopVariableCapture.expected
│ │ ├── LoopVariableCapture.qlref
│ │ └── test.py
│ ├── general
│ │ ├── Global.expected
│ │ ├── Global.qlref
│ │ ├── GlobalAtModuleLevel.expected
│ │ ├── GlobalAtModuleLevel.qlref
│ │ ├── ShadowBuiltin.expected
│ │ ├── ShadowBuiltin.qlref
│ │ ├── ShadowGlobal.expected
│ │ ├── ShadowGlobal.qlref
│ │ ├── pytest
│ │ │ └── __init__.py
│ │ ├── random_string.py
│ │ └── variables_test.py
│ ├── multiple
│ │ ├── MultiplyDefined.expected
│ │ ├── MultiplyDefined.qlref
│ │ └── uselesscode_test.py
│ ├── undefined
│ │ ├── UndefinedExport.expected
│ │ ├── UndefinedExport.qlref
│ │ ├── UndefinedGlobal.expected
│ │ ├── UndefinedGlobal.py
│ │ ├── UndefinedGlobal.qlref
│ │ ├── UninitializedLocal.expected
│ │ ├── UninitializedLocal.py
│ │ ├── UninitializedLocal.qlref
│ │ ├── decorated_exports.py
│ │ ├── exports.py
│ │ ├── import_star.py
│ │ ├── module1.py
│ │ ├── odasa3987.py
│ │ ├── odasa6418.py
│ │ ├── odasa6800.py
│ │ ├── options
│ │ ├── regression.py
│ │ ├── tokens.py
│ │ ├── ud_helper.py
│ │ ├── unknown_import.py
│ │ ├── unknown_import_star.py
│ │ └── uses_exec.py
│ ├── unused
│ │ ├── SuspiciousUnusedLoopIterationVariable.expected
│ │ ├── SuspiciousUnusedLoopIterationVariable.qlref
│ │ ├── UnusedLocalVariable.expected
│ │ ├── UnusedLocalVariable.qlref
│ │ ├── UnusedModuleVariable.expected
│ │ ├── UnusedModuleVariable.qlref
│ │ ├── UnusedParameter.expected
│ │ ├── UnusedParameter.qlref
│ │ ├── lazy_import.py
│ │ ├── test.py
│ │ ├── type_annotation_fp.py
│ │ └── variables_test.py
│ └── unused_local_nonlocal
│ │ ├── UnusedLocalVariable.expected
│ │ ├── UnusedLocalVariable.qlref
│ │ └── variables_test.py
│ ├── analysis
│ ├── Consistency
│ │ ├── Consistency.expected
│ │ ├── Consistency.qlref
│ │ ├── package
│ │ │ └── __init__.py
│ │ └── test.py
│ ├── jump_to_defn
│ │ ├── Definitions.expected
│ │ ├── Definitions.qlref
│ │ ├── module.py
│ │ ├── package
│ │ │ ├── __init__.py
│ │ │ └── mod.py
│ │ └── test.py
│ ├── pointsto
│ │ ├── FailedInference.expected
│ │ ├── FailedInference.qlref
│ │ ├── KeyPointsToFailure.expected
│ │ ├── KeyPointsToFailure.qlref
│ │ ├── Pruned.expected
│ │ ├── Pruned.qlref
│ │ └── test.py
│ └── suppression
│ │ ├── AlertSuppression.expected
│ │ ├── AlertSuppression.qlref
│ │ ├── test.py
│ │ └── testWindows.py
│ └── options
├── tools
└── recorded-call-graph-metrics
│ ├── .flake8
│ ├── .gitignore
│ ├── .isort.cfg
│ ├── README.md
│ ├── example
│ ├── simple.py
│ └── simple.xml
│ ├── helper.sh
│ ├── projects.json
│ ├── ql
│ ├── lib
│ │ ├── BytecodeExpr.qll
│ │ └── RecordedCalls.qll
│ ├── qlpack.yml
│ └── query
│ │ ├── InternalMetrics.ql
│ │ ├── Metrics.ql
│ │ ├── PointsToFound.ql
│ │ ├── PointsToNotFound.ql
│ │ ├── UnidentifiedRecordedCalls.ql
│ │ └── UnknownOpcode.ql
│ ├── requirements.txt
│ ├── setup.py
│ ├── src
│ └── cg_trace
│ │ ├── __init__.py
│ │ ├── __main__.py
│ │ ├── bytecode_reconstructor.py
│ │ ├── cmdline.py
│ │ ├── exporter.py
│ │ ├── generate_bytecode_expr_qll.py
│ │ ├── main.py
│ │ ├── settings.py
│ │ ├── tracer.py
│ │ └── utils.py
│ └── tests
│ ├── create-test-db.sh
│ └── python-src
│ ├── BUILD_LIST.py
│ ├── BUILD_TUPLE.py
│ ├── CALL_FUNCTION_EX.py
│ ├── __getitem__.py
│ ├── builtins.py
│ ├── class-simple.py
│ ├── dict-get.py
│ ├── getsockname.py
│ ├── io-builtin.py
│ ├── iteration.py
│ ├── multiple-on-one-line.py
│ ├── problem-1.py
│ ├── problem-2.py
│ ├── simple.py
│ └── with-exit.py
└── upgrades
├── 62a30d37a729670a8cc3c67b4dad81f1983865f8
├── old.dbscheme
├── semmlecode.python.dbscheme
└── upgrade.properties
├── f635b392038a494915307f913657cd3058f9b476
├── old.dbscheme
├── py_exprs.ql
├── semmlecode.python.dbscheme
└── upgrade.properties
└── qlpack.yml
/.codeqlmanifest.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/.codeqlmanifest.json
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | [*]
2 | end_of_line = lf
3 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/.gitattributes
--------------------------------------------------------------------------------
/.github/labeler.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/.github/labeler.yml
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/.gitignore
--------------------------------------------------------------------------------
/.lgtm.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/.lgtm.yml
--------------------------------------------------------------------------------
/.vscode/.gitattributes:
--------------------------------------------------------------------------------
1 | *.json linguist-language=JSON-with-Comments
2 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/.vscode/extensions.json
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "omnisharp.autoStart": false
3 | }
4 |
--------------------------------------------------------------------------------
/.vscode/tasks.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/.vscode/tasks.json
--------------------------------------------------------------------------------
/CODEOWNERS:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/CODEOWNERS
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/CODE_OF_CONDUCT.md
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/CONTRIBUTING.md
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/LICENSE
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/README.md
--------------------------------------------------------------------------------
/config/opcode-qldoc.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/config/opcode-qldoc.py
--------------------------------------------------------------------------------
/config/sync-files.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/config/sync-files.py
--------------------------------------------------------------------------------
/cpp/ql/examples/queries.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/src/.project:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/cpp/ql/src/.project
--------------------------------------------------------------------------------
/cpp/ql/src/.qlpath:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/cpp/ql/src/.qlpath
--------------------------------------------------------------------------------
/cpp/ql/src/Options.qll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/cpp/ql/src/Options.qll
--------------------------------------------------------------------------------
/cpp/ql/src/cpp.qll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/cpp/ql/src/cpp.qll
--------------------------------------------------------------------------------
/cpp/ql/src/default.qll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/cpp/ql/src/default.qll
--------------------------------------------------------------------------------
/cpp/ql/src/objc.qll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/cpp/ql/src/objc.qll
--------------------------------------------------------------------------------
/cpp/ql/src/printAst.ql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/cpp/ql/src/printAst.ql
--------------------------------------------------------------------------------
/cpp/ql/src/qlpack.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/cpp/ql/src/qlpack.yml
--------------------------------------------------------------------------------
/cpp/ql/src/queries.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/.project:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/cpp/ql/test/.project
--------------------------------------------------------------------------------
/cpp/ql/test/.qlpath:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/cpp/ql/test/.qlpath
--------------------------------------------------------------------------------
/cpp/ql/test/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/cpp/ql/test/README.md
--------------------------------------------------------------------------------
/cpp/ql/test/examples/BadLocking/AV Rule 107.qlref:
--------------------------------------------------------------------------------
1 | jsf/4.13 Functions/AV Rule 107.ql
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/examples/expressions/ConvertVirtualFunctionPointer.cpp:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/examples/expressions/PrintAST.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/cpp/PrintAST.ql
--------------------------------------------------------------------------------
/cpp/ql/test/examples/expressions/ReferenceTo.cpp:
--------------------------------------------------------------------------------
1 | int& ReferenceTo(int *i) {
2 | return *i;
3 | }
--------------------------------------------------------------------------------
/cpp/ql/test/format.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/cpp/ql/test/format.json
--------------------------------------------------------------------------------
/cpp/ql/test/header-variant-tests/clang-pch/a.h:
--------------------------------------------------------------------------------
1 | #define ONE 1
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/header-variant-tests/clang-pch/b.h:
--------------------------------------------------------------------------------
1 | #define THREE 3
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/header-variant-tests/clang-pch/d.h:
--------------------------------------------------------------------------------
1 | enum { SEVENTEEN = 17 };
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/header-variant-tests/clang-pch/h1.h:
--------------------------------------------------------------------------------
1 |
2 | #define H1
3 |
4 |
--------------------------------------------------------------------------------
/cpp/ql/test/header-variant-tests/clang-pch/h2.h:
--------------------------------------------------------------------------------
1 |
2 | #define H2
3 |
4 |
--------------------------------------------------------------------------------
/cpp/ql/test/header-variant-tests/iquote/dir1/a.h:
--------------------------------------------------------------------------------
1 | static int dir1_a = __COUNTER__;
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/header-variant-tests/iquote/dir1/b.h:
--------------------------------------------------------------------------------
1 | static int dir1_b = __COUNTER__;
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/header-variant-tests/iquote/dir2/a.h:
--------------------------------------------------------------------------------
1 | static int dir2_a = __COUNTER__;
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/header-variant-tests/isysroot/other/b.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/header-variant-tests/isysroot/usr/include/a.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/header-variant-tests/microsoft-pch/a.h:
--------------------------------------------------------------------------------
1 | #define A 1
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/CPP-205/diags.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/CPP-206/CPP-206.expected:
--------------------------------------------------------------------------------
1 | | 0 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/CPP-206/CPP-206.ql:
--------------------------------------------------------------------------------
1 | import cpp
2 |
3 | select count(Diagnostic d)
4 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/CPP-207/CPP-207.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/CPP-207/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --edg --microsoft
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/abi/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --expect_errors
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/anachronisms/virtfunptrexpr.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/arguments/arguments.c:
--------------------------------------------------------------------------------
1 | // semmle-extractor-options: -Werror
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/atomic/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --clang
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/attributes/enumerators/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --clang
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/blocks/c/exprs.ql:
--------------------------------------------------------------------------------
1 | import cpp
2 |
3 | from Expr e
4 | select e
5 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/blocks/c/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: -fblocks
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/blocks/capture/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: -fblocks
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/blocks/cpp/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: -fblocks
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/blocks/deduplication/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: -fblocks
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/bugs/odasa-2709/one.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/bugs/odasa-2709/test1.c:
--------------------------------------------------------------------------------
1 | void foo(int x) {
2 | }
3 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/builtins/edg/intaddr.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/c_overload/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --clang
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/clang_builtin_macros/bar.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/clang_builtin_macros/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --edg --clang
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/clang_cpp14_17/test.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/clang_cpp14_17/test.ql:
--------------------------------------------------------------------------------
1 | select 1
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/comments/comments/shared2.c:
--------------------------------------------------------------------------------
1 |
2 | #include "shared.h"
3 |
4 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/conditions/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --expect_errors
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/conditions/vars.ql:
--------------------------------------------------------------------------------
1 | import cpp
2 |
3 | from Variable v
4 | select v
5 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/constants/.gitattributes:
--------------------------------------------------------------------------------
1 | constants.cpp text eol=lf
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/constants/addresses/addresses.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/controlflow/assume/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --microsoft
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/controlflow/controlflow/SsaCompleteness.expected:
--------------------------------------------------------------------------------
1 | | 0 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/controlflow/controlflow/SsaCorrespondence.expected:
--------------------------------------------------------------------------------
1 | | 0 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/controlflow/controlflow/SsaDominance.expected:
--------------------------------------------------------------------------------
1 | | 0 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/controlflow/controlflow/SsaUniqueness.expected:
--------------------------------------------------------------------------------
1 | | 0 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/controlflow/dominance/dominatedByStart.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/controlflow/dominance/dominatorExists.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/controlflow/dominance/dominatorUnique.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/conversions/consistency.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/cpp/ASTConsistency.ql
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/dataflow/DefaultTaintTracking/annotate_path_to_sink/tainted.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/dataflow/DefaultTaintTracking/annotate_sinks_only/tainted.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/dataflow/DefaultTaintTracking/globals/global.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/dataflow/additional-flow-to-parameter/standardFlow.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/dataflow/dataflow-tests/test.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/dataflow/fields/flow.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/dataflow/recursion/chained_use.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/dataflow/recursion/recursion.c:
--------------------------------------------------------------------------------
1 | void f() {
2 | }
3 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/dataflow/taint-tests/taint.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/defuse/definitionUsePairEquivalence.expected:
--------------------------------------------------------------------------------
1 | | 0 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/diagnostics/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --expect_errors
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/digraphs/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --gnu_version 40801
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/enums/multi_file/a.c:
--------------------------------------------------------------------------------
1 |
2 | enum foo {
3 | bar = 23
4 | };
5 |
6 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/files/c.c:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/funcdname/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --microsoft
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/functionpointerish/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: -fblocks
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/functions/fde_get_block/fde_get_block.expected:
--------------------------------------------------------------------------------
1 | | 3 | 4 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/identity_string/identity_string.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/includes/include_next/b/loop.h:
--------------------------------------------------------------------------------
1 |
2 | #include_next
3 |
4 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/includes/includes/bar.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/ir/constants/constants.cpp:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/ir/escape/escape.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/ir/escape/ssa_escape.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/ir/ir/PrintAST.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/cpp/PrintAST.ql
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/ir/ir/raw_ir.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/cpp/ir/implementation/raw/PrintIR.ql
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/ir/points_to/points_to.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_ir_unsound.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/cpp/ir/PrintIR.ql
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/ir/types/irtypes.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/lambdas/cfg/reachability.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/languages/a.c:
--------------------------------------------------------------------------------
1 |
2 | #include "h.h"
3 |
4 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/languages/h.h:
--------------------------------------------------------------------------------
1 |
2 | char *ns[3];
3 |
4 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/literals/aggregates/count.expected:
--------------------------------------------------------------------------------
1 | | 1594324 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/macros/affects/affects.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/macros/arguments/split1.h:
--------------------------------------------------------------------------------
1 | top(
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/macros/arguments/split2.h:
--------------------------------------------------------------------------------
1 | 1)
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/multiple_declarations/functions/arity2.c:
--------------------------------------------------------------------------------
1 | int f(int, int);
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/multiple_declarations/functions/count_f.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/multiple_declarations/macroinvocations/b.c:
--------------------------------------------------------------------------------
1 | #include "header.h"
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/opts/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --microsoft
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/parameters/parameters/Parameters2.expected:
--------------------------------------------------------------------------------
1 | | 0 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/permissive/accesses.expected:
--------------------------------------------------------------------------------
1 | | permissive.cpp:6:5:6:7 | str |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/predefines/expr.ql:
--------------------------------------------------------------------------------
1 | import cpp
2 |
3 | from Expr e
4 | select e
5 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/preprocessor/hashing/hashing/locb.c:
--------------------------------------------------------------------------------
1 |
2 | #include "loch.h"
3 |
4 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/preprocessor/macroinvocations/nested.h:
--------------------------------------------------------------------------------
1 |
2 | // ...
3 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/preprocessor/preprocessor/a.h:
--------------------------------------------------------------------------------
1 | #include_next "a.h"
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/preprocessor/preprocessor/more_headers/a.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/rangeanalysis/RangeSSA/RangeSsaCompleteness.expected:
--------------------------------------------------------------------------------
1 | | 0 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/rangeanalysis/RangeSSA/RangeSsaCorrespondence.expected:
--------------------------------------------------------------------------------
1 | | 0 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/rangeanalysis/RangeSSA/RangeSsaDominance.expected:
--------------------------------------------------------------------------------
1 | | 0 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/rangeanalysis/RangeSSA/RangeSsaUniqueness.expected:
--------------------------------------------------------------------------------
1 | | 0 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/scopes/scopes/Scopes2.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/templates/ambiguous_cctor/ambiguous_cctor.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/templates/isfromtemplateinstantiation/template_is_template.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/templates/prototype_bodies/add_expr.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/templates/prototype_bodies/call_operands.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/templates/prototype_bodies/initialiser.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/ti_compiler/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --edg --ti
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/type_sizes/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: -fblocks
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/typedefs/ODASA-6095.cpp:
--------------------------------------------------------------------------------
1 | #include "ODASA-6095-B.hpp"
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/typedefs/ODASA-6095.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/types/__wchar_t/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --microsoft
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/types/integral_types/integral_types.cpp:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/types/pointertypes/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: -std=c99
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/types/segfault/segfault.c:
--------------------------------------------------------------------------------
1 |
2 | void f(enum E *e) {
3 | }
4 |
5 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/unions/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --microsoft
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/unnamed/test.c:
--------------------------------------------------------------------------------
1 |
2 | int *a = (int[]){};
3 |
4 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/valuenumbering/GlobalValueNumbering/ast_uniqueness.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/valuenumbering/GlobalValueNumbering/ir_uniqueness.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/valuenumbering/HashCons/Uniqueness.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/variables/global/a.h:
--------------------------------------------------------------------------------
1 |
2 | extern int is[4];
3 |
4 |
--------------------------------------------------------------------------------
/cpp/ql/test/library-tests/variables/global/b.c:
--------------------------------------------------------------------------------
1 |
2 | #include "a.h"
3 |
4 |
--------------------------------------------------------------------------------
/cpp/ql/test/queries.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/AlertSuppression/.gitattributes:
--------------------------------------------------------------------------------
1 | tstWindows.c eol=crlf
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/AlertSuppression/AlertSuppression.qlref:
--------------------------------------------------------------------------------
1 | AlertSuppression.ql
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/Best Practices/Unused Entities/UnusedIncludes/g:
--------------------------------------------------------------------------------
1 | // g
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/Critical/DeadCodeGoto/DeadCodeGoto.qlref:
--------------------------------------------------------------------------------
1 | Critical/DeadCodeGoto.ql
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/Critical/MemoryFreed/MemoryMayNotBeFreed.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/Critical/NewFree/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --microsoft
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/Critical/SizeCheck/SizeCheck.qlref:
--------------------------------------------------------------------------------
1 | Critical/SizeCheck.ql
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/Critical/SizeCheck/SizeCheck2.qlref:
--------------------------------------------------------------------------------
1 | Critical/SizeCheck2.ql
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/Security/CWE/CWE-119/semmle/tests/OffsetUseBeforeRangeCheck.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/Security/CWE/CWE-119/semmle/tests/OverrunWrite.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/Security/CWE/CWE-119/semmle/tests/OverrunWriteFloat.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/Summary/LinesOfCode.expected:
--------------------------------------------------------------------------------
1 | | 93 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/Summary/LinesOfCode.qlref:
--------------------------------------------------------------------------------
1 | Summary/LinesOfCode.ql
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/Summary/empty-file.cpp:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/definitions/definitions.qlref:
--------------------------------------------------------------------------------
1 | definitions.ql
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/definitions/include.h:
--------------------------------------------------------------------------------
1 | // include.h
2 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/definitions/locationInfo.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/jsf/4.06 Pre-Processing Directives/AV Rule 32/test.H:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/jsf/4.06 Pre-Processing Directives/AV Rule 32/test.xpm:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/jsf/4.06 Pre-Processing Directives/AV Rule 32/test2.c:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/jsf/4.07 Header Files/AV Rule 35/data.h:
--------------------------------------------------------------------------------
1 | 3, 4, 5
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/jsf/4.09 Style/AV Rule 53 54/test:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/jsf/4.09 Style/AV Rule 53 54/test'.c:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/jsf/4.09 Style/AV Rule 53 54/test'.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/jsf/4.09 Style/AV Rule 53 54/test.H:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/jsf/4.09 Style/AV Rule 53 54/test.abc:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/jsf/4.09 Style/AV Rule 53 54/test.c++:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/query-tests/jsf/4.09 Style/AV Rule 53 54/test.hpp:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/successor-tests/dostmt/dostmt03.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/successor-tests/dostmt/dostmt05.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/successor-tests/forstmt/shortforstmt/shortforstmt03.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/successor-tests/forstmt/shortforstmt/shortforstmt05.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/successor-tests/ifstmt/ifelsestmt/ifelsestmt03.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/successor-tests/ifstmt/ifelsestmt/ifelsestmt05.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/successor-tests/ifstmt/ifstmt/ifstmt03.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/successor-tests/ifstmt/ifstmt/ifstmt05.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/successor-tests/whilestmt/whilestmt03.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpp/ql/test/successor-tests/whilestmt/whilestmt05.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/csharp/.editorconfig:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/csharp/.editorconfig
--------------------------------------------------------------------------------
/csharp/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/csharp/.gitignore
--------------------------------------------------------------------------------
/csharp/CSharp.sln:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/csharp/CSharp.sln
--------------------------------------------------------------------------------
/csharp/ql/examples/queries.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/src/default.qll:
--------------------------------------------------------------------------------
1 | import csharp
2 |
--------------------------------------------------------------------------------
/csharp/ql/src/experimental/ir/PrintIR.qll:
--------------------------------------------------------------------------------
1 | import implementation.unaliased_ssa.PrintIR
2 |
--------------------------------------------------------------------------------
/csharp/ql/src/experimental/ir/implementation/raw/internal/desugar/Using.qll:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/src/queries.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/.gitignore:
--------------------------------------------------------------------------------
1 | csharp.log
2 | db
3 | output
4 | tmpdb*
5 |
--------------------------------------------------------------------------------
/csharp/ql/test/experimental/ir/ir/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/arguments/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/assemblies/assemblies.expected:
--------------------------------------------------------------------------------
1 | | Test passed |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/assignments/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/attributes/Attributes1.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/attributes/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/cil/pdbs/Pdbs.cs:
--------------------------------------------------------------------------------
1 | // semmle-extractor-options: --cil --pdb
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/comments/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/compilations/CompilerError.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/compilations/CompilerError.qlref:
--------------------------------------------------------------------------------
1 | Diagnostics/CompilerError.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/compilations/CompilerMessage.qlref:
--------------------------------------------------------------------------------
1 | Diagnostics/CompilerMessage.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/compilations/ExtractorError.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/compilations/ExtractorMessage.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/constructors/Constructors1.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/constructors/Constructors2.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/constructors/Constructors4.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/constructors/Destructors2.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/constructors/Destructors3.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/constructors/Destructors4.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/constructors/Destructors5.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/constructors/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/conversion/operator/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/csharp6/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/csharp7.1/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/csharp7.2/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/csharp7.3/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/csharp7/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/csharp8/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/csharp9/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/dataflow/defuse/defUseEquivalence.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/dataflow/defuse/parameterUseEquivalence.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/dataflow/defuse/useUseEquivalence.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/dataflow/signanalysis/MissingSign.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/dataflow/ssa-large/countssa.expected:
--------------------------------------------------------------------------------
1 | | 5002 | 2500 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/dataflow/ssa/BaseSsaConsistency.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/dataflow/ssa/SsaConsistency.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/dataflow/tuples/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/definitions/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/definitions/definitions.qlref:
--------------------------------------------------------------------------------
1 | definitions.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/delegates/Delegates3.expected:
--------------------------------------------------------------------------------
1 | | ContextCallback |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/delegates/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/dynamic/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/encoding/sbcs.expected:
--------------------------------------------------------------------------------
1 | | 0 | \ufffd |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/enums/Enums4.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/enums/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/events/Events10.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/events/Events11.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/events/Events12.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/events/Events5.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/events/Events6.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/events/Events8.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/events/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/exceptions/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/expressions/Cast3.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/expressions/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/extractor/longstrings/LongStrings.expected:
--------------------------------------------------------------------------------
1 | | Test passed |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/fields/Constants4.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/fields/Fields10.expected:
--------------------------------------------------------------------------------
1 | | MaxValue | Decimal |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/fields/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/filters/ClassifyFiles/File.g.cs:
--------------------------------------------------------------------------------
1 |
2 | class C4
3 | {
4 | }
5 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/generatedcode/file.cs:
--------------------------------------------------------------------------------
1 |
2 | class C1
3 | {
4 | }
5 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/generatedcode/file.designer.cs:
--------------------------------------------------------------------------------
1 |
2 | class C2
3 | {
4 | }
5 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/generatedcode/file.feature.cs:
--------------------------------------------------------------------------------
1 |
2 | class C3
3 | {
4 | }
5 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/generatedcode/file.g.cs:
--------------------------------------------------------------------------------
1 |
2 | class C4
3 | {
4 | }
5 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/generics/ConsistencyChecks.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/generics/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/goto/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/indexers/Indexers1.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/indexers/Indexers11.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/indexers/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/initializers/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/linq/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/members/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/methods/Parameters4.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/methods/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/namespaces/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/nestedtypes/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/operators/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/partial/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/properties/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/properties/Properties14.expected:
--------------------------------------------------------------------------------
1 | | Count |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/regressions/DanglingFieldAccess.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/Block1.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/Block2.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/Block3.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/Do1.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/For1.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/Foreach1.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/If1.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/Lock1.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/TryCatch1.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/Using1.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/While1.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/YieldBreak1.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/YieldReturn1.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/YieldReturn2.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/statements/YieldReturn3.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/types/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/types/Types36.expected:
--------------------------------------------------------------------------------
1 | | System.Collections.IEnumerable |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/library-tests/unsafe/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/csharp/PrintAst.ql
--------------------------------------------------------------------------------
/csharp/ql/test/queries.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/query-tests/AlertSuppression/AlertSuppression.qlref:
--------------------------------------------------------------------------------
1 | AlertSuppression.ql
--------------------------------------------------------------------------------
/csharp/ql/test/query-tests/Concurrency/LockOrder/LockOrder.qlref:
--------------------------------------------------------------------------------
1 | Concurrency/LockOrder.ql
--------------------------------------------------------------------------------
/csharp/ql/test/query-tests/Concurrency/LockThis/LockThis.qlref:
--------------------------------------------------------------------------------
1 | Concurrency/LockThis.ql
--------------------------------------------------------------------------------
/csharp/ql/test/query-tests/Concurrency/LockedWait/LockedWait.qlref:
--------------------------------------------------------------------------------
1 | Concurrency/LockedWait.ql
--------------------------------------------------------------------------------
/csharp/ql/test/query-tests/Dead Code/Tests/DeadRefTypes.qlref:
--------------------------------------------------------------------------------
1 | Dead Code/DeadRefTypes.ql
--------------------------------------------------------------------------------
/csharp/ql/test/query-tests/Dead Code/Tests/UnusedField.qlref:
--------------------------------------------------------------------------------
1 | Dead Code/UnusedField.ql
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/query-tests/Dead Code/Tests/UnusedMethod.qlref:
--------------------------------------------------------------------------------
1 | Dead Code/UnusedMethod.ql
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/query-tests/Documentation/XmldocMissing.qlref:
--------------------------------------------------------------------------------
1 | Documentation/XmldocMissing.ql
--------------------------------------------------------------------------------
/csharp/ql/test/query-tests/Language Abuse/NestedIf/NestedIf.qlref:
--------------------------------------------------------------------------------
1 | Language Abuse/NestedIf.ql
--------------------------------------------------------------------------------
/csharp/ql/test/query-tests/Nullness/NullAlways.qlref:
--------------------------------------------------------------------------------
1 | CSI/NullAlways.ql
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/query-tests/Nullness/NullMaybe.qlref:
--------------------------------------------------------------------------------
1 | CSI/NullMaybe.ql
2 |
--------------------------------------------------------------------------------
/csharp/ql/test/query-tests/Security Features/CWE-016/ASPNetPagesValidateRequest/Program.cs:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/csharp/ql/test/query-tests/Security Features/CWE-016/ASPNetRequestValidationMode/Program.cs:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/csharp/ql/test/query-tests/UseBraces/UseBraces.qlref:
--------------------------------------------------------------------------------
1 | Likely Bugs/Statements/UseBraces.ql
2 |
--------------------------------------------------------------------------------
/docs/codeql/conf.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/docs/codeql/conf.py
--------------------------------------------------------------------------------
/docs/codeql/ql-language-reference/.gitignore:
--------------------------------------------------------------------------------
1 | _build
2 |
3 |
--------------------------------------------------------------------------------
/docs/codeql/ql-training/_static-training/slides-semmle-2/title_slide.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/codeql/vale-styles/Microsoft/vocab.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/experimental.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/docs/experimental.md
--------------------------------------------------------------------------------
/java/ql/examples/queries.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/java/ql/src/.project:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/java/ql/src/.project
--------------------------------------------------------------------------------
/java/ql/src/.qlpath:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/java/ql/src/.qlpath
--------------------------------------------------------------------------------
/java/ql/src/Likely Bugs/Arithmetic/OctalLiteral.java:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/src/default.qll:
--------------------------------------------------------------------------------
1 | /** DEPRECATED: use `java.qll` instead. */
2 |
3 | import java
4 |
--------------------------------------------------------------------------------
/java/ql/src/java.qll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/java/ql/src/java.qll
--------------------------------------------------------------------------------
/java/ql/src/queries.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/java/ql/src/semmle/code/java/deadcode/DeadCodeCustomizations.qll:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/java/ql/test/.qlpath:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/java/ql/test/.qlpath
--------------------------------------------------------------------------------
/java/ql/test/experimental/query-tests/security/CWE-548/A.java:
--------------------------------------------------------------------------------
1 | public class A {
2 | }
3 |
--------------------------------------------------------------------------------
/java/ql/test/experimental/query-tests/security/CWE-555/A.java:
--------------------------------------------------------------------------------
1 | public class A {
2 | }
3 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/JDK/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/arrays/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/collections/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/comments/.gitattributes:
--------------------------------------------------------------------------------
1 | TestWindows.java eol=crlf
2 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/comments/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/constants/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/constructors/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/controlflow/dominance/dominanceBad.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/controlflow/dominance/dominanceWrong.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/controlflow/dominance/dominatedByStart.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/controlflow/dominance/dominatorExists.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/controlflow/dominance/dominatorUnique.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/dataflow/fluent-methods/flow.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/dependency-counts/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/dependency/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/fields/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/frameworks/android/manifest/Test.java:
--------------------------------------------------------------------------------
1 | class Test {}
2 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/frameworks/apache-http/flow.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/frameworks/guava/flow.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/generics/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/guards12/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/java7/Diamond/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/java7/MultiCatch/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/javadoc/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/modifiers/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/printAst/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/properties/Test.java:
--------------------------------------------------------------------------------
1 | public class Test { }
2 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/qlengine/castAtType.expected:
--------------------------------------------------------------------------------
1 | | Tst.java:2:8:2:12 | field |
2 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/reflection/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/ssa-large/countssa.expected:
--------------------------------------------------------------------------------
1 | | 5002 | 2500 |
2 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/successors/CloseReaderTest/FalseSuccessors.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/successors/TestThrow2/FalseSuccessors.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/successors/TestTryWithResources/FalseSuccessors.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/test/library-tests/typeaccesses/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/library-tests/varargs/PrintAst.qlref:
--------------------------------------------------------------------------------
1 | semmle/code/java/PrintAst.ql
--------------------------------------------------------------------------------
/java/ql/test/queries.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/java/ql/test/query-tests/AlertSuppression/.gitattributes:
--------------------------------------------------------------------------------
1 | TestWindows.java eol=crlf
2 |
--------------------------------------------------------------------------------
/java/ql/test/query-tests/AlertSuppression/AlertSuppression.qlref:
--------------------------------------------------------------------------------
1 | AlertSuppression.ql
2 |
--------------------------------------------------------------------------------
/java/ql/test/query-tests/BadCheckOdd/BadCheckOdd.qlref:
--------------------------------------------------------------------------------
1 | Likely Bugs/Arithmetic/BadCheckOdd.ql
--------------------------------------------------------------------------------
/java/ql/test/query-tests/BusyWait/BusyWait.qlref:
--------------------------------------------------------------------------------
1 | Likely Bugs/Concurrency/BusyWait.ql
--------------------------------------------------------------------------------
/java/ql/test/query-tests/DeadCode/NonAssignedFields/NonAssignedFields.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/test/query-tests/DefineEqualsWhenAddingFields/DefineEqualsWhenAddingFields.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/test/query-tests/EqualsArray/EqualsArray.qlref:
--------------------------------------------------------------------------------
1 | Likely Bugs/Comparison/EqualsArray.ql
--------------------------------------------------------------------------------
/java/ql/test/query-tests/EqualsUsesInstanceOf/EqualsUsesInstanceOf.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/java/ql/test/query-tests/Iterable/WrappedIterator.qlref:
--------------------------------------------------------------------------------
1 | Language Abuse/WrappedIterator.ql
2 |
--------------------------------------------------------------------------------
/java/ql/test/query-tests/UseBraces/UseBraces.qlref:
--------------------------------------------------------------------------------
1 | Likely Bugs/Statements/UseBraces.ql
2 |
--------------------------------------------------------------------------------
/java/ql/test/query-tests/UselessUpcast/UselessUpcast.qlref:
--------------------------------------------------------------------------------
1 | Language Abuse/UselessUpcast.ql
--------------------------------------------------------------------------------
/java/ql/test/query-tests/dead-code/DeadCallable/DeadCallable.qlref:
--------------------------------------------------------------------------------
1 | DeadCode/DeadMethod.ql
2 |
--------------------------------------------------------------------------------
/java/ql/test/query-tests/dead-code/DeadField/DeadField.qlref:
--------------------------------------------------------------------------------
1 | DeadCode/DeadField.ql
2 |
--------------------------------------------------------------------------------
/java/ql/test/query-tests/dead-code/DeadMethod/DeadMethod.qlref:
--------------------------------------------------------------------------------
1 | DeadCode/DeadMethod.ql
2 |
--------------------------------------------------------------------------------
/java/ql/test/query-tests/definitions/definitions.qlref:
--------------------------------------------------------------------------------
1 | definitions.ql
2 |
--------------------------------------------------------------------------------
/java/ql/test/query-tests/security/CWE-1104/semmle/tests/A.java:
--------------------------------------------------------------------------------
1 | public class A {
2 | }
3 |
--------------------------------------------------------------------------------
/java/ql/test/query-tests/security/CWE-829/semmle/tests/A.java:
--------------------------------------------------------------------------------
1 | public class A {
2 | }
3 |
--------------------------------------------------------------------------------
/java/ql/test/stubs/apache-http-4.4.13/org/apache/http/util/ByteBuffer.java:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/config/suites/javascript/compatibility:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/config/suites/javascript/frameworks-core:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/lib/typescript/.gitignore:
--------------------------------------------------------------------------------
1 | build
2 | dist
3 |
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test1.fail:
--------------------------------------------------------------------------------
1 | Unexpected token (1:4)
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test1.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test10.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test14.js:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test15.js:
--------------------------------------------------------------------------------
1 | {/* this is a comment */}
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test16.js:
--------------------------------------------------------------------------------
1 | @test content
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test2.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test21.js:
--------------------------------------------------------------------------------
1 | () < x;
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test22.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test23.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test3.fail:
--------------------------------------------------------------------------------
1 | Unexpected token (1:3)
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test3.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test31.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test4.fail:
--------------------------------------------------------------------------------
1 | Unexpected token (1:7)
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test4.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test5.ast:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test5.js:
--------------------------------------------------------------------------------
1 | {/* foo */}
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test6.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test7.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/parser-tests/jcorn-jsx/test8.js:
--------------------------------------------------------------------------------
1 | {value}
--------------------------------------------------------------------------------
/javascript/extractor/tests/cfg/input/classexpr1.js:
--------------------------------------------------------------------------------
1 | !class {};
--------------------------------------------------------------------------------
/javascript/extractor/tests/cfg/input/classexpr2.js:
--------------------------------------------------------------------------------
1 | !class A {};
--------------------------------------------------------------------------------
/javascript/extractor/tests/cfg/input/classexpr3.js:
--------------------------------------------------------------------------------
1 | !class extends B {};
--------------------------------------------------------------------------------
/javascript/extractor/tests/cfg/input/classexpr4.js:
--------------------------------------------------------------------------------
1 | !class A extends B {};
--------------------------------------------------------------------------------
/javascript/extractor/tests/cfg/input/seq.js:
--------------------------------------------------------------------------------
1 | if(x,1+2,y||z);
--------------------------------------------------------------------------------
/javascript/extractor/tests/cfg/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "experimental": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/comments/input/empty_comment.js:
--------------------------------------------------------------------------------
1 | /**/
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/e4x/input/regress.js:
--------------------------------------------------------------------------------
1 | [ x in y ]
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/e4x/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "experimental": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/encoding/input/unicode.js:
--------------------------------------------------------------------------------
1 | "Semmlé"
--------------------------------------------------------------------------------
/javascript/extractor/tests/encoding/input/zwsp.js:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/errors/input/empty.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/errors/input/errors.js:
--------------------------------------------------------------------------------
1 | hi~~
--------------------------------------------------------------------------------
/javascript/extractor/tests/errors/input/incomplete.js:
--------------------------------------------------------------------------------
1 | if (b) {
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/errors/input/invalid-assignment-pattern.js:
--------------------------------------------------------------------------------
1 | (x = 0) = y
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/errors/input/json.js:
--------------------------------------------------------------------------------
1 | {
2 | "a": 42
3 | }
--------------------------------------------------------------------------------
/javascript/extractor/tests/errors/input/kwident.js:
--------------------------------------------------------------------------------
1 | var class = 23;
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/errors/input/weirdassign.js:
--------------------------------------------------------------------------------
1 | a %*= 1
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/array_pattern_with_default.js:
--------------------------------------------------------------------------------
1 | [x=42] = [];
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/class_extends.js:
--------------------------------------------------------------------------------
1 | class Point extends Object {}
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/classdecl.js:
--------------------------------------------------------------------------------
1 | class Point {}
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/classexpr.js:
--------------------------------------------------------------------------------
1 | (class Point {})
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/complex_array_pattern.js:
--------------------------------------------------------------------------------
1 | [o.x] = [42];
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/complex_object_pattern.js:
--------------------------------------------------------------------------------
1 | ({ x: o.x } = q);
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/const.js:
--------------------------------------------------------------------------------
1 | const x = 23;
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/defaultargs.js:
--------------------------------------------------------------------------------
1 | function f(x, y=x+19) {}
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/export1.js:
--------------------------------------------------------------------------------
1 | export var x = 23;
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/export10.js:
--------------------------------------------------------------------------------
1 | export default function f () {} [,]
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/export11.js:
--------------------------------------------------------------------------------
1 | export default class {}
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/export2.js:
--------------------------------------------------------------------------------
1 | export function f() {};
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/export3.js:
--------------------------------------------------------------------------------
1 | export default function f() {};
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/export4.js:
--------------------------------------------------------------------------------
1 | export default function () {};
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/export6.js:
--------------------------------------------------------------------------------
1 | export * from 'foo';
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/export7.js:
--------------------------------------------------------------------------------
1 | export { x, y as z } from 'foo';
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/export8.js:
--------------------------------------------------------------------------------
1 | foo = 42;
2 | export default foo;
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/export9.js:
--------------------------------------------------------------------------------
1 | export default class C {} [,]
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/import1.js:
--------------------------------------------------------------------------------
1 | import x from 'foo';
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/import2.js:
--------------------------------------------------------------------------------
1 | import { y } from 'foo';
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/import3.js:
--------------------------------------------------------------------------------
1 | import { y as z } from 'foo';
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/import4.js:
--------------------------------------------------------------------------------
1 | import x, { y as z } from 'foo';
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/import5.js:
--------------------------------------------------------------------------------
1 | import * as foo from 'foo';
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/import6.js:
--------------------------------------------------------------------------------
1 | import 'foo';
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/let2.js:
--------------------------------------------------------------------------------
1 | let /* **/ x = 42;
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/no-substitution.js:
--------------------------------------------------------------------------------
1 | ``
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/property_pattern_with_default.js:
--------------------------------------------------------------------------------
1 | ({x = 1}) => x;
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/restparms.js:
--------------------------------------------------------------------------------
1 | function f(x, ...ys) {
2 | }
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/restparms2.js:
--------------------------------------------------------------------------------
1 | function f(x, ...[y, z]) {
2 | }
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/spreadelement.js:
--------------------------------------------------------------------------------
1 | [a, ...as];
2 | new Array(...elts);
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2015/input/yield2.js:
--------------------------------------------------------------------------------
1 | function* f() {
2 | yield;
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2016/input/exp.js:
--------------------------------------------------------------------------------
1 | 1**0
2 | x**=2
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2016/input/usestrict.js:
--------------------------------------------------------------------------------
1 | function f(a=2) { 'use strict'; }
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2017/input/invalid-async-fn.js:
--------------------------------------------------------------------------------
1 | f = async ((x)) => x
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2017/input/shorthand-prop-async.js:
--------------------------------------------------------------------------------
1 | ({ async });
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2017/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "experimental": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2018/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "experimental": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/es2021/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "experimental": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/esnext/input/optional-chaining_bad1.js:
--------------------------------------------------------------------------------
1 | new a?.();
--------------------------------------------------------------------------------
/javascript/extractor/tests/esnext/input/optional-chaining_bad2.js:
--------------------------------------------------------------------------------
1 | a?.`{b}`;
--------------------------------------------------------------------------------
/javascript/extractor/tests/esnext/input/optional-chaining_bad3.js:
--------------------------------------------------------------------------------
1 | new a?.b();
--------------------------------------------------------------------------------
/javascript/extractor/tests/esnext/input/optional-chaining_bad4.js:
--------------------------------------------------------------------------------
1 | a?.b`{c}`;
--------------------------------------------------------------------------------
/javascript/extractor/tests/esnext/input/optional-chaining_bad5.js:
--------------------------------------------------------------------------------
1 | a?.b = c;
--------------------------------------------------------------------------------
/javascript/extractor/tests/esnext/input/optional-chaining_bad6.js:
--------------------------------------------------------------------------------
1 | new a.b?.c();
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/esnext/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "experimental": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/excludes/input/.jshintignore:
--------------------------------------------------------------------------------
1 | f/bar*.js
2 | baz/
3 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/excludes/input/a.js:
--------------------------------------------------------------------------------
1 | 42
--------------------------------------------------------------------------------
/javascript/extractor/tests/excludes/input/baz/a.js:
--------------------------------------------------------------------------------
1 | console.log("Nor this.");
--------------------------------------------------------------------------------
/javascript/extractor/tests/excludes/input/f/bar.js:
--------------------------------------------------------------------------------
1 | console.log("And neither will this.");
--------------------------------------------------------------------------------
/javascript/extractor/tests/excludes/input/f/empty.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/javascript/extractor/tests/exprs/input/fnnesting.js:
--------------------------------------------------------------------------------
1 | f(function(){}, 23);
--------------------------------------------------------------------------------
/javascript/extractor/tests/exprs/input/parens.js:
--------------------------------------------------------------------------------
1 | --(NaN);
--------------------------------------------------------------------------------
/javascript/extractor/tests/exprs/input/update.js:
--------------------------------------------------------------------------------
1 | ++a;
2 | a++;
3 | --b;
4 | b--;
5 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/extensions/input/tst.es6:
--------------------------------------------------------------------------------
1 | console.log("Hello ES6");
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/extensions/input/tst2.es:
--------------------------------------------------------------------------------
1 | console.log("Hello ES");
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/extensions/input/tst4.cjs:
--------------------------------------------------------------------------------
1 | console.log("Hello CommonJS");
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/externs/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "externs": true
3 | }
--------------------------------------------------------------------------------
/javascript/extractor/tests/flow/input/anonFunctionOptionalParm.js:
--------------------------------------------------------------------------------
1 | var f = (x?:int) => {};
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/flow/input/boundExplicitTypeParameters.js:
--------------------------------------------------------------------------------
1 | var b = ::o.m;
--------------------------------------------------------------------------------
/javascript/extractor/tests/flow/input/notExplicitTypeParameters1.js:
--------------------------------------------------------------------------------
1 | 1<2>(3);
--------------------------------------------------------------------------------
/javascript/extractor/tests/flow/input/notExplicitTypeParameters2.js:
--------------------------------------------------------------------------------
1 | f(h());
--------------------------------------------------------------------------------
/javascript/extractor/tests/flow/input/notExplicitTypeParameters3.js:
--------------------------------------------------------------------------------
1 | /x/<2>(3);
--------------------------------------------------------------------------------
/javascript/extractor/tests/flow/input/qualifiedInterface.js:
--------------------------------------------------------------------------------
1 | interface I extends J.K {}
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/flow/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "experimental": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/functionbind/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "experimental": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/helloworld/input/hello.js:
--------------------------------------------------------------------------------
1 | alert("Hello, world!");
--------------------------------------------------------------------------------
/javascript/extractor/tests/html/input/doctype.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/jscript/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "experimental": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/json/input/array.json:
--------------------------------------------------------------------------------
1 | []
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/json/input/empty.json:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/json/input/error.json:
--------------------------------------------------------------------------------
1 | {
--------------------------------------------------------------------------------
/javascript/extractor/tests/json/input/f/ignored.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/javascript/extractor/tests/json/input/invalid.json:
--------------------------------------------------------------------------------
1 | {
2 | x: 23
3 | }
--------------------------------------------------------------------------------
/javascript/extractor/tests/json/input/neg.json:
--------------------------------------------------------------------------------
1 | -1
--------------------------------------------------------------------------------
/javascript/extractor/tests/json/input/neg2.json:
--------------------------------------------------------------------------------
1 | [1, -2]
--------------------------------------------------------------------------------
/javascript/extractor/tests/json/input/null.json:
--------------------------------------------------------------------------------
1 | null
--------------------------------------------------------------------------------
/javascript/extractor/tests/json/input/omitted.json:
--------------------------------------------------------------------------------
1 | {
2 | "x": [ , 23 ]
3 | }
--------------------------------------------------------------------------------
/javascript/extractor/tests/jsx/input/err1.jsx:
--------------------------------------------------------------------------------
1 | >
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/jsx/input/err2.jsx:
--------------------------------------------------------------------------------
1 | <>
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/jsx/input/err3.jsx:
--------------------------------------------------------------------------------
1 | >
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/jsx/input/err4.jsx:
--------------------------------------------------------------------------------
1 | <>
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/jsx/input/tst.jsx:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/jsx/input/tst2.js:
--------------------------------------------------------------------------------
1 | /b>
--------------------------------------------------------------------------------
/javascript/extractor/tests/keywords/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "experimental": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/moduleTypes1/input/tst.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/moduleTypes2/input/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": 123
3 | }
--------------------------------------------------------------------------------
/javascript/extractor/tests/moduleTypes2/input/tst2.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/moduleTypes3/input/package.json:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/moduleTypes3/input/tst.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/mozilla/input/letStmt2.js:
--------------------------------------------------------------------------------
1 | let (x = 0) 1
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/mozilla/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "experimental": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ng-templates/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "experimental": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/node/input/constlet.js:
--------------------------------------------------------------------------------
1 | const x = 23;
2 | let y = 42;
--------------------------------------------------------------------------------
/javascript/extractor/tests/node/input/empty:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/node/input/f/ignored.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/javascript/extractor/tests/node/input/f/package.json:
--------------------------------------------------------------------------------
1 | "i get extracted"
--------------------------------------------------------------------------------
/javascript/extractor/tests/node/input/tst.mjs:
--------------------------------------------------------------------------------
1 | var x;
--------------------------------------------------------------------------------
/javascript/extractor/tests/node/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "nodejs": true
3 | }
--------------------------------------------------------------------------------
/javascript/extractor/tests/project-layout:
--------------------------------------------------------------------------------
1 | **/ql/javascript/extractor/tests/*/input//
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/rcfiles/input/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "sourceType": "module"
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/rcfiles/input/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "parser": "babel-eslint"
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/rcfiles/input/.npmrc:
--------------------------------------------------------------------------------
1 | page-lock=false
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/regexp/input/nonstandard.js:
--------------------------------------------------------------------------------
1 | /dice/y;
--------------------------------------------------------------------------------
/javascript/extractor/tests/regexp/input/tst.js:
--------------------------------------------------------------------------------
1 | /\u{10400}/;
2 | /\c/;
3 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/restprops/input/tst.js:
--------------------------------------------------------------------------------
1 | var f = ({...p}) => {};
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/restprops/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "experimental": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/shebang/input/tst.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/node
2 | alert("Hi!");
--------------------------------------------------------------------------------
/javascript/extractor/tests/shebang/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "typescript": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/stmts/input/trivial-switch.js:
--------------------------------------------------------------------------------
1 | switch(x){}
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/strictmode/input/tst.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | ;
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/arrayBindingPattern.ts:
--------------------------------------------------------------------------------
1 | let [x,y] = [1,2]
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/badimport.ts:
--------------------------------------------------------------------------------
1 | import n = 5;
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/bindingpattern.ts:
--------------------------------------------------------------------------------
1 | function foo({x, y}) {}
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/bom.ts:
--------------------------------------------------------------------------------
1 | 42
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/declareClass.ts:
--------------------------------------------------------------------------------
1 | declare class C {}
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/emptydecls.ts:
--------------------------------------------------------------------------------
1 | var;
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/export2.ts:
--------------------------------------------------------------------------------
1 | export default 42;
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/exportassign.ts:
--------------------------------------------------------------------------------
1 | export = 42;
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/exportclass.ts:
--------------------------------------------------------------------------------
1 | export class {}
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/importassign.ts:
--------------------------------------------------------------------------------
1 | import x = require("./exportassign");
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/invalidModuleSpecifier.ts:
--------------------------------------------------------------------------------
1 | import * as x from `x`;
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/omitted.ts:
--------------------------------------------------------------------------------
1 | [, ,1];
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/regexp.ts:
--------------------------------------------------------------------------------
1 | /a/
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/templates.ts:
--------------------------------------------------------------------------------
1 | `url("${ctx.expected.image}")`
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/touchstone-file2.ts:
--------------------------------------------------------------------------------
1 | [Version] 2.0
2 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/unicode.ts:
--------------------------------------------------------------------------------
1 | // Ø α
2 | // ࢢ
3 | // 𝄞
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/input/xmlfile.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/ts/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "experimental": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/v8/input/tst.js:
--------------------------------------------------------------------------------
1 | %CheckIsBootstrapping();
2 | a%%NumberAdd(1, 2);
--------------------------------------------------------------------------------
/javascript/extractor/tests/v8/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "experimental": true
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/extractor/tests/variables/input/const.js:
--------------------------------------------------------------------------------
1 | const answer = 42;
--------------------------------------------------------------------------------
/javascript/ql/examples/queries.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/javascript/ql/src/DOM/examples/PseudoEval.js:
--------------------------------------------------------------------------------
1 | setTimeout("notifyUser();", 1000);
--------------------------------------------------------------------------------
/javascript/ql/src/DOM/examples/PseudoEvalGood.js:
--------------------------------------------------------------------------------
1 | setTimeout(notifyUser, 1000);
--------------------------------------------------------------------------------
/javascript/ql/src/Expressions/examples/ExprHasNoEffect.js:
--------------------------------------------------------------------------------
1 | elem.parentNode.selectedIndex;
2 |
--------------------------------------------------------------------------------
/javascript/ql/src/Expressions/examples/RedundantExpressionGood2.js:
--------------------------------------------------------------------------------
1 | if (f())
2 | f();
--------------------------------------------------------------------------------
/javascript/ql/src/Expressions/examples/ShiftOutOfRange.js:
--------------------------------------------------------------------------------
1 | var x = 1<<40;
--------------------------------------------------------------------------------
/javascript/ql/src/Expressions/examples/ShiftOutOfRangeGood.js:
--------------------------------------------------------------------------------
1 | var x = Math.pow(2, 40);
--------------------------------------------------------------------------------
/javascript/ql/src/LanguageFeatures/examples/EmptyArrayInitGood.js:
--------------------------------------------------------------------------------
1 | var a = new Array(10);
--------------------------------------------------------------------------------
/javascript/ql/src/LanguageFeatures/examples/OctalLiteral.js:
--------------------------------------------------------------------------------
1 | var code = 012;
--------------------------------------------------------------------------------
/javascript/ql/src/RegExp/examples/UnboundBackref.js:
--------------------------------------------------------------------------------
1 | /^(?:\s+)\w+\1$/;
2 |
--------------------------------------------------------------------------------
/javascript/ql/src/queries.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/javascript/ql/src/semmle/javascript/dependencies/DependencyCustomizations.qll:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/javascript/ql/src/semmle/javascript/frameworks/TestingCustomizations.qll:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/argprops/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/argprops/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "argprops"
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/async-await/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/bound-args/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/branching-flow/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/classes/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/ctor-arg/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/ctor-arg/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ctor-arg"
3 | }
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/custom-entry-point/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/cyclic/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/cyclic/VerifyAssertions.ql:
--------------------------------------------------------------------------------
1 | import ApiGraphs.VerifyAssertions
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/dynamic-prop-read/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/imprecise-export/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/imprecision/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/imprecision/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "imprecision"
3 | }
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/namespaced-package/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/nested-property-export/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/nonlocal/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/partial-invoke/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/promises/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/promisify/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/property-read-from-argument/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/reexport/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/reexport/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "reexport"
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/return-self/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/return-self/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "return-self"
3 | }
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/typed/VerifyAssertions.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/ApiGraphs/typed/VerifyAssertions.ql:
--------------------------------------------------------------------------------
1 | import ApiGraphs.VerifyAssertions
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/experimental/Security/CWE-094/empty.js:
--------------------------------------------------------------------------------
1 | console.log('test')
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/AMD/dir/b.js:
--------------------------------------------------------------------------------
1 | define({
2 | bar: 42
3 | });
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/AMD/lib/foo.js:
--------------------------------------------------------------------------------
1 | define({
2 | foo: 23
3 | });
4 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Bundling/d.js:
--------------------------------------------------------------------------------
1 | // nothing
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/CFG/enum.ts:
--------------------------------------------------------------------------------
1 | enum E { a = 'value' }
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/CFG/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --experimental
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/CallGraphs/FullTest/tst2.js:
--------------------------------------------------------------------------------
1 | var globalfn = null;
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Classes/fields.js:
--------------------------------------------------------------------------------
1 | class C {
2 | x;
3 | y = 42
4 | }
5 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Classes/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --experimental
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Constants/tst2.ts:
--------------------------------------------------------------------------------
1 | let value = 1;
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/DOM/tst-without-html-root-element.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/DefUse/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --experimental
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/ES20xxFeatures/es2016.js:
--------------------------------------------------------------------------------
1 | x **= y ** z;
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/ESLint/sub/subsub/tst.js:
--------------------------------------------------------------------------------
1 | aWritableGlobal;
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/ESLint/sub/tst.js:
--------------------------------------------------------------------------------
1 | aWritableGlobal;
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/ESLint/tst.js:
--------------------------------------------------------------------------------
1 | aWritableGlobal;
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Errors/tst.js:
--------------------------------------------------------------------------------
1 | while
2 | }
3 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Expr/mozextensions.js:
--------------------------------------------------------------------------------
1 | array.map(function(x) x+1);
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Expr/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --experimental
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Expr/update.js:
--------------------------------------------------------------------------------
1 | ++a;
2 | a++;
3 | --b;
4 | b--;
5 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/FileTypes/jsTest.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/FileTypes/jsxTest.jsx:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/FileTypes/mjsTest.mjs:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/FileTypes/test.htm:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/FileTypes/test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/FileTypes/test.json:
--------------------------------------------------------------------------------
1 | 42
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/FileTypes/test.raml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/FileTypes/test.vue:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/FileTypes/test.xhtm:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/FileTypes/test.xhtml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/FileTypes/test.yaml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/FileTypes/test.yml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/FileTypes/tsTest.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/FileTypes/tsxTest.tsx:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Files/a.js:
--------------------------------------------------------------------------------
1 | a
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Files/b/c.js:
--------------------------------------------------------------------------------
1 | c
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Flow/a2.js:
--------------------------------------------------------------------------------
1 | export * from './a';
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Flow/d.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | foo: "bar"
3 | };
4 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Flow/f.js:
--------------------------------------------------------------------------------
1 | exports.f = function() {};
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Flow/mixins.js:
--------------------------------------------------------------------------------
1 | export default ParentClass => {};
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Flow/namespace-reexport.js:
--------------------------------------------------------------------------------
1 | export * as h from './h';
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Flow/o.js:
--------------------------------------------------------------------------------
1 | export default someStuff();
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Flow/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --experimental
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Flow/reexport-d.js:
--------------------------------------------------------------------------------
1 | export * from './d';
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Flow/reexport-mixins.js:
--------------------------------------------------------------------------------
1 | export default from './mixins';
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Flow/ts.ts:
--------------------------------------------------------------------------------
1 | export default class A {}
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Functions/defaultargs.js:
--------------------------------------------------------------------------------
1 | function f(x, y=x+19) {}
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Functions/exprclosures.js:
--------------------------------------------------------------------------------
1 | a.map(function(x) x+1);
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Functions/restparms.js:
--------------------------------------------------------------------------------
1 | function r(x, ...ys) {
2 | }
3 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Generators/DataFlow.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/HTML/HtmlScript/tst.js:
--------------------------------------------------------------------------------
1 | not_inline
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/IIFE/es2015.js:
--------------------------------------------------------------------------------
1 | (function(...xs) {
2 | })(23);
3 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/InterProceduralFlow/fake-document.js:
--------------------------------------------------------------------------------
1 | document = {};
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/InterProceduralFlow/global-forin2.js:
--------------------------------------------------------------------------------
1 | var sink3 = p;
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Lines/tst2.js:
--------------------------------------------------------------------------------
1 | first_line
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/MalformedPackageJson/nullContents/package.json:
--------------------------------------------------------------------------------
1 | null
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/ModuleTypes/mjs.mjs:
--------------------------------------------------------------------------------
1 | console.log("I'm a .mjs file!");
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/ModuleTypes/modulePackage/subdir/subfile.js:
--------------------------------------------------------------------------------
1 | console.log();
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/ModuleTypes/script.js:
--------------------------------------------------------------------------------
1 | console.log("I'm a plain script!");
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Modules/g.ts:
--------------------------------------------------------------------------------
1 | import {foo} from './f'
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Modules/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --experimental
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Modules/reExportNamespace.js:
--------------------------------------------------------------------------------
1 | export * as ns from "./a";
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/NPM/src/lib/tst2.js:
--------------------------------------------------------------------------------
1 | require("..");
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/NPM/src/node_modules/a/index.js:
--------------------------------------------------------------------------------
1 | exports.name = "outer a";
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/NPM/src/node_modules/b/lib/index.js:
--------------------------------------------------------------------------------
1 | export default 42;
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/NPM/src/node_modules/b/lib/util.ts:
--------------------------------------------------------------------------------
1 | export default 42;
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/NPM/src/node_modules/c/src/index.js:
--------------------------------------------------------------------------------
1 | export default "c";
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/NPM/src/node_modules/d/main.js:
--------------------------------------------------------------------------------
1 | export default "d";
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/NPM/src/tst2.js:
--------------------------------------------------------------------------------
1 | require(".");
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/NodeJS/f.js:
--------------------------------------------------------------------------------
1 | var r = require;
2 | r("fs");
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Portals/src/m1/index.js:
--------------------------------------------------------------------------------
1 | module.exports = (x) => x;
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Portals/src/m1/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "m1"
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Portals/src/m3/tst.js:
--------------------------------------------------------------------------------
1 | require(".")();
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Portals/src/m4/index.js:
--------------------------------------------------------------------------------
1 | exports.foo = function(x) {};
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/Portals/src/m4/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "m4"
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/RangeAnalysis/DeadBranch.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/ArrayTypes/tsconfig.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/BaseTypes/tsconfig.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/BigInts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {"include": ["."]}
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/CallResolution/tsconfig.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/CallSignatureTypes/tsconfig.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/CompiledOutput/index.js:
--------------------------------------------------------------------------------
1 | export default 45;
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/DeclarationFiles/tsconfig.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/DynamicImport/DynamicImport.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/ExpansiveTypes/dummy.ts:
--------------------------------------------------------------------------------
1 | export let x = 1;
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/ExpansiveTypes/tsconfig.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/HeritageClauses/Unreachable.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/ImportMeta/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/LexicalTypes/dummy.ts:
--------------------------------------------------------------------------------
1 | export let x = 5;
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/LexicalTypes/tsconfig.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/Namespaces/CheckGlobals.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/QualifiedNameResolution/dummy.ts:
--------------------------------------------------------------------------------
1 | export var X = 5;
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/QualifiedNameResolution/tsconfig.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/RegressionTests/MissingTypeRoot/tst.ts:
--------------------------------------------------------------------------------
1 | let x = 5;
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/RegressionTests/RecursiveTypeAlias/Test.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/RegressionTests/TypeRootFile/tst.ts:
--------------------------------------------------------------------------------
1 | let x = 5;
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/RegressionTests/TypeRootFile/typeroot.d.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeScript/TypeVariableTypes/tsconfig.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/TypeTracking/TypeTracking.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/XML/tst.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/YAML/err.yaml:
--------------------------------------------------------------------------------
1 | "unterminated string
2 |
3 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/YAML/external.yml:
--------------------------------------------------------------------------------
1 | 42
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/frameworks/AngularJS/controllers/template1.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/frameworks/AngularJS/controllers/template3.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/frameworks/AngularJS/controllers/template4.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/frameworks/ClientRequests/tsconfig.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/frameworks/Emscripten/tts.js:
--------------------------------------------------------------------------------
1 | // EMSCRITPEN_START_ASM
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/frameworks/Express/RouteHandlerContainer.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/frameworks/jQuery/tsconfig.json:
--------------------------------------------------------------------------------
1 | {"include": ["."]}
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/meta/Extraction/tst.js:
--------------------------------------------------------------------------------
1 | console.log("extract me")
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/meta/Extraction/tst2.js:
--------------------------------------------------------------------------------
1 | console.log("extract me")
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/library-tests/meta/Extraction/tst3.ts:
--------------------------------------------------------------------------------
1 | console.log("extract me too");
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/queries.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/AngularJS/UseNgSrc/UseNgSrc.qlref:
--------------------------------------------------------------------------------
1 | AngularJS/UseNgSrc.ql
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/DOM/Alert/Alert.qlref:
--------------------------------------------------------------------------------
1 | DOM/Alert.ql
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/DOM/HTML/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --html elements
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/DOM/PseudoEval/PseudoEval.qlref:
--------------------------------------------------------------------------------
1 | DOM/PseudoEval.ql
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/DOM/TargetBlank/TargetBlank.qlref:
--------------------------------------------------------------------------------
1 | DOM/TargetBlank.ql
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Declarations/MissingVarDecl/test2.js:
--------------------------------------------------------------------------------
1 | var y;
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Declarations/RedeclaredVariable/redeclaredVariable2.js:
--------------------------------------------------------------------------------
1 | var x;
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Declarations/UnreachableOverloads/tsconfig.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Expressions/ExprHasNoEffect/jsonlike.js:
--------------------------------------------------------------------------------
1 | ["foo", "bar", 123]
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/JSDoc/BadParamTag/BadParamTag.qlref:
--------------------------------------------------------------------------------
1 | JSDoc/BadParamTag.ql
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/LanguageFeatures/Eval/Eval.qlref:
--------------------------------------------------------------------------------
1 | LanguageFeatures/Eval.ql
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/LanguageFeatures/SyntaxError/arrows.js:
--------------------------------------------------------------------------------
1 | (a, a) => a + a;
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Metrics/ExternalDependencies/src/sub/c.js:
--------------------------------------------------------------------------------
1 | require('lib1');
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Metrics/FLinesOfCode/FLinesOfCode.qlref:
--------------------------------------------------------------------------------
1 | Metrics/FLinesOfCode.ql
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/NodeJS/CyclicImport/CyclicImport.qlref:
--------------------------------------------------------------------------------
1 | NodeJS/CyclicImport.ql
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/NodeJS/CyclicImport/selfimport.js:
--------------------------------------------------------------------------------
1 | require('./selfimport');
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/NodeJS/CyclicImport/test1/b.js:
--------------------------------------------------------------------------------
1 | require('../test2/inner/a');
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/NodeJS/CyclicImport/test2/inner/a.js:
--------------------------------------------------------------------------------
1 | require('../../test1/a');
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/NodeJS/DubiousImport/c.js:
--------------------------------------------------------------------------------
1 | exports.bar = 23;
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/NodeJS/DubiousImport/g.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./e');
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/NodeJS/UnresolvableImport/src/m.js:
--------------------------------------------------------------------------------
1 | $.prototype.foo = 42;
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Performance/ReDoS/ReDoS.qlref:
--------------------------------------------------------------------------------
1 | Performance/ReDoS.ql
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/Consistency.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Security/CWE-078/Consistency.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Security/CWE-079/DomBasedXss/ConsistencyDomBasedXss.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Security/CWE-079/ExceptionXss/ConsistencyExceptionXss.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ConsistencyReflectedXss.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Security/CWE-079/StoredXss/ConsistencyStoredXss.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Security/CWE-089/untyped/Consistency.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Security/CWE-200/subfolder/package.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Security/CWE-313/tst.raml:
--------------------------------------------------------------------------------
1 | password: string
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Security/CWE-601/ClientSideUrlRedirect/tsconfig.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Security/CWE-611/Xxe.qlref:
--------------------------------------------------------------------------------
1 | Security/CWE-611/Xxe.ql
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Security/CWE-776/XmlBomb.qlref:
--------------------------------------------------------------------------------
1 | Security/CWE-776/XmlBomb.ql
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/tsconfig.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/WrongExtensionJSON/tst1.js:
--------------------------------------------------------------------------------
1 | {
2 | "x": 42
3 | }
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/WrongExtensionJSON/tst2.js:
--------------------------------------------------------------------------------
1 | ["x", 42]
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/WrongExtensionJSON/tst3.json:
--------------------------------------------------------------------------------
1 | {
2 | "x": 42
3 | }
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/definitions/c.js:
--------------------------------------------------------------------------------
1 | module.exports = 42;
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/definitions/definitions.qlref:
--------------------------------------------------------------------------------
1 | definitions.ql
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/definitions/m.js:
--------------------------------------------------------------------------------
1 | export class A {}
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/definitions/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "include": ["."]
3 | }
4 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/external/DuplicateFunction/DuplicateFunction.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/external/DuplicateToplevel/DuplicateToplevel.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/external/DuplicateToplevel/c.js:
--------------------------------------------------------------------------------
1 | console.log("Hello, world.");
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/external/DuplicateToplevel/d.js:
--------------------------------------------------------------------------------
1 | console.log("Hello, world.");
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/external/SimilarFunction/SimilarFunction.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/external/SimilarToplevel/SimilarToplevel.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/filters/ClassifyFiles/1.js:
--------------------------------------------------------------------------------
1 | var x = 42;
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/filters/ClassifyFiles/ai.1.2.3-build0123.js:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/filters/ClassifyFiles/bundle-directive.js:
--------------------------------------------------------------------------------
1 | "bundle";
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/filters/ClassifyFiles/implementation.js:
--------------------------------------------------------------------------------
1 | var x = 42;
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/filters/ClassifyFiles/nonbmp.js:
--------------------------------------------------------------------------------
1 | 😼😼
2 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/filters/ClassifyFiles/not-unannotated-externs-1.js:
--------------------------------------------------------------------------------
1 | var x = 1;
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/filters/ClassifyFiles/not-unannotated-externs-2.js:
--------------------------------------------------------------------------------
1 | o['p'];
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/filters/ClassifyFiles/tst-min.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/filters/ClassifyFiles/tst.min.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/filters/ClassifyFiles/tst_min.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/filters/ClassifyFiles/unannotated-externs-1.js:
--------------------------------------------------------------------------------
1 | var x;
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/filters/ClassifyFiles/unannotated-externs-2.js:
--------------------------------------------------------------------------------
1 | o.p;
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/filters/ClassifyFiles/unannotated-externs-3.js:
--------------------------------------------------------------------------------
1 | var x;
2 | o.p;
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/filters/ClassifyFiles/unannotated-externs-4.js:
--------------------------------------------------------------------------------
1 | var x, y;
--------------------------------------------------------------------------------
/javascript/ql/test/query-tests/filters/ClassifyFiles/unannotated-externs-6.js:
--------------------------------------------------------------------------------
1 | o.p.q;
--------------------------------------------------------------------------------
/misc/emacs/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/misc/emacs/README.md
--------------------------------------------------------------------------------
/misc/vim/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lecoursen/codeql/HEAD/misc/vim/README.md
--------------------------------------------------------------------------------
/python/ql/examples/queries.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/python/ql/src/Imports/ImportTwiceOnALine.py:
--------------------------------------------------------------------------------
1 | import xxx, yyy
2 |
--------------------------------------------------------------------------------
/python/ql/src/Statements/DocStrings.py:
--------------------------------------------------------------------------------
1 | def add(x, y):
2 | return x + y
--------------------------------------------------------------------------------
/python/ql/src/Variables/MultiplyDefined.py:
--------------------------------------------------------------------------------
1 | x = 42
2 | x = 12
3 | print x
--------------------------------------------------------------------------------
/python/ql/src/queries.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/python/ql/src/semmle/python/dataflow/Configuration.qll:
--------------------------------------------------------------------------------
1 | import old.Configuration
2 |
--------------------------------------------------------------------------------
/python/ql/src/semmle/python/dataflow/DataFlow.qll:
--------------------------------------------------------------------------------
1 | import old.DataFlow
2 |
--------------------------------------------------------------------------------
/python/ql/src/semmle/python/dataflow/Files.qll:
--------------------------------------------------------------------------------
1 | import old.Files
2 |
--------------------------------------------------------------------------------
/python/ql/src/semmle/python/dataflow/Implementation.qll:
--------------------------------------------------------------------------------
1 | import old.Implementation
2 |
--------------------------------------------------------------------------------
/python/ql/src/semmle/python/dataflow/Legacy.qll:
--------------------------------------------------------------------------------
1 | import old.Legacy
2 |
--------------------------------------------------------------------------------
/python/ql/src/semmle/python/dataflow/StateTracking.qll:
--------------------------------------------------------------------------------
1 | import old.StateTracking
2 |
--------------------------------------------------------------------------------
/python/ql/src/semmle/python/dataflow/TaintTracking.qll:
--------------------------------------------------------------------------------
1 | import old.TaintTracking
2 |
--------------------------------------------------------------------------------
/python/ql/test/2/library-tests/backticks/test.expected:
--------------------------------------------------------------------------------
1 | | 1 |
2 |
--------------------------------------------------------------------------------
/python/ql/test/2/library-tests/comprehensions/ConsistencyCheck.expected:
--------------------------------------------------------------------------------
1 | | 0 |
--------------------------------------------------------------------------------
/python/ql/test/2/library-tests/locations/general/AllLocations.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/2/library-tests/modules/general/assistant.py:
--------------------------------------------------------------------------------
1 |
2 | e = 5
3 |
4 |
--------------------------------------------------------------------------------
/python/ql/test/2/library-tests/modules/general/confused_elements/a.py:
--------------------------------------------------------------------------------
1 |
2 | b = 1
--------------------------------------------------------------------------------
/python/ql/test/2/library-tests/modules/general/test_star.py:
--------------------------------------------------------------------------------
1 | from test_package import *
--------------------------------------------------------------------------------
/python/ql/test/2/library-tests/modules/package_members/test_package/module3.py:
--------------------------------------------------------------------------------
1 | import sys
--------------------------------------------------------------------------------
/python/ql/test/2/library-tests/objects/Literals.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/2/library-tests/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --lang=2
2 |
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Classes/equals-hash/EqualsOrHash.qlref:
--------------------------------------------------------------------------------
1 | Classes/EqualsOrHash.ql
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Classes/undefined-attribute/UndefinedClassAttribute.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Exceptions/general/CatchingBaseException.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Exceptions/general/EmptyExcept.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Exceptions/general/IllegalExceptionHandlerType.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Exceptions/general/IllegalRaise.qlref:
--------------------------------------------------------------------------------
1 | Exceptions/IllegalRaise.ql
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Exceptions/general/IncorrectExceptOrder.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Expressions/UseofApply.qlref:
--------------------------------------------------------------------------------
1 | Expressions/UseofApply.ql
2 |
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Expressions/UseofInput.qlref:
--------------------------------------------------------------------------------
1 | Expressions/UseofInput.ql
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Functions/DeprecatedSliceMethod.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Imports/encoding_error/EncodingError.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Imports/syntax_error/EncodingError.qlref:
--------------------------------------------------------------------------------
1 | Imports/EncodingError.ql
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Imports/syntax_error/SyntaxError.qlref:
--------------------------------------------------------------------------------
1 | Imports/SyntaxError.ql
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Lexical/OldOctalLiteral.qlref:
--------------------------------------------------------------------------------
1 | Lexical/OldOctalLiteral.ql
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Statements/ExecUsed.qlref:
--------------------------------------------------------------------------------
1 | Statements/ExecUsed.ql
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Statements/TopLevelPrint.qlref:
--------------------------------------------------------------------------------
1 | Statements/TopLevelPrint.ql
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Statements/fake_six.py:
--------------------------------------------------------------------------------
1 |
2 |
3 | string_types = str,
4 |
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Variables/undefined/UndefinedGlobal.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Variables/undefined/UninitializedLocal.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/2/query-tests/Variables/undefined/package/module.py:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/python/ql/test/3/library-tests/PointsTo/import_time/Pruned.expected:
--------------------------------------------------------------------------------
1 | | 28 |
2 | | 42 |
--------------------------------------------------------------------------------
/python/ql/test/3/library-tests/classes/meta/meta.expected:
--------------------------------------------------------------------------------
1 | | ClassExpr | Meta |
--------------------------------------------------------------------------------
/python/ql/test/3/library-tests/locations/general/AllLocations.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/3/library-tests/modules/general/assistant.py:
--------------------------------------------------------------------------------
1 |
2 | e = 5
3 |
4 |
--------------------------------------------------------------------------------
/python/ql/test/3/library-tests/modules/general/confused_elements/a.py:
--------------------------------------------------------------------------------
1 |
2 | b = 1
--------------------------------------------------------------------------------
/python/ql/test/3/library-tests/modules/general/test_star.py:
--------------------------------------------------------------------------------
1 | from package import *
--------------------------------------------------------------------------------
/python/ql/test/3/library-tests/modules/package_members/test_package/module3.py:
--------------------------------------------------------------------------------
1 | import sys
--------------------------------------------------------------------------------
/python/ql/test/3/library-tests/modules/package_members/test_package/module5.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/3/library-tests/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --lang=3
2 |
--------------------------------------------------------------------------------
/python/ql/test/3/query-tests/Classes/equals-hash/EqualsOrHash.qlref:
--------------------------------------------------------------------------------
1 | Classes/EqualsOrHash.ql
--------------------------------------------------------------------------------
/python/ql/test/3/query-tests/Classes/undefined-attribute/UndefinedClassAttribute.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/3/query-tests/Expressions/Formatting/WrongNumberArgumentsForFormat.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/3/query-tests/Expressions/TruncatedDivision/TruncatedDivision.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/3/query-tests/Expressions/UseofApply/UseofApply.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/3/query-tests/Imports/encoding_error/EncodingError.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/3/query-tests/Imports/syntax_error/EncodingError.qlref:
--------------------------------------------------------------------------------
1 | Imports/EncodingError.ql
--------------------------------------------------------------------------------
/python/ql/test/3/query-tests/Imports/syntax_error/SyntaxError.qlref:
--------------------------------------------------------------------------------
1 | Imports/SyntaxError.ql
--------------------------------------------------------------------------------
/python/ql/test/3/query-tests/Imports/syntax_error/test.py:
--------------------------------------------------------------------------------
1 | print "Hello World"
2 |
--------------------------------------------------------------------------------
/python/ql/test/3/query-tests/Statements/general/ExecUsed.qlref:
--------------------------------------------------------------------------------
1 | Statements/ExecUsed.ql
--------------------------------------------------------------------------------
/python/ql/test/3/query-tests/Statements/unreachable/UnreachableCode.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/3/query-tests/Statements/unreachable_suppressed/UnreachableCode.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/3/query-tests/Variables/undefined/UninitializedLocal.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/3/query-tests/Variables/undefined/package/module.py:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/ApiGraphs-py2/use.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/ApiGraphs/mypkg/__init__.py:
--------------------------------------------------------------------------------
1 | foo = 42
2 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/ApiGraphs/mypkg/bar.py:
--------------------------------------------------------------------------------
1 | pass
2 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/ApiGraphs/mypkg/foo.py:
--------------------------------------------------------------------------------
1 | pass
2 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/ApiGraphs/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --lang=3
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/ApiGraphs/use.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/basic/localFlowStepTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/basic/maximalFlowTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/coverage/argumentRoutingTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/coverage/dataflowTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/global-flow/accesses.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/global-flow/known.py:
--------------------------------------------------------------------------------
1 | known_attr = [1000]
2 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/import-helper/mypkg/__init__.py:
--------------------------------------------------------------------------------
1 | foo = 42
2 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/import-helper/mypkg/bar.py:
--------------------------------------------------------------------------------
1 | pass
2 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/import-helper/mypkg/foo.py:
--------------------------------------------------------------------------------
1 | pass
2 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/pep_328/__init__.py:
--------------------------------------------------------------------------------
1 | pass
2 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/pep_328/package/__init__.py:
--------------------------------------------------------------------------------
1 | bar = "bar"
2 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/pep_328/package/moduleA.py:
--------------------------------------------------------------------------------
1 | foo = "foo"
2 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/pep_328/package/subpackage1/moduleY.py:
--------------------------------------------------------------------------------
1 | spam = "spam"
2 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/pep_328/package/subpackage2/__init__.py:
--------------------------------------------------------------------------------
1 | pass
2 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/pep_328/package/subpackage2/moduleZ.py:
--------------------------------------------------------------------------------
1 | eggs = "eggs"
2 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/typetracking/tracked.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/dataflow/variable-capture/CaptureTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/library-tests/CallGraph-implicit-init/foo_explicit/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/experimental/library-tests/CallGraph/code/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/ControlFlow/PointsToSupport/UseFromDefinition.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/ControlFlow/dominators/idom.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/ControlFlow/general/ImmediateDominatorCheck.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/ControlFlow/truefalse/TrueAndFalseSuccessor.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/PointsTo/absent/module.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/PointsTo/import_star/nested/__init__.py:
--------------------------------------------------------------------------------
1 | from .nested import *
--------------------------------------------------------------------------------
/python/ql/test/library-tests/PointsTo/imports/package/module2.py:
--------------------------------------------------------------------------------
1 | x = 0
2 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/PointsTo/imports/package/x.py:
--------------------------------------------------------------------------------
1 |
2 | from sys import *
3 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/PointsTo/new/Consistency.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/PointsTo/new/PointsToMissing.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/PointsTo/new/code/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/PointsTo/new/code/package/module2.py:
--------------------------------------------------------------------------------
1 | x = 0
2 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/PointsTo/new/code/package/x.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/PointsTo/new/test.py:
--------------------------------------------------------------------------------
1 | from code import *
2 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/encoding/utf8_bom.py:
--------------------------------------------------------------------------------
1 | #Starts with a BOM
2 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/exprs/ast/AstParent.expected:
--------------------------------------------------------------------------------
1 | | 0 |
2 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/crypto/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/cryptodome/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/cryptography/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/dill/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/django-v1/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/django-v2-v3/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/django-v2-v3/testapp/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/django-v2-v3/testapp/migrations/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/django-v2-v3/testproj/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/django/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/fabric/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/flask/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/invoke/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/mysql-connector-python/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/mysqldb/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/pymysql/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/stdlib-py2/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/stdlib-py3/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/stdlib/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/tornado/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/frameworks/yaml/ConceptsTest.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/jump_to_defn/Consistency.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/modules/duplicate_name/test.py:
--------------------------------------------------------------------------------
1 | import sqlite3.dump
2 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/modules/duplicate_name/venv/sqlite3/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/modules/duplicate_name/venv/sqlite3/dump.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/modules/overlapping-paths/outer/inner/imported/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/modules/overlapping-paths/outer/inner/imported/x.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/modules/overlapping-paths/outer/inner/y.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/modules/overlapping-paths/src/package/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/modules/overlapping-paths/src/script.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/modules/spurious_init/root/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/modules/spurious_init/root/src-folder/package/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/modules/spurious_init/root/src-folder/package/module.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/modules/usage/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: -F script
2 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/objects/Literals.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --max-import-depth=1
2 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/stmts/general/AstParent.expected:
--------------------------------------------------------------------------------
1 | | 0 |
2 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/taint/general/TaintConsistency.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/taint/general/printAst.ql:
--------------------------------------------------------------------------------
1 | import semmle.python.PrintAst
2 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/thrift/Test.expected:
--------------------------------------------------------------------------------
1 | | Thrift |
2 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/types/functions/Zope.expected:
--------------------------------------------------------------------------------
1 | | Function Z.yes |
2 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/types/functions/zope/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/library-tests/web/falcon/Sinks.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/queries.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Classes/equals-attr/DefineEqualsWhenAddingAttributes.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Exceptions/general/IllegalRaise.qlref:
--------------------------------------------------------------------------------
1 | Exceptions/IllegalRaise.ql
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Expressions/Arguments/mox.py:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Expressions/general/EqualsNone.qlref:
--------------------------------------------------------------------------------
1 | Expressions/EqualsNone.ql
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Expressions/general/ExplcitCallToDel.expected:
--------------------------------------------------------------------------------
1 | Failure
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Functions/general/NonCls.qlref:
--------------------------------------------------------------------------------
1 | Functions/NonCls.ql
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Functions/general/NonSelf.qlref:
--------------------------------------------------------------------------------
1 | Functions/NonSelf.ql
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Functions/general/mox.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Functions/general/zope/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Imports/PyCheckerTests/test_module.py:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Imports/cyclic-module-package-fp/false-negative/bar/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Imports/cyclic-module-package-fp/true-negative/bar/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Imports/cyclic-module/module4.py:
--------------------------------------------------------------------------------
1 | import module1
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Imports/cyclic-module/module5.py:
--------------------------------------------------------------------------------
1 | import module1
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Imports/cyclic-module/module6.py:
--------------------------------------------------------------------------------
1 | def foo():
2 | import module7
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Imports/cyclic-module/module7.py:
--------------------------------------------------------------------------------
1 | from module1 import a1
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Imports/cyclic-module/typing.py:
--------------------------------------------------------------------------------
1 | TYPE_CHECKING = False
2 |
3 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Imports/general/module1.py:
--------------------------------------------------------------------------------
1 | def func():
2 | pass
3 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Imports/general/module_without_all.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Imports/general/mutable_attr.py:
--------------------------------------------------------------------------------
1 | x = 1
2 | y = 2
3 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Lexical/ToDoComment/ToDoComment.qlref:
--------------------------------------------------------------------------------
1 | Lexical/ToDoComment.ql
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Metrics/imports/DirectImports.qlref:
--------------------------------------------------------------------------------
1 | Metrics/DirectImports.ql
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Metrics/imports/module1.py:
--------------------------------------------------------------------------------
1 | import module2
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Metrics/imports/module3.py:
--------------------------------------------------------------------------------
1 | import module4
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Metrics/imports/module4.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Metrics/lines/CommentRatio.qlref:
--------------------------------------------------------------------------------
1 | Metrics/CommentRatio.ql
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Metrics/lines/FLinesOfCode.qlref:
--------------------------------------------------------------------------------
1 | Metrics/FLinesOfCode.ql
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Metrics/ratios/CommentRatio.qlref:
--------------------------------------------------------------------------------
1 | Metrics/CommentRatio.ql
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Metrics/ratios/DocStringRatio.qlref:
--------------------------------------------------------------------------------
1 | Metrics/DocStringRatio.ql
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Metrics/tests/FNumberOfTests.qlref:
--------------------------------------------------------------------------------
1 | Metrics/FNumberOfTests.ql
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Metrics/tests/pytest.py:
--------------------------------------------------------------------------------
1 | """
2 | Fake pytest module
3 | """
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Numerics/Pythagorean.qlref:
--------------------------------------------------------------------------------
1 | Numerics/Pythagorean.ql
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/CWE-209/ExceptionInfo.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/CWE-215/settings.py:
--------------------------------------------------------------------------------
1 | ALWAYS_TRUE = True
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/Crypto/PublicKey/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/Crypto/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/cryptography/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/cryptography/hazmat/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/cryptography/hazmat/primitives/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/cryptography/hazmat/primitives/asymmetric/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/django/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/django/conf/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/django/db/__init__.py:
--------------------------------------------------------------------------------
1 | connection = object()
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/flask/urls.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/lxml/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/paramiko/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/pyOpenSSL/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/pyramid/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/tornado/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/traceback.py:
--------------------------------------------------------------------------------
1 | def format_exc():
2 | return None
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/twisted/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/twisted/web/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/yaml.py:
--------------------------------------------------------------------------------
1 | def load(s):
2 | pass
3 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Security/lib/zope/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Statements/DocStrings/DocStrings.qlref:
--------------------------------------------------------------------------------
1 | Statements/DocStrings.ql
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Statements/asserts/AssertOnTuple.qlref:
--------------------------------------------------------------------------------
1 | Statements/AssertOnTuple.ql
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Statements/exit/UseOfExit.qlref:
--------------------------------------------------------------------------------
1 | Statements/UseOfExit.ql
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Statements/unreachable_nonlocal/UnreachableCode.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Testing/ImpreciseAssert.qlref:
--------------------------------------------------------------------------------
1 | Testing/ImpreciseAssert.ql
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Variables/general/Global.qlref:
--------------------------------------------------------------------------------
1 | Variables/Global.ql
--------------------------------------------------------------------------------
/python/ql/test/query-tests/Variables/general/ShadowGlobal.qlref:
--------------------------------------------------------------------------------
1 | Variables/ShadowGlobal.ql
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/analysis/Consistency/Consistency.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/analysis/Consistency/Consistency.qlref:
--------------------------------------------------------------------------------
1 | analysis/Consistency.ql
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/analysis/Consistency/package/__init__.py:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/analysis/jump_to_defn/module.py:
--------------------------------------------------------------------------------
1 | foo = 1
2 | bar = 2
3 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/analysis/jump_to_defn/package/mod.py:
--------------------------------------------------------------------------------
1 |
2 | x = 1
3 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/analysis/pointsto/FailedInference.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/analysis/pointsto/KeyPointsToFailure.expected:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/analysis/pointsto/Pruned.expected:
--------------------------------------------------------------------------------
1 | | 1183 |
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/analysis/pointsto/Pruned.qlref:
--------------------------------------------------------------------------------
1 | analysis/Pruned.ql
2 |
--------------------------------------------------------------------------------
/python/ql/test/query-tests/options:
--------------------------------------------------------------------------------
1 | semmle-extractor-options: --max-import-depth=1
2 |
--------------------------------------------------------------------------------